

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# `AWSSupport-TroubleshootWindowsPerformance`
<a name="awssupport-troubleshoot-windows-performance"></a>

 **Descripción** 

 El manual `AWSSupport-TroubleshootWindowsPerformance` ayuda a solucionar los problemas de rendimiento actuales en la instancia Windows de Amazon Elastic Compute Cloud (Amazon EC2). El manual captura los registros de la instancia de destino y analiza las métricas de rendimiento de la CPU, la memoria, el disco y la red. De manera opcional, la automatización puede capturar un volcado de procesos para ayudarlo a determinar la posible causa de la degradación del rendimiento. La automatización también captura los registros de eventos y del sistema con la [`EC2Rescue`](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/Windows-Server-EC2Rescue.html) herramienta más reciente, si permites que este runbook la instale. 

 **¿Cómo funciona?** 

 El runbook lleva a cabo los siguientes pasos: 
+ Comprueba los requisitos previos de la instancia de Amazon EC2.
+ Genera registros de rendimiento en el disco raíz de la instancia Windows de Amazon EC2
+ Almacena los registros capturados en la carpeta `C:\ProgramData\Amazon\SSM\TroubleshootWindowsPerformance`
+ Si se proporciona un bucket de Amazon Simple Storage Service (Amazon S3) y la función de asunción de automatización tiene los permisos necesarios, los registros capturados se cargan en el bucket de Amazon S3.
+ Instala la `EC2Rescue` herramienta más reciente en la instancia de Windows de Amazon EC2 para capturar los eventos y los registros del sistema si decide instalarla, pero no analiza el volcado de procesos ni los registros capturados. `EC2Rescue`

