本文介绍限制告警通知时段的常见方法以及各自适用的场景。
背景信息
在对系统进行监控告警的过程中,并非在任何时间段都需要接收告警通知,例如针对以下场景,可通过相关设置,限制告警通知时段。
-
针对计划内变更触发的已知告警,无需通知。
-
非工作时间不接收非严重的告警通知。
-
晚上不接收电话告警通知。
方法比较
各种方法的比较如下表所示。在实际设置过程中,您可以按照实际需求选择合适的方法。
|
Cron表达式 |
临时关闭 |
静默策略 |
全局日历 |
值班组 |
|
|
作用阶段 |
影响告警评估,从而影响通知。 |
影响告警评估,从而影响通知。 |
仅影响通知。 |
仅影响通知。 |
仅影响通知。 |
|
支持的通知渠道 |
任意 |
任意 |
任意 |
任意 |
支持所有与用户、用户组相关的通知渠道,例如短信、电话、邮件以及钉钉等可以@用户的场景。 |
|
是否支持复用 |
无法复用,需要针对每个告警监控规则单独配置。 |
无法复用,需要针对每个告警监控规则单独配置。 |
支持 |
支持 |
支持 |
|
是否临时设置 |
否 |
是 |
是 |
否 |
否 |
|
支持的场景 |
周期性屏蔽某一条告警监控规则触发的告警。 主要针对单条告警监控规则。 |
临时屏蔽某一条告警监控规则触发的告警。 主要针对单条告警监控规则。 |
临时或永久屏蔽符合条件的告警。 支持对多条告警监控规则进行设置。 |
全局工作日及工作时间设置。 对所有告警生效。 |
支持任意的值班时段设置。 仅对使用该值班组的告警监控规则生效。 |
|
配置复杂度 |
简单 |
简单 |
较复杂 |
简单 |
较复杂 |
通过Cron表达式限制告警触发时段
在设置告警监控规则时,需设置检查频率。您可以设置标准的Cron表达式,用于控制检查频率。例如:
-
0/5 * * * *表示从0分钟开始,每隔5分钟检查一次。 -
0 0/1 * * *表示从0点0分开始,每隔1小时检查一次。 -
0 18 * * *表示每天18点0分检查一次。 -
0 0 1 * *表示每月1日的0点0分检查一次。在告警规则配置中,将检查频率设置为Cron,并在右侧输入框中填写对应的Cron表达式。
此外您还可以使用复杂的Cron表达式,实现更加灵活的告警时间段限制。例如:
-
希望目标告警监控规则在每天08:00~18:00之间每5分钟执行一次告警检查,则您可以设置Cron表达式为
0/5 8-17 * * *。 -
希望目标告警监控规则在周一到周五的08:00~12:00和14:00~18:00之间每分钟执行一次告警检查,则您可以设置Cron表达式为
* 8-11,14-17 * * 1-5。
Cron表达式支持的最小时间粒度为分钟。一共分为5段,分别表示分钟、小时、日、月、周。更多信息,请参见https://crontab.guru/。
通过临时关闭告警来限制告警触发时段
针对某些预期告警(例如由于临时变更系统,触发的告警),您希望在一段时间内不再通知,则可以通过临时关闭功能,暂时关闭某个告警。
在目标告警规则的操作列单击临时关闭,在弹出的临时关闭设置对话框中设置关闭时长(例如4 小时),然后单击确认。
临时关闭后,在该时间之内告警监控规则不会继续评估和触发告警。等待关闭时间结束后,告警监控规则恢复正常。如果您要提前恢复告警,可单击恢复。
通过静默策略限制告警通知时段
针对多条告警监控规则触发的告警(例如某集群升级过程中,可能出现的一系列预期告警),您希望在一段时间内都不通知,则可以通过静默策略实现。更多信息,请参见告警静默机制。
如果这些告警监控规则绑定同一个告警策略,则您可以在该告警策略中设置静默策略,例如在2022-12-02 12:00~18:00期间,临时屏蔽由test-project项目产生的所有告警。
在静默策略工作流的条件节点中,选择条件字段为监控规则所属项目;在静默时间节点中,类型选择特定时间范围。
通过全局日历限制告警通知时段
针对全局告警设置相同的通知时间,则您可以使用全局日历功能。例如针对绑定了某行动策略的告警,您只想在工作日的工作时间(周一到周五的09:00~18:00)收到告警通知,可参考如下配置。
通过值班组限制告警通知时段
全局日历主要解决全局工作日和工作时间相关的配置。针对个别告警,需要使用不同的发送时段,则您可以使用值班组实现完全灵活且自定义的发送时段。例如针对某个告警监控规则触发的告警,您只想在每天夜间(00:00~07:00)接收告警通知,则您可以创建一个值班组,仅在该时间段值班。
-
创建值班组。具体操作,请参见创建值班组。
在添加值班轮岗对话框中,将限制字段设置为每天的自定义时段,单击保存。
创建值班组后,您可以在最终排班页面查看值班表。该值班组的工作时间为每天00:00~07:00,即只在该时间段内,该值班组才会接收到告警通知。
日历中每个日期标注班或休,表示值班与休息交替排班;单击具体日期可查看轮班详情,包括值班类型及具体时段(如 00:00~07:00)。
-
在行动策略中选中该值班组。具体操作,请参见行动策略。
说明因为在值班组中已设定了时间段,因此在行动策略中需设置发送时段为任意,即由值班组控制告警通知发送时间段。
在行动组中选择通知渠道为短信,接收人类型设置为静态接收人,在接收人中选择目标值班组,内容模板选择SLS内置内容模板。
