AWSSupport-TroubleshootWindowsPerformance - AWS Systems Manager Référence du manuel d'automatisation

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

AWSSupport-TroubleshootWindowsPerformance

Description

Le runbook AWSSupport-TroubleshootWindowsPerformance permet de résoudre les problèmes de performances récurrents sur l'instance Windows Amazon Elastic Compute Cloud EC2 (Amazon). Le runbook capture les journaux de l'instance cible et analyse les indicateurs de performance de la mémoireCPU, du disque et du réseau. L'automatisation peut éventuellement capturer un vidage du processus pour vous aider à déterminer la cause potentielle de la dégradation des performances. L'automatisation capture également les journaux des événements et du système à l'aide de l'EC2Rescueoutil le plus récent, si vous autorisez ce runbook à l'installer.

Comment fonctionne-t-il ?

Le runbook exécute les étapes suivantes :

  • Vérifie les conditions préalables de l'EC2instance Amazon.

  • Génère des journaux de performance sur le disque racine de l'instance Amazon EC2 Windows

  • Stocke les journaux capturés dans un dossier C:\ProgramData\Amazon\SSM\TroubleshootWindowsPerformance

  • Si un compartiment Amazon Simple Storage Service (Amazon S3) est fourni et que le rôle d'automatisation assume les autorisations requises, les journaux capturés sont chargés dans le compartiment Amazon S3.

  • Installe le dernier EC2Rescue outil sur l'instance Amazon EC2 Windows pour capturer les événements et les journaux système si vous choisissez de l'installer, mais il n'analyse pas le vidage du processus ni les journaux capturés parEC2Rescue.

Important
  • Pour exécuter ce runbook, l'instance Amazon EC2 Windows doit être gérée par AWS Systems Manager. Pour plus d'informations, consultez Pourquoi mon EC2 instance Amazon ne s'affiche-t-elle pas en tant que nœud géré ?

  • Pour exécuter ce runbook, l'instance Amazon EC2 Windows doit être exécutée sur les versions Windows 8.1/Windows Server 2012 R2 (6.3) ou plus récentes avec PowerShell 4.0 ou version ultérieure. Pour plus d'informations, voir Version du système d'exploitation Windows.

  • Pour générer des journaux de performance, au moins 10 Go d'espace libre sur le périphérique racine sont nécessaires. Si la taille du disque racine est supérieure à 100 Go, l'espace libre doit être supérieur à 10 % de la taille du disque. Si vous videz un processus en cours d'exécution, l'espace libre doit être supérieur à 10 Go plus la taille de mémoire totale consommée par le processus lorsque celui-ci consomme plus de 10 Go de mémoire.

  • Les journaux générés sur le périphérique racine ne sont pas supprimés automatiquement.

  • Le runbook ne désinstalle pas l'EC2Rescueoutil. Pour plus d'informations, consultez la section Utiliser EC2Rescue pour Windows Server.

  • Il est recommandé d'exécuter cette automatisation en cas d'impact sur les performances. Vous pouvez également l'exécuter périodiquement à l'aide d'une association AWS Systems Manager State Manager ou en planifiant des fenêtres de AWS Systems Manager maintenance.

Exécuter cette automatisation (console)

Type de document

 Automatisation

Propriétaire

Amazon

Plateformes

Windows

Paramètres

IAMAutorisations requises

Le AutomationAssumeRole paramètre nécessite les actions suivantes pour utiliser correctement le runbook.

  • 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

(Facultatif) Le IAM rôle attaché au profil d'instance ou à IAM l'utilisateur configuré sur l'instance nécessite les actions suivantes pour télécharger les journaux dans le compartiment Amazon S3 spécifié pour le paramètre LogUploadBucketName :

  • s3:PutObject

  • s3:GetObject

  • s3:ListBucket

Instructions

