AWSSupport-TroubleshootWindowsPerformance - AWS Systems Manager Guide de 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 (Amazon EC2). Le runbook capture les journaux de l'instance cible et analyse les indicateurs de performance du processeur, de la mémoire, 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 prérequis de l'instance Amazon EC2.

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

  • 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 Windows Amazon EC2 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 par. EC2Rescue

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

  • Pour exécuter ce runbook, l'instance Windows Amazon EC2 doit être exécutée sur les versions Windows 8.1/Windows Server 2012 R2 (6.3) ou plus récentes, 4.0 ou PowerShell supérieures. 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

Autorisations IAM 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 rôle IAM attaché au profil d'instance ou l'utilisateur IAM 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) :

      Amazon Resource Name (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 Windows Amazon EC2 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 le 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 Windows Amazon EC2 doit avoir accès au compartiment Amazon S3.

    • Installez EC2 RescueTool (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.

  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'instance Amazon EC2 s'exécute sur le système d'exploitation Windows. Dans le cas contraire, l'automatisation prend fin.

    • AssertInstanceIsManagedInstance:

      Affirme que l'instance Amazon EC2 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 Highest CPU/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 rapport XML 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 LogicalDisk, de la mémoire, de TCPv4, IPv4 et UDPv4 et les enregistre dans le dossier de analysis_output.log sortie.

    • BranchOnInstallEC2Rescue:

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

    • 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é avec SSE.

    • 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 archive ZIP et les télécharge. Il supprime le fichier ZIP 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 l'agent SSM 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.

    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.

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

Références

Systems Manager Automation