AWSSupport-TroubleshootCloudWatchAlarm - AWS Systems Manager 自動化ランブックリファレンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWSSupport-TroubleshootCloudWatchAlarm

説明

AWSSupport-TroubleshootCloudWatchAlarm ランブックは、設定ミスや問題のある Amazon CloudWatch (CloudWatch) アラームの問題を特定してトラブルシューティングするのに役立ちます。 AWS APIsと既知のアラーム評価ロジックを活用して、モニタリング対象メトリクスのデータポイントの遅延や欠落を検出します。これにより、アラームアクションの欠落や遅延が発生する可能性があります。このランブックは、Amazon CloudWatch (CloudWatch) アラーム関連の問題を調査して解決するための構造化されたアプローチを提供します。

動作の仕組み

ランブックは次のステップAWSSupport-TroubleshootCloudWatchAlarmを実行します。

  • Amazon CloudWatch (CloudWatch) アラームの詳細と AlarmTriggerTimestampパラメータの値を検証して、2,592,000 秒 (30 日) 以内かどうかを確認します。

  • アラームが Metric または Metric Math に基づいているか、または Anomaly Detector アラームであるかどうかを確認します。

  • アラームのデータ不足がないかどうかを確認します。

  • アラームで使用されるメトリクス (複数可) がListMetrics値と一致するかどうかを確認します。

  • 特定のタイムスタンプでメトリクスにデータポイント (複数可) がないかどうかを確認します。

  • 特定のタイムスタンプの最新の履歴を取得します。

  • メトリクスの遅延または欠落 (複数可) が原因でアラームがトリガーされなかったかどうかを確認します。

  • アラームの有効なアクション (複数可) が配信されたかどうかを確認します。

  • すべての診断結果を組み合わせたトラブルシューティングレポートを生成します。

このオートメーションを実行する (コンソール)

ドキュメントタイプ

Automation

[所有者]

Amazon

[Platforms] (プラットフォーム)

Linux、macOS、Windows

パラメータ

必要な IAM アクセス許可

AutomationAssumeRole パラメータでは、ランブックを正常に使用するために、次のアクションが必要です。

  • 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": "*" } ] }

指示

次の手順に従って自動化を設定します。

  1. ドキュメントの Systems Manager AWSSupport-TroubleshootCloudWatchAlarmで に移動します。

  2. [Execute automation] (オートメーションを実行) を選択します。

  3. 入力パラメータには、次のように入力します。

    • AutomationAssumeRole(オプション):

      • 型: String

      • 説明: (オプション) Systems Manager Automation がユーザーに代わってアクションを実行できるようにする AWS AWS Identity and Access Management (IAM) ロールの Amazon リソースネーム (ARN)。ロールが指定されていない場合、Systems Manager Automation は、このランブックを開始するユーザーのアクセス許可を使用します。

    • CloudWatchMetricAlarmName (必須):

      • 型: String

      • 説明: (必須) トラブルシューティングする Amazon CloudWatch (CloudWatch) メトリクスアラームの名前。

      • 許可されたパターン: ^[a-zA-Z0-9.:;,\\-_&() ]{1,255}$

    • AlarmTriggerTimestamp (必須):

      • 型: String

      • 説明: (必須) アラームの問題が発生したときの UTC タイムスタンプ。この情報は、問題をトラブルシューティングし、発生したコンテキストを理解するために不可欠です。タイムスタンプ値は、今日から過去 30 日以内の時刻で、 の形式である必要がありますYYYY-MM-DDTHH:mm:ssZ。例: 2024-10-29T09:04:00Z

      • 許可されたパターン: ^(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2})Z$

  4. [実行] を選択します。

  5. 自動化が開始されます。

  6. ドキュメントは以下のステップを実行します。

    • VerifyRunbookInputs

      Amazon CloudWatch (CloudWatch) アラームの詳細と AlarmTriggerTimestampパラメータの値を検証して、2,592,000 秒 (30 日) 以内かどうかを確認します。

    • UpdateSSMDocumentInputChecksVariable

      VerifyRunbookInputs ステップSSMDocumentInputChecksの値SSMDocumentInputChecksで変数を更新します。

    • BranchOnAlarmIsVerified

      Runbook の入力検証AlarmTriggerTimestampと の分岐CloudWatchAlarmName

    • CheckMetricAlarmType

      アラームが Metric または Metric Math に基づいているか、または Anomaly Detector アラームであるかどうかを確認します。

    • CheckAlarmInInsufficientDataState

      アラームのデータ不足がないかどうかを確認します。

    • UpdateInsufficientDataChecksVariable

      CheckAlarmInInsufficientDataState ステップInsufficientDataChecksの値InsufficientDataChecksで変数を更新します。

    • BranchOnAlarmHasInsufficientData

      CheckAlarmInInsufficientDataState ステップAlarmHasInsufficientDataの値の分岐。デフォルトのステップは ですCheckMetricMismatch

    • CheckMetricMismatch

      アラームで使用されるメトリクス (複数可) がListMetrics値と一致するかどうかを確認します。

    • UpdateMetricMismatchChecksVariable

      CheckMetricMismatch ステップMetricMismatchChecksの値MetricMismatchChecksで変数を更新します。

    • BranchOnMetricsMatched

      CheckMetricMismatch ステップMetricsMatchedの値の分岐。デフォルトのステップは ですCheckMissingDatapoint

    • CheckMissingDatapoint

      特定のタイムスタンプでメトリクスにデータポイント (複数可) がないかどうかを確認します。

    • UpdateMetricMissingDatapointsChecksVariable

      CheckMissingDatapoint ステップMetricMissingDatapointsChecksの値MetricMissingDatapointsChecksで変数を更新します。

    • BranchOnMetricMissingDatapoint

      CheckMissingDatapoint ステップMetricMissingDatapointの値の分岐。デフォルトのステップは ですGetAlarmHistoryDetails

    • GetAlarmHistoryDetails

      特定のタイムスタンプの最新の履歴を取得します。

    • UpdateAlarmHistoryChecksVariable

      GetAlarmHistoryDetails ステップAlarmHistoryChecksの値AlarmHistoryChecksで変数を更新します。

    • BranchOnAlarmHistoryFound

      GetAlarmHistoryDetails ステップAlarmHistoryFoundの値の分岐。デフォルトのステップは ですCheckDelayedMetric

    • CheckDelayedMetric

      メトリクスの遅延または欠落 (複数可) が原因でアラームがトリガーされなかったかどうかを確認します。

    • UpdateDelayedMetricChecksVariable

      CheckDelayedMetric ステップDelayedMetricChecksの値DelayedMetricChecksで変数を更新します。

    • BranchOnMetricDelayedAndDatapointsMeetThreshold

      CheckDelayedMetric ステップの MetricDelayedおよび DatapointsMeetThreshold値のブランチ。デフォルトのステップは ですGenerateReport

    • CheckActionDelivered

      アラームの有効なアクション (複数可) が配信されたかどうかを確認します。

    • UpdateActionDeliveredChecksVariable

      ActionDeliveredChecks CheckActionDelivered ステップからの出力ActionDeliveredChecksで変数を更新します。

    • GenerateReport

      前のステップの出力をコンパイルし、レポートを出力します。

  7. 実行が完了したら、出力セクションで実行の詳細な結果を確認します。

    • GenerateReport.Report

      提供された Amazon CloudWatch (CloudWatch) メトリクスアラームのレポート。

                    ------------------------------------------------------------------------------------------
                    |                     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.
                

リファレンス

Systems Manager Automation