本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
AWSSupport-TroubleshootCloudWatchAlarm
描述
该AWSSupport-TroubleshootCloudWatchAlarm运行手册有助于识别和解决配置错误或有问题的 Amazon CloudWatch (CloudWatch) 警报的问题。它利用公开 AWS APIs 和已知的警报评估逻辑来检测监控指标中延迟或丢失的数据点,这可能导致警报操作错过或延迟。本运行手册提供了一种结构化的方法来调查和解决 Amazon CloudWatch (CloudWatch) 警报相关的问题。
如何工作?
运行手册AWSSupport-TroubleshootCloudWatchAlarm执行以下步骤:
-
验证 Amazon CloudWatch (CloudWatch) 警报详情和
AlarmTriggerTimestamp参数值,以检查其是否在 2,592,000 秒(30 天)以内。 -
检查警报是基于指标还是公制数学,还是异常探测器警报。
-
检查警报是否处于数据不足状态。
-
检查警报中使用的指标是否与
ListMetrics值匹配。 -
验证指标在给定时间戳是否缺少数据点。
-
获取给定时间戳的最新历史记录。
-
检查警报是否由于延迟或错过指标而未触发。
-
检查警报的启用操作是否已 was/were 送达。
-
生成包含所有诊断结果的故障排除报告。
文档类型
自动化
所有者
Amazon
平台
Linux、macOS、Windows
参数
所需的 IAM 权限
AutomationAssumeRole 参数需要执行以下操作才能成功使用运行手册。
cloudwatch:DescribeAlarmscloudwatch:DescribeAlarmHistorycloudwatch:DescribeAnomalyDetectorscloudwatch:GetMetricDatacloudwatch:GetMetricStatisticscloudwatch:ListMetrics
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Action": [ "cloudwatch:DescribeAlarms", "cloudwatch:DescribeAlarmHistory", "cloudwatch:DescribeAnomalyDetectors", "cloudwatch:GetMetricData", "cloudwatch:GetMetricStatistics", "cloudwatch:ListMetrics" ], "Resource": "*" } ] }
说明
按照这些步骤对自动化进行配置:
-
AWSSupport-TroubleshootCloudWatchAlarm在 Systems Manager 的 “文档” 下导航至。 -
选择 Execute automation(执行自动化)。
-
对于输入参数,请输入以下内容:
-
AutomationAssumeRole (可选):
类型:
String描述:(可选)允许 Systems Manager Automation 代表您执行操作的 AWS AWS Identity and Access Management (IAM) 角色的亚马逊资源名称 (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$
-
-
选择执行。
-
自动化启动。
-
文档将执行以下步骤:
-
VerifyRunbookInputs验证 Amazon CloudWatch (CloudWatch) 警报详情和
AlarmTriggerTimestamp参数值,以检查其是否在 2,592,000 秒(30 天)以内。 -
UpdateSSMDocumentInputChecksVariable使用
VerifyRunbookInputs步骤SSMDocumentInputChecks中的SSMDocumentInputChecks值更新变量。 -
BranchOnAlarmIsVerified分支于 Runbook 的输入验证
AlarmTriggerTimestamp和CloudWatchAlarmName. -
CheckMetricAlarmType检查警报是基于指标还是公制数学,还是异常探测器警报。
-
CheckAlarmInInsufficientDataState检查警报是否处于数据不足状态。
-
UpdateInsufficientDataChecksVariable使用
CheckAlarmInInsufficientDataState步骤InsufficientDataChecks中的InsufficientDataChecks值更新变量。 -
BranchOnAlarmHasInsufficientData在 ste
CheckAlarmInInsufficientDataStatep 中的AlarmHasInsufficientData值上进行分支,默认步骤为CheckMetricMismatch。 -
CheckMetricMismatch检查警报中使用的指标是否与
ListMetrics值匹配。 -
UpdateMetricMismatchChecksVariable使用
CheckMetricMismatch步骤MetricMismatchChecks中的MetricMismatchChecks值更新变量。 -
BranchOnMetricsMatched在 ste
CheckMetricMismatchp 中的MetricsMatched值上进行分支,默认步骤为CheckMissingDatapoint。 -
CheckMissingDatapoint验证指标在给定时间戳是否缺少数据点。
-
UpdateMetricMissingDatapointsChecksVariable使用
CheckMissingDatapoint步骤MetricMissingDatapointsChecks中的MetricMissingDatapointsChecks值更新变量。 -
BranchOnMetricMissingDatapoint在 ste
CheckMissingDatapointp 中的MetricMissingDatapoint值上进行分支,默认步骤为GetAlarmHistoryDetails。 -
GetAlarmHistoryDetails获取给定时间戳的最新历史记录。
-
UpdateAlarmHistoryChecksVariable使用
GetAlarmHistoryDetails步骤AlarmHistoryChecks中的AlarmHistoryChecks值更新变量。 -
BranchOnAlarmHistoryFound在 ste
GetAlarmHistoryDetailsp 中的AlarmHistoryFound值上进行分支,默认步骤为CheckDelayedMetric。 -
CheckDelayedMetric检查警报是否由于延迟或错过指标而未触发。
-
UpdateDelayedMetricChecksVariable使用
CheckDelayedMetric步骤DelayedMetricChecks中的DelayedMetricChecks值更新变量。 -
BranchOnMetricDelayedAndDatapointsMeetThreshold分支位于
CheckDelayedMetric步骤中的MetricDelayed和DatapointsMeetThreshold值,默认步骤为GenerateReport。 -
CheckActionDelivered检查警报的启用操作是否已 was/were 送达。
-
UpdateActionDeliveredChecksVariable使用
CheckActionDelivered步骤ActionDeliveredChecks的输出ActionDeliveredChecks更新变量。 -
GenerateReport编译前面步骤的输出并输出报告。
-
-
执行完成后,请查看 “输出” 部分,了解执行的详细结果:
-
GenerateReport. 报告
有关所提供的 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