告警操作 - Amazon CloudWatch
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

告警操作

您可以指定告警在“OK(正常)”、“ALARM(告警)”和“INSUFFICIENT_DATA(数据不足)”状态之间更改状态时所执行的操作。

要过渡到这三种状态中的每一种,大多数操作都可以设置。除自动扩缩操作外,这些操作仅在状态转换时会发生,如果该情况持续数小时或数天,则不会再次执行。

以下是受支持的告警操作:

  • 通过使用 Amazon Simple Notification Service 主题通知一个或多个订阅用户。订阅用户既可以是应用程序,也可以是个人。

  • 调用 Lambda 函数。这是在警报状态变化时自动执行自定义操作的最简单方法。

  • 基于 EC2 指标的警报还可以执行 EC2 操作,例如停止、终止、重启或恢复 EC2 实例。

  • 警报还可以执行操作来扩展自动扩缩组。

  • 告警可以在 Systems Manager Ops Center 中创建 OpsItems,或在 Amazon Systems Manager Incident Manager 中创建事件。只有在告警进入“ALARM(告警)”状态时才能执行这些操作。

  • 警报进入 ALARM 状态时可启动调查。

警报还会在更改状态时向 Amazon EventBridge 发出事件,您可以将 Amazon EventBridge 设置为针对这些状态更改触发其他操作。

告警操作和通知

下表显示了针对各类告警所执行的操作及其在多个时间序列(或贡献者)告警情况下的表现:

操作类型 多时间序列告警支持 更多信息
SNS 通知 影响因素级别 Amazon SNS event destinations
EC2 操作(停止、终止、重启、恢复) 不支持 停止、终止、重启或恢复 EC2 实例
Auto Scaling 操作 不支持 Amazon EC2 Auto Scaling 的阶梯式扩展策略与简单扩展策略
Systems Manager OpsItem 创建 告警级别 Configure CloudWatch alarms to create OpsItems
Systems Manager Incident Manager 事件 告警级别 Creating incidents automatically with CloudWatch alarms
Lambda 函数调用 影响因素级别 从警报中调用 Lambda 函数
CloudWatch 调查功能调查 告警级别 从警报启动 CloudWatch 调查

单指标告警和多时间序列告警的告警通知内容有所不同:

  • 单指标告警通知内容同时包含状态原因和详细的状态原因数据,会显示导致状态变化的具体数据点。

  • 多时间序列告警通知会为每个影响因素提供简化的状态原因数据,不会包含详细状态原因数据块。

例通知内容示例

单指标告警通知包含详细的数据:

{ "stateReason": "Threshold Crossed: 3 out of the last 3 datapoints [32.6 (03/07/25 08:29:00), 33.8 (03/07/25 08:24:00), 41.0 (03/07/25 08:19:00)] were greater than the threshold (31.0)...", "stateReasonData": { "version": "1.0", "queryDate": "2025-07-03T08:34:06.300+0000", "startDate": "2025-07-03T08:19:00.000+0000", "statistic": "Average", "period": 300, "recentDatapoints": [41, 33.8, 32.6], "threshold": 31, "evaluatedDatapoints": [ { "timestamp": "2025-07-03T08:29:00.000+0000", "sampleCount": 5, "value": 32.6 } // Additional datapoints... ] } }

多时间序列 Metrics Insights 告警 SNS 通知(以贡献者为例):

{ "AlarmName": "DynamoDBInsightsAlarm", "NewStateValue": "ALARM", "NewStateReason": "Threshold Crossed: 1 datapoint was less than the threshold (1.0). The most recent datapoint which crossed the threshold: [0.0 (01/12/25 13:34:00)].", "StateChangeTime": "2025-12-01T13:42:04.919+0000", "OldStateValue": "OK", "AlarmContributorId": "6d442278dba546f6", "AlarmContributorAttributes": { "TableName": "example-dynamodb-table-name" } // Additional information... }

将告警操作静音

告警静音规则使您能够在预定义的时间窗口(例如维护期间或发生操作事件时)内自动将告警操作静音。CloudWatch 继续监控告警状态,同时阻止不必要的通知。有关更多信息,请参阅 告警静音规则

静音规则与禁用告警操作

告警静音规则会在预定时间段内暂时将操作静音,并在窗口结束时自动取消静音。相比之下,DisableAlarmActions API 会永久禁用告警操作,直到您手动调用 EnableAlarmActionsEnableAlarmActions API 不会将由活动静音规则静音的告警取消静音。

注意

将告警静音并不会阻止 CloudWatch 向亚 Amazon EventBridge 发送告警创建、更新、删除和状态更改的告警事件。