AWSSupport-TroubleshootCloudWatchAlarm - 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-TroubleshootCloudWatchAlarm

Description

Le AWSSupport-TroubleshootCloudWatchAlarm runbook permet d'identifier et de résoudre les problèmes liés à des alarmes Amazon CloudWatch () CloudWatch mal configurées ou problématiques. Il utilise une logique d'évaluation des alarmes publique AWS APIs et connue pour détecter les points de données retardés ou manquants dans les métriques surveillées, ce qui peut entraîner des actions d'alarme manquées ou retardées. Ce runbook propose une approche structurée pour étudier et résoudre les problèmes liés à Amazon CloudWatch (CloudWatch) Alarm.

Comment fonctionne-t-il ?

Le runbook AWSSupport-TroubleshootCloudWatchAlarm exécute les étapes suivantes :

  • Vérifie les détails de l'alarme Amazon CloudWatch (CloudWatch) et la valeur du AlarmTriggerTimestamp paramètre pour vérifier si elle se situe dans les 2 592 000 secondes (30 jours).

  • Vérifie si une alarme est basée sur une métrique ou des mathématiques métriques ou s'il s'agit d'une alarme de détection d'anomalie.

  • Vérifie si l'état des données d'une alarme est insuffisant.

  • Vérifie si la ou les métriques utilisées dans l'alarme correspondent à ListMetrics la valeur.

  • Vérifie s'il manquait un ou plusieurs points de données à une métrique à un horodatage donné.

  • Obtient l'historique le plus récent pour un horodatage donné.

  • Vérifie si une alarme ne s'est pas déclenchée en raison d'un ou de plusieurs indicateurs retardés ou manqués.

  • Vérifie si les actions activées d'une alarme ont was/were été effectuées.

  • Génère un rapport de dépannage combinant tous les résultats de diagnostic.

Exécuter cette automatisation (console)

Type de document

 Automatisation

Propriétaire

Amazon

Plateformes

Linux,macOS, Windows

Paramètres

Autorisations IAM requises

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

  • cloudwatch:DescribeAlarms

  • cloudwatch:DescribeAlarmHistory

  • cloudwatch:DescribeAnomalyDetectors

  • cloudwatch:GetMetricData

  • cloudwatch:GetMetricStatistics

  • cloudwatch:ListMetrics

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Action": [ "cloudwatch:DescribeAlarms", "cloudwatch:DescribeAlarmHistory", "cloudwatch:DescribeAnomalyDetectors", "cloudwatch:GetMetricData", "cloudwatch:GetMetricStatistics", "cloudwatch:ListMetrics" ], "Resource": "*" } ] }

