本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
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: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": "*" } ] }
说明
按照这些步骤对自动化进行配置:
-
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
CheckAlarmInInsufficientDataState
p 中的AlarmHasInsufficientData
值上进行分支,默认步骤为CheckMetricMismatch
。 -
CheckMetricMismatch
检查警报中使用的指标是否与
ListMetrics
值匹配。 -
UpdateMetricMismatchChecksVariable
使用
CheckMetricMismatch
步骤MetricMismatchChecks
中的MetricMismatchChecks
值更新变量。 -
BranchOnMetricsMatched
在 ste
CheckMetricMismatch
p 中的MetricsMatched
值上进行分支,默认步骤为CheckMissingDatapoint
。 -
CheckMissingDatapoint
验证指标在给定时间戳是否缺少数据点。
-
UpdateMetricMissingDatapointsChecksVariable
使用
CheckMissingDatapoint
步骤MetricMissingDatapointsChecks
中的MetricMissingDatapointsChecks
值更新变量。 -
BranchOnMetricMissingDatapoint
在 ste
CheckMissingDatapoint
p 中的MetricMissingDatapoint
值上进行分支,默认步骤为GetAlarmHistoryDetails
。 -
GetAlarmHistoryDetails
获取给定时间戳的最新历史记录。
-
UpdateAlarmHistoryChecksVariable
使用
GetAlarmHistoryDetails
步骤AlarmHistoryChecks
中的AlarmHistoryChecks
值更新变量。 -
BranchOnAlarmHistoryFound
在 ste
GetAlarmHistoryDetails
p 中的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