告警静音规则
告警静音规则是 CloudWatch 的一项功能,它为您提供了一种在预定义的时间窗口内自动静音告警操作的机制。当您创建静音规则时,您可以指定特定的时间段,并指定其操作将被静音的目标告警。CloudWatch 将继续监控并评估告警状态,同时防止在预期的操作事件期间出现不必要的通知或自动告警操作。
告警静音规则可帮助您管理关键操作场景,在这些场景中,告警操作可能并非必要或会造成干扰。例如,在计划的维护时段内,您可以阻止自动告警操作,此时您的系统处于有意离线状态或正遭遇预期问题,这样您就可以在不中断的情况下进行维护工作。对于非工作时间(如周末或节假日)的操作,您可以在无需立即做出响应的情况下将非关键的告警操作静音,从而减少告警噪声以及对运营团队的无用通知。在测试环境中,静音规则能让您在负载测试等场景中暂时将告警操作静音。在这些场景中,预期会有较高的资源使用量或较高的错误率,但并不需要立即采取行动。当您的团队积极排除问题时,静音规则可防止重复的告警操作被触发,这有助于您集中精力解决问题,而不会被冗余的告警通知所干扰。
定义告警静音规则
告警静音规则可以通过以下方式定义:规则和目标。
-
规则:定义应将告警操作静音的时间窗口。规则由三个属性组成:
-
表达式:定义静音时段何时开始以及如何重复。您可以使用两种类型的表达式:
-
Cron 表达式:使用标准的 cron 语法创建重复的静音窗口。此方法非常适合定期维护计划,例如每周系统更新或每日备份操作。Cron 表达式使您能够指定复杂的重复模式,包括一周中的特定天数、月数或时间。
cron 表达式的语法
┌───────────── minute (0 - 59) │ ┌───────────── hour (0 - 23) │ │ ┌───────────── day of the month (1 - 31) │ │ │ ┌───────────── month (1 - 12) (or JAN-DEC) │ │ │ │ ┌───────────── day of the week (0 - 6) (0 or 7 is Sunday, or MON-SUN) │ │ │ │ │ │ │ │ │ │ * * * * *-
所有字段都将支持字符
*、,、-。 -
英文名称可用于
month(JAN-DEC)和day of week(SUN-SAT)字段
-
-
At 表达式:将 at 表达式用于一次性静音窗口。此方法非常适合在已知时间发生一次的计划内操作事件。
Syntax: `at(yyyy-MM-ddThh:mm)`
-
-
持续时间:指定静音规则激活后的持续时间。必须以 ISO-8601 格式指定持续时间,最短为 1 分钟(PT1M),最长为 15 天(P15D)。
-
时区:使用标准时区标识符(例如“America/Los_Angeles”或“Europe/London”),指定根据表达式应用静音窗口所在的时区。
-
-
目标:指定告警名称列表,其操作将在定义的时间窗口内静音。您可以在目标列表中包括指标告警和复合告警。
您可以选择包含开始和结束时间戳,以为静音窗口提供额外的边界。开始时间戳可确保静音规则不会在特定日期和时间之前激活,而结束时间戳则可防止在指定日期和时间之后应用规则。
有关以编程方式创建告警静音规则的更多信息,请参阅 PutAlarmMuteRule。
注意
-
目标告警必须与创建静音规则时处于同一 Amazon Web Services 账户和同一 Amazon Web Services 区域中。
-
一条告警静音规则最多可以按告警名称锁定 100 个告警。
CloudWatch 控制台包含一个专门的“告警静音规则”选项卡,可集中管理您的 Amazon Web Services 账户中的所有静音规则。您可以使用静音规则属性(如规则名称)搜索特定的静音规则。
静音规则状态
告警静音规则创建后,可以处于以下三种状态之一:
-
SCHEDULED:根据配置的时间窗口表达式,静音规则将在未来的某个时间生效。
-
ACTIVE:根据配置的时间窗口表达式,静音规则当前处于活动状态,并且正在主动将目标告警操作静音。
-
EXPIRED:该静音规则未来将不再处于 SCHEDULED 或 ACTIVE 状态。这种情况发生在静音窗口结束后的一次性静音规则中,或者配置了结束时间戳且该时间已过去时的重复静音规则中。
静音规则对告警的影响
在活动的静音窗口期间,当目标告警更改状态并配置了操作时,CloudWatch 会将这些操作静音,使其无法执行。静音仅适用于告警操作,这意味着可以继续评估告警,状态更改在 CloudWatch 控制台中可见,但 Amazon Simple Notification Service 通知、Amazon Elastic Compute Cloud 自动扩缩操作或 Amazon EC2 操作等配置的操作将无法执行。在整个静音期间,CloudWatch 会继续正常评估告警状态,您可以通过告警历史记录查看此信息。
当静音窗口结束时,如果目标告警仍处于告警状态(OK/ALARM/INSUFFICIENT_DATA),CloudWatch 会自动重新触发在该窗口期间静音的告警操作。这样可以确保在计划中的静音期结束后,针对持续存在的问题执行告警操作,从而保持监控系统的完整性。
注意
将告警静音时:
-
与目标告警相关的所有操作均会被静音
-
与所有告警状态(OK、ALARM 和 INSUFFICIENT_DATA)关联的操作将被静音
查看和管理已静音的告警
有关查看和管理静音告警的信息,请参阅 查看和管理已静音的告警。
常见应用场景的计划示例
以下各示例介绍如何为常见应用场景配置实践窗口表达式。
场景 1:在计划维护时段内将告警动作静音:按可预测的计划进行的定期维护活动,例如在服务被有意设置为不可用或处于降级运行模式时进行系统或数据库的更新。
-
包含持续时间
PT4H的 Cron 表达式0 2 * * SUN:每周日凌晨 2:00 至早上 6:00 将告警静音,以进行每周系统维护。 -
包含持续时间
PT6H的 Cron 表达式0 1 1 * *:在每月第一天凌晨 1:00 至早上 7:00 将告警静音,以进行每月数据库维护。
场景 2:在非工作时间将非关键告警静音:在不需要立即关注的周末或节假日期间,减少告警疲劳。
-
包含持续时间
P2DT12H的 Cron 表达式0 18 * * FRI:每个周末从星期五下午 6:00 到星期一上午 6:00 将告警静音。
场景 3:在日常备份操作期间将性能告警静音:每日自动备份过程会暂时提高资源利用量,并可能在可预测的时间窗口内触发与性能相关的告警。
-
包含持续时间
PT2H的 Cron 表达式0 23 * * *:在夜间备份操作期间,在每天晚上 11:00 至凌晨 1:00 将告警静音,因为这些操作会暂时增加磁盘 I/O 和 CPU 利用率。
场景 4:在有效的故障排除会话期间将重复的告警静音:在团队积极调查和解决问题时暂时将告警操作静音,以防止通知干扰,便于集中解决具体问题。
-
包含持续时间
PT4H的 At 表达式at(2024-05-10T14:00):在 2024 年 5 月 10 日下午 2:00 至下午 6:00 的活跃事件响应会话中,将告警静音。
场景 5:在计划中的公司停机期间将告警操作静音:一次性延长维护期或全公司范围的停机,其中所有系统都有意长时间离线。
-
包含持续时间
P7D的 At 表达式at(2024-12-23T00:00):在公司年度停机期间,将 2024 年 12 月 23 日至 29 日的整周告警静音。