**importante**  
Para ejecutar este manual, la instancia de Windows de Amazon EC2 debe estar gestionada por. AWS Systems Manager Para obtener más información, consulte [ ¿Por qué mi instancia de Amazon EC2 no se muestra como nodo administrado? ](https://repost.aws/knowledge-center/systems-manager-ec2-instance-not-appear)
Para ejecutar este libro de ejecución, la instancia de Windows de Amazon EC2 debe ejecutarse en las versiones Windows 8.1 o Windows Server 2012 R2 (6.3) o posteriores con la versión PowerShell 4.0 o superior. Para obtener más información, consulte la versión del sistema operativo [ Windows. ](https://learn.microsoft.com/en-us/windows/win32/sysinfo/operating-system-version)
Para generar registros de rendimiento, se requieren al menos 10 GB de espacio libre en el dispositivo raíz. Si el disco raíz supera los 100 GB, el espacio libre debe superar el 10% del tamaño del disco. Si vuelcas un proceso durante la ejecución, el espacio libre debe ser superior a 10 GB más el tamaño total de memoria consumido por el proceso cuando el proceso consume más de 10 GB de memoria.
Los registros generados en el dispositivo raíz no se eliminan automáticamente.
El runbook no desinstala la `EC2Rescue` herramienta. Para obtener más información, consulte [ Uso `EC2Rescue` para Windows Server](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/Windows-Server-EC2Rescue.html).
Se recomienda ejecutar esta automatización cuando se produzca un impacto en el rendimiento. También puede ejecutarla periódicamente mediante una asociación de AWS Systems Manager State Manager o programando ventanas AWS Systems Manager de mantenimiento.

 [Ejecuta esta automatización (consola)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-TroubleshootWindowsPerformance) 

**Tipo de documento**

Automatización

**Propietario**

Amazon

**Plataformas**

Windows

**Parámetros**

**Permisos de IAM necesarios**

El parámetro `AutomationAssumeRole` requiere las siguientes acciones para utilizar el manual de procedimientos correctamente.
+ `ec2:DescribeInstances`
+ `ssm:DescribeAutomationExecutions`
+ `ssm:DescribeInstanceInformation`
+ `ssm:GetAutomationExecution`
+ `ssm:ListCommands`
+ `ssm:ListCommandInvocations`
+ `ssm:SendCommand`
+ `s3:ListBucket`
+ `s3:GetEncryptionConfiguration`
+ `s3:GetBucketPublicAccessBlock`
+ `s3:GetBucketPolicyStatus`
+ `s3:PutObject`
+ `s3:GetBucketAcl`
+ `s3:GetAccountPublicAccessBlock`

 *(Opcional) La función de IAM asociada al perfil de la instancia o al usuario de IAM configurado en la instancia requiere las siguientes acciones para cargar los registros en el bucket de Amazon S3 especificado para el parámetro: `LogUploadBucketName` * 
+ `s3:PutObject`
+ `s3:GetObject`
+ `s3:ListBucket`

 **Instrucciones** 

Siga estos pasos para configurar la automatización:

1. Diríjase a [`AWSSupport-TroubleshootWindowsPerformance`](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-TroubleshootWindowsPerformance/description) la sección Documentos del administrador de sistemas.

1. Elija Execute automation (Ejecutar automatización).

1. Para los parámetros de entrada, introduzca lo siguiente:
   + **AutomationAssumeRole (Opcional): **

     El nombre de recurso de Amazon (ARN) del rol AWS AWS Identity and Access Management (IAM) que permite a Systems Manager Automation realizar las acciones en su nombre. Si no se especifica ningún rol, Systems Manager Automation utiliza los permisos del usuario que inicia este libro de ejecución.
   + **InstanceId (Obligatorio): **

     El ID de la instancia Windows de Amazon EC2 de destino en la que desea ejecutar la automatización. Systems Manager debe administrar la instancia para ejecutar la automatización.
   + **CaptureProcessDump (Opcional): **

     El tipo de volcado de procesos que se va a capturar. La automatización puede capturar un volcado de proceso para el proceso que podría afectar al rendimiento al principio de la automatización. El volumen raíz de la instancia requiere al menos 10 GB de espacio libre (más del 10% del tamaño del disco cuando el tamaño del volumen raíz es superior a 100 GB, y 10 GB más el tamaño total de memoria consumido por el proceso cuando el proceso consume más de 10 GB de memoria).
   + **LogCaptureDuration (Opcional): **

     La cantidad de minutos, entre `1` y`15`, durante los que esta automatización capturará los registros mientras el problema esté presente. El valor predeterminado es `5`.
   + **LogUploadBucketName (Opcional): **

     El bucket de Amazon S3 de su cuenta en el que desea cargar los registros. El bucket debe configurarse con cifrado del lado del servidor (SSE) y la política del bucket no debe conceder read/write permisos innecesarios a las partes que no necesitan acceder a los registros capturados. La instancia Windows de Amazon EC2 debe tener acceso al bucket de Amazon S3.
   + **InstallEC2RescueTool (Opcional): **

     `Yes`Configúrelo para permitir que el Runbook instale la versión más reciente de la `EC2Rescue` herramienta para capturar los registros del sistema y los eventos de Windows. El valor predeterminado es `No`.
   + **Reconocimiento (obligatorio): **

     Lea los detalles completos de las acciones realizadas por este manual de automatización y, si está de acuerdo, escríbalo. `Yes, I understand and acknowledge`  
![Formulario de parámetros de entrada con campos para InstanceId, AutomationAssumeRole CaptureProcessDump, y otras opciones de configuración.](https://docs.aws.amazon.com/es_es/systems-manager-automation-runbooks/latest/userguide/images/awssupport-troubleshoot-windows-performance_input_parameters.png)

1. Seleccione Ejecutar.

1. Se inicia la automatización.

1. Este documento realiza los siguientes pasos:
   + **`CheckConcurrency:`**

     Garantiza que solo haya una ejecución de este runbook dirigida a la instancia. Si el libro de ejecución encuentra otra ejecución dirigida a la misma instancia, devuelve un error y finaliza.
   + **`AssertInstanceIsWindows:`**

     Afirma que la instancia de Amazon EC2 se ejecuta en el sistema operativo Windows. De lo contrario, la automatización finaliza.
   + **`AssertInstanceIsManagedInstance:`**

     Afirma que la instancia Amazon EC2 está gestionada por. AWS Systems Manager De lo contrario, la automatización finaliza.
   + **`VerifyPrerequisites:`**

     Verifica la PowerShell versión del sistema operativo de la instancia y se asegura de que la instancia se pueda conectar a través de Systems Manager para ejecutar PowerShell los comandos. Esta automatización admite la PowerShell versión 4.0 y superior que se ejecuta en las versiones Windows 8.1 o Server 2012 R2 (6.3) o posteriores. Si la versión es anterior, se produce un error en la automatización. Cuando decide cargar los registros en el bucket de Amazon S3, esta automatización comprueba que el PowerShell módulo AWS Tools for esté disponible. De lo contrario, la automatización finaliza.
   + **`BranchOnProcessDump:`**

     Se ramifica en función de si lo configuras para capturar la cantidad de procesos que afectaron al rendimiento.
   + **`CaptureProcessDump:`**

     Comprueba si la instancia tiene suficiente espacio para ejecutar esta automatización (cuando eliges la cantidad más alta de CPU o memoria).
   + **`CapturePerformanceLogs:`**

     Vuelve a comprobar el espacio en disco y ejecuta el PowerShell script en la instancia para crear contadores de rendimiento e iniciar los registros de Performance Monitor y Windows Performance Recorder. El script se detiene cuando `LogCaptureDuration` se cumple lo definido.
   + **`SummarizePerformanceLogs:`**

     Resume el informe XML generado en el paso anterior para encontrar el proceso responsable que consume más del WorkingSet 64% (memoria) y el% de tiempo de procesador (CPU) que se muestra como resultado de la automatización. `CapturePerformanceLogs` Genera información similar sobre el uso de la interfaz de red LogicalDisk, la memoria, TCPv4, IPv4 y UDPv4 y la guarda en la carpeta de salida. `analysis_output.log`
   + **`BranchOnInstallEC2Rescue:`**

     Se ramifica si la configuras para instalar la `EC2Rescue` herramienta más reciente en la instancia de Amazon EC2. 
   + **`InstallEC2RescueTool:`**

     Instala la `EC2Rescue` herramienta en el sistema operativo de la instancia para capturar los `EC2Rescue` registros mediante. `AWS-ConfigureAWSPackage`
   + **`RunEC2RescueTool:`**

     Ejecuta la `EC2Rescue` herramienta en el sistema operativo de la instancia para capturar todos los registros necesarios. `EC2Rescue`captura solo los registros necesarios para ahorrar espacio.
   + **`BranchOnIfS3BucketProvided:`**

     Se ramifica en función de los datos introducidos por el usuario `LogUploadBucketName` para ver si hay un nombre de bucket disponible para subir los registros.
   + **`GetS3BucketPublicStatus:`**

     Determina si se proporciona un bucket de Amazon S3 y, de ser así, confirma que el bucket de Amazon S3 no es público y está configurado con SSE.
   + **`UploadLogResult:`**

     Carga los registros en el bucket de Amazon S3 proporcionado. Si la PowerShell versión es 5.0 o superior, comprime los registros en un archivo ZIP y los carga. Elimina el archivo ZIP una vez finalizada la carga. Si la PowerShell versión es inferior a la 5.0, sube los archivos directamente a una carpeta.
   + **`CleanUpLogsOnFailure:`**

     Limpia todos los registros generados por el `CapturePerformanceLogs` paso cuando se produce un error. Es posible que el `CleanUpLogsOnFailure` paso falle o se agote el tiempo de espera si el agente SSM no funciona correctamente o el sistema Windows no responde.

1. Una vez completado, consulta la sección Salidas para ver los resultados detallados de la ejecución:

   Ejecución en la que la instancia de destino reúne todos los requisitos previos necesarios.  
![La sección de resultados muestra los resultados correctos de la captura del registro de rendimiento y de la ejecución de la herramienta EC2Rescue.](https://docs.aws.amazon.com/es_es/systems-manager-automation-runbooks/latest/userguide/images/awssupport-troubleshoot-windows-performance_outputs_all_prerequisites_met.png)

   Ejecución en la que la instancia de destino está en una plataforma Linux y se produjo un error en la ejecución. Debe seleccionar el ID del paso para ver los detalles del error.  
![El estado de ejecución muestra 2 pasos: CheckConcurrency exitoso, AssertInstanceIsWindows fallido.](https://docs.aws.amazon.com/es_es/systems-manager-automation-runbooks/latest/userguide/images/awssupport-troubleshoot-windows-performance_outputs_failed_linux_instance.png)

   Los detalles del paso en el que se produjo el error`AssertInstanceIsWindows`.  
![Se muestra un mensaje de error que muestra el valor de Linux devuelto en lugar del valor esperado de Windows.](https://docs.aws.amazon.com/es_es/systems-manager-automation-runbooks/latest/userguide/images/awssupport-troubleshoot-windows-performance_outputs_assert_windows_fail.png)

 **Referencias** 

Automatización de Systems Manager
+ [Ejecuta esta automatización (consola)](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-TroubleshootWindowsPerformance/description)
+ [Ejecución de una automatización](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-working-executing.html)
+ [Configuración de Automatización](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-setup.html)
+ [Página de inicio de Support Automation Workflows](https://aws.amazon.com/premiumsupport/technology/saw/)