Instructions

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

  1. Accédez AWSSupport-TroubleshootCloudWatchAlarmà 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) :

      • Type : String

      • Description : (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.

    • CloudWatchMetricAlarmName (Obligatoire) :

      • Type : String

      • Description : (Obligatoire) Nom de l'alarme métrique Amazon CloudWatch (CloudWatch) à résoudre.

      • Modèle autorisé : ^[a-zA-Z0-9.:;,\\-_&() ]{1,255}$

    • AlarmTriggerTimestamp (Obligatoire) :

      • Type : String

      • Description : (Obligatoire) Horodatage UTC lorsque le problème d'alarme s'est produit. Ces informations sont cruciales pour résoudre le problème et comprendre le contexte dans lequel il s'est produit. La valeur d'horodatage doit être une heure comprise dans les 30 derniers jours à compter d'aujourd'hui et au format. YYYY-MM-DDTHH:mm:ssZ Exemple : 2024-10-29T09:04:00Z

      • Modèle autorisé : ^(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2})Z$

  4. Sélectionnez Exécuter.

  5. L'automatisation démarre.

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

    • VerifyRunbookInputs

      Vérifie les détails de l'alarme Amazon CloudWatch (CloudWatch) et la valeur du AlarmTriggerTimestamp paramètre pour vérifier si elle se situe dans les 2 592 000 secondes (30 jours).

    • UpdateSSMDocumentInputChecksVariable

      Met à jour la variable SSMDocumentInputChecks avec la valeur SSMDocumentInputChecks de VerifyRunbookInputs l'étape.

    • BranchOnAlarmIsVerified

      Branches sur la vérification des entrées de Runbook AlarmTriggerTimestamp et. CloudWatchAlarmName

    • CheckMetricAlarmType

      Vérifie si une alarme est basée sur une métrique ou des mathématiques métriques ou s'il s'agit d'une alarme de détection d'anomalie.

    • CheckAlarmInInsufficientDataState

      Vérifie si l'état des données d'une alarme est insuffisant.

    • UpdateInsufficientDataChecksVariable

      Met à jour la variable InsufficientDataChecks avec la valeur InsufficientDataChecks de CheckAlarmInInsufficientDataState l'étape.

    • BranchOnAlarmHasInsufficientData

      Branche sur la AlarmHasInsufficientData valeur de l'CheckAlarmInInsufficientDataStateétape, l'étape par défaut estCheckMetricMismatch.

    • CheckMetricMismatch

      Vérifie si la ou les métriques utilisées dans l'alarme correspondent à ListMetrics la valeur.

    • UpdateMetricMismatchChecksVariable

      Met à jour la variable MetricMismatchChecks avec la valeur MetricMismatchChecks de CheckMetricMismatch l'étape.

    • BranchOnMetricsMatched

      Branche sur la MetricsMatched valeur de l'CheckMetricMismatchétape, l'étape par défaut estCheckMissingDatapoint.

    • CheckMissingDatapoint

      Vérifie s'il manquait un ou plusieurs points de données à une métrique à un horodatage donné.

    • UpdateMetricMissingDatapointsChecksVariable

      Met à jour la variable MetricMissingDatapointsChecks avec la valeur MetricMissingDatapointsChecks de CheckMissingDatapoint l'étape.

    • BranchOnMetricMissingDatapoint

      Branche sur la MetricMissingDatapoint valeur de l'CheckMissingDatapointétape, l'étape par défaut estGetAlarmHistoryDetails.

    • GetAlarmHistoryDetails

      Obtient l'historique le plus récent pour un horodatage donné.

    • UpdateAlarmHistoryChecksVariable

      Met à jour la variable AlarmHistoryChecks avec la valeur AlarmHistoryChecks de GetAlarmHistoryDetails l'étape.

    • BranchOnAlarmHistoryFound

      Branche sur la AlarmHistoryFound valeur de l'GetAlarmHistoryDetailsétape, l'étape par défaut estCheckDelayedMetric.

    • CheckDelayedMetric

      Vérifie si une alarme ne s'est pas déclenchée en raison d'un ou de plusieurs indicateurs retardés ou manqués.

    • UpdateDelayedMetricChecksVariable

      Met à jour la variable DelayedMetricChecks avec la valeur DelayedMetricChecks de CheckDelayedMetric l'étape.

    • BranchOnMetricDelayedAndDatapointsMeetThreshold

      Branche sur l'étape MetricDelayed et DatapointsMeetThreshold les valeurs de l'CheckDelayedMetricétape, l'étape par défaut estGenerateReport.

    • CheckActionDelivered

      Vérifie si les actions activées d'une alarme ont was/were été effectuées.

    • UpdateActionDeliveredChecksVariable

      Met à jour la variable ActionDeliveredChecks avec le résultat ActionDeliveredChecks de CheckActionDelivered l'étape.

    • GenerateReport

      Compile le résultat des étapes précédentes et produit un rapport.

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

    • GenerateReport.Rapport

      Un rapport de l'alarme métrique Amazon CloudWatch (CloudWatch) fournie.

                    ------------------------------------------------------------------------------------------
                    |                     AWS CloudWatch Alarm Troubleshooting Results                       |
                    ------------------------------------------------------------------------------------------
                    |     Alarm Name                        -               Demo-Alarm                       |
                    |     Timestamp                         -               2025-03-04T06:31:00Z             |
                    ------------------------------------------------------------------------------------------
                    |     ✅ No Issue(s) Found                                                               |
                    ------------------------------------------------------------------------------------------
    
    
    
                    ==========================================================================================
                    1. Validating SSM Document input parameters:
                    ==========================================================================================
                    ✅ [PASSED]: Found a metric alarm with name Demo-Alarm
    
    
                    ==========================================================================================
                    2. Checking alarm's data state:
                    ==========================================================================================
                    ✅ [PASSED]: The alarm is not in INSUFFICIENT_DATA state, alarm's state is: ALARM
    
    
                    ==========================================================================================
                    3. Checking if the alarm experienced metric mismatches:
                    ==========================================================================================
                    ✅ [PASSED]: Metric matches with the configured metric for Alarm.
    
    
                    ==========================================================================================
                    4. Checking if the alarm's metric(s) experienced missing datapoint(s):
                    ==========================================================================================
                    ✅ [PASSED]: Metric has datapoints
    
    
                    ==========================================================================================
                    5. Retrieving alarm's history for timestamp 2025-03-04T06:31:00Z:
                    ==========================================================================================
                    ✅ [PASSED]: Found most recent alarm history item for the provided timestamp: '2025-03-04T06:31:00Z'
    
    
                    ==========================================================================================
                    6. Checking if the alarm experienced metric delays or the alarm's datapoint(s) did not meet the configured threshold:
                    ==========================================================================================
                    ✅ [PASSED]: CloudWatch alarm did not experience any delayed metric
    
    
                    ==========================================================================================
                    7. Checking if the alarm has actions enabled and if action(s) were delivered:
                    ==========================================================================================
                    ✅ [PASSED]: Successfully executed action arn:aws:sns:us-east-1:12345678910:Demo_Alarms_Topic
    
    
                    ------------------------------------------------------------------------------------------
    
                    ✅ All the checks have passed for CloudWatch alarm, Demo-Alarm, the alarm's configuration is correct.
                

Références

Systems Manager Automation