告警操作
您可以指定告警在“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 会永久禁用告警操作,直到您手动调用 EnableAlarmActions。EnableAlarmActions API 不会将由活动静音规则静音的告警取消静音。
注意
将告警静音并不会阻止 CloudWatch 向亚 Amazon EventBridge 发送告警创建、更新、删除和状态更改的告警事件。