Pour configurer l'automatisation, procédez comme suit :

  1. Accédez AWSSupport-TroubleshootWindowsPerformanceà Systems Manager sous Documents.

  2. Sélectionnez Execute automation (Exécuter l'automatisation).

  3. Pour les paramètres d'entrée, entrez ce qui suit :

    • AutomationAssumeRole (Facultatif) :

      Le nom de ressource Amazon (ARN) du rôle AWS AWS Identity and Access Management (IAM) qui permet à Systems Manager Automation d'effectuer les actions en votre nom. Si aucun rôle n'est spécifié, Systems Manager Automation utilise les autorisations de l'utilisateur qui lance ce runbook.

    • InstanceId (Obligatoire) :

      L'ID de l'instance Amazon EC2 Windows cible sur laquelle vous souhaitez exécuter l'automatisation. L'instance doit être gérée par Systems Manager pour exécuter l'automatisation.

    • CaptureProcessDump (Facultatif) :

      Type de vidage du processus à capturer. L'automatisation peut capturer un vidage du processus susceptible d'avoir un impact sur les performances au début de l'automatisation. Le volume racine de l'instance nécessite au moins 10 Go d'espace libre (plus de 10 % de la taille du disque lorsque la taille du volume racine est supérieure à 100 Go, et 10 Go plus la taille de mémoire totale consommée par le processus lorsque le processus consomme plus de 10 Go de mémoire).

    • LogCaptureDuration (Facultatif) :

      Le nombre de minutes, entre 1 et15, pendant lesquelles cette automatisation capturera les journaux tant que le problème persiste. La valeur par défaut est 5.

    • LogUploadBucketName (Facultatif) :

      Le compartiment Amazon S3 de votre compte dans lequel vous souhaitez télécharger les journaux. Le compartiment doit être configuré avec un chiffrement côté serveur (SSE), et la politique du compartiment ne doit pas accorder d'autorisations de lecture/écriture inutiles aux parties qui n'ont pas besoin d'accéder aux journaux capturés. L'instance Amazon EC2 Windows doit avoir accès au compartiment Amazon S3.

    • Installation EC2RescueTool (facultatif) :

      Définissez ce paramètre Yes sur pour permettre au runbook d'installer la dernière version de l'EC2Rescueoutil permettant de capturer les événements Windows et les journaux système. La valeur par défaut est No.

    • Reconnaissance (obligatoire) :

      Lisez les détails complets des actions effectuées par ce manuel d'automatisation et, si vous êtes d'accord, tapezYes, I understand and acknowledge.

    Input parameters form for troubleshooting Amazon EC2 Windows instance performance issues.
  4. Sélectionnez Exécuter.

  5. L'automatisation démarre.

  6. Le document exécute les étapes suivantes :

    • CheckConcurrency:

      Garantit qu'il n'y a qu'une seule exécution de ce runbook ciblant l'instance. Si le runbook trouve une autre exécution ciblant la même instance, il renvoie une erreur et se termine.

    • AssertInstanceIsWindows:

      Affirme que l'EC2instance Amazon s'exécute sur le système d'exploitation Windows. Dans le cas contraire, l'automatisation prend fin.

    • AssertInstanceIsManagedInstance:

      Affirme que l'EC2instance Amazon est gérée par AWS Systems Manager. Dans le cas contraire, l'automatisation prend fin.

    • VerifyPrerequisites:

      Vérifie la PowerShell version sur le système d'exploitation de l'instance et garantit que l'instance peut être connectée via Systems Manager pour exécuter des PowerShell commandes. Cette automatisation prend en charge les versions PowerShell 4.0 et supérieures exécutées sur les versions Windows 8.1 /Server 2012 R2 (6.3) ou plus récentes. Si la version est plus ancienne, l'automatisation échoue. Lorsque vous choisissez de télécharger des journaux dans le compartiment Amazon S3, cette automatisation vérifie que le PowerShell module AWS Tools for est disponible. Dans le cas contraire, l'automatisation prend fin.

    • BranchOnProcessDump:

      Branches basées sur le fait que vous l'avez configuré pour capturer le vidage des processus ayant un impact sur les performances.

    • CaptureProcessDump:

      Vérifie si l'instance dispose de suffisamment d'espace pour exécuter cette automatisation (lorsque vous choisissez HighestCPU/Memory).

    • CapturePerformanceLogs:

      Vérifie à nouveau l'espace disque et exécute le PowerShell script sur l'instance pour créer des compteurs de performances et démarrer la journalisation de Performance Monitor et Windows Performance Recorder. Le script s'arrête une fois que la valeur définie LogCaptureDuration est atteinte.

    • SummarizePerformanceLogs:

      Résume le XML rapport généré à l'étape précédenteCapturePerformanceLogs, pour trouver le processus responsable consommant le plus de WorkingSet 64 (mémoire) et le % de temps processeur (CPU) indiqués en sortie sur l'automatisation. Il génère des informations similaires pour l'utilisation de l'interface réseau LogicalDiskTCPv4, de la mémoireIPv4, UDPv4 et les enregistre analysis_output.log dans le dossier de sortie.

    • BranchOnInstallEC2Rescue:

      Branches si vous le configurez pour installer le dernier EC2Rescue outil dans l'EC2instance Amazon.

    • InstallEC2RescueTool:

      Installe l'EC2Rescueoutil dans le système d'exploitation de l'instance pour capturer les EC2Rescue journaux à l'aide AWS-ConfigureAWSPackage de.

    • RunEC2RescueTool:

      Exécute l'EC2Rescueoutil dans le système d'exploitation de l'instance pour capturer tous les journaux nécessaires. EC2Rescuecapture uniquement les journaux nécessaires pour économiser de l'espace.

    • BranchOnIfS3BucketProvided:

      Branches basées sur les informations saisies par l'utilisateur LogUploadBucketName pour voir s'il existe un nom de compartiment disponible pour le téléchargement des journaux.

    • GetS3BucketPublicStatus:

      Détermine si un compartiment Amazon S3 est fourni et, dans l'affirmative, confirme que le compartiment Amazon S3 n'est pas public et qu'il est configuré avecSSE.

    • UploadLogResult:

      Télécharge les journaux dans le compartiment Amazon S3 fourni. Si la PowerShell version est 5.0 ou supérieure, elle compresse les journaux dans une ZIP archive et les télécharge. Il supprime le ZIP fichier une fois le téléchargement terminé. Si la PowerShell version est inférieure à 5.0, elle télécharge les fichiers directement dans un dossier.

    • CleanUpLogsOnFailure:

      Nettoie tous les journaux générés par l'CapturePerformanceLogsétape en cas d'échec. L'CleanUpLogsOnFailureétape peut échouer ou expirer si SSM l'agent ne fonctionne pas correctement ou si le système Windows ne répond pas.

  7. Une fois terminé, consultez la section Sorties pour obtenir les résultats détaillés de l'exécution :

    Exécution lorsque l'instance cible possède tous les prérequis requis.

    Output logs showing performance capture process, EC2Rescue completion, and top CPU/memory usage processes.

    Exécution lorsque l'instance cible se trouve sur une plate-forme Linux et que l'exécution a échoué. Vous devez sélectionner l'ID de l'étape pour voir les détails de l'échec.

    Execution status showing failed overall status with 2 executed steps, 1 succeeded and 1 failed.

    Les détails de l'échec de l'étapeAssertInstanceIsWindows.

    Failure details showing verification error for Linux property value instead of Windows.

Références

Systems Manager Automation