屏蔽规则
夜莺 v9 屏蔽规则:在特定标签/数据源/时间窗口内压制告警通知,处理计划性维护、已知问题、非关键时段噪音。
概述
屏蔽规则 在指定标签 / 数据源 / 时间窗口内压制告警通知。被命中的事件不会推送、不会出现在活跃告警列表,但告警引擎仍在评估(不影响告警状态判定本身)。
侧栏路径:告警 → 规则管理 → 屏蔽规则 Tab,URL /alert-mutes。
适用场景:
- 计划性维护:升级/重启窗口期间,相关告警暂时不吵;
- 已知问题在处理:故障复盘中、暂未根治,不再重复通知;
- 非关键时段的低优先告警:夜间/节假日暂时静默非核心告警;
- 测试环境噪声:开发/测试环境的高频告警长期屏蔽,只通过仪表盘看。
和**全局屏蔽(PLUS 独有)的关键区别:屏蔽规则绑业务组**、只对本业务组生效;全局屏蔽跨所有业务组生效,是 Admin 用的"大开关"。
工作机制:层层过滤的漏斗
屏蔽规则像一个漏斗,事件必须全部满足所有筛选条件才被压制。逻辑关系是 业务组 AND 数据源类型 AND 数据源 AND 事件等级 AND 所有标签条件 AND 时间窗口 — 缺一不可。
如果一条事件只命中其中部分条件,规则不生效。
表单字段
| 区块 | 字段 | 必填 | 说明 |
|---|---|---|---|
| 基本信息 | 屏蔽原因 | 否(建议) | 写清楚"为什么屏蔽 + 负责人 + 预期恢复时间";列表里的标题就是它 |
| 筛选条件 | 业务组 | 是 | 自动绑当前业务组,不可改 |
| 数据源类型 | 否 | 不填 = 不限类型(Prometheus / Elasticsearch / MySQL…) | |
| 数据源 | 否 | 不填 = 该类型下的所有实例 | |
| 事件级别 | 否 | 不填 = 不限级别(S1 / S2 / S3) | |
| 事件标签 | 至少 1 条 | 标签匹配条件,可以加多行 — 详见下方"匹配操作符" | |
| 屏蔽时长 | 屏蔽时间类型 | 是 | 固定时间 / 周期时间 |
| 起止时间 | 看类型 | 固定:选起止时间窗口;周期:选星期几 + HH:MM 区间 |
匹配操作符(6 种)
事件标签条件支持 6 种操作符,全部针对标签的 value:
| 操作符 | 含义 | 示例 |
|---|---|---|
== |
等值匹配 | rulename == 测试服务器挂载多个业务组告警 |
=~ |
正则匹配 | ident =~ flashcat|v63-192.168.0.2 |
!= |
等值不匹配(取反) | ident != pushgw-flashcat02-192.168.0.2 |
!~ |
正则不匹配(取反) | ident !~ flashcat(不含 flashcat 关键词的全屏蔽) |
in |
属于一个列表 | ident in (flashcat01-192.168.0.2, pushgw-flashcat02-192.168.0.2) |
not in |
不属于一个列表 | ident not in (...) |
多条事件标签条件之间是 AND(且)关系 — 一条事件需要同时满足所有标签条件才被屏蔽。
想用 OR 关系?把不同条件拆成多条屏蔽规则即可(任一规则命中就屏蔽)。
屏蔽时长:固定 vs 周期
固定时间
- 屏蔽时长:1h / 6h / 24h / 7d 等快捷选项;
- 屏蔽开始 / 结束时间:选时长后自动算出,也可手工改成任意区间;
- 默认时长快捷选项是 1h;想精确到分秒,手工编辑起止时间字段。
周期时间
每周固定时段都屏蔽,长期生效。常用于"夜间维护窗口长期静默"、“工作日午休时段不吵"等。
- 选周几(多选周一到周日);
- 选起止时间(当天 HH:MM);
- 可加多个时段。
重要:被屏蔽事件的 TriggerTime 必须落在屏蔽时间范围内。如果事件触发于窗口前但持续到窗口内,不会被屏蔽 — 屏蔽看的是触发时刻。
实操:临时屏蔽某条已知告警
经典用法 — 从活跃告警里带标签预填新建屏蔽:
- 去 活跃告警 → 点击该事件标题打开详情抽屉;
- 详情抽屉底部点「屏 蔽」按钮 → 自动跳转到
/alert-mutes/add,事件的标签已预填到表单的事件标签条件里; - 调整屏蔽时长(默认 1h),填屏蔽原因;
- 保存即可。
这条事件以及未来匹配相同标签的事件都会被压制。
常见问题
Q1:屏蔽规则保存后,对应的告警事件还在活跃告警列表,正常吗?
A:屏蔽规则只对新触发的告警生效。已经存在的活跃告警不会被立即移除,需要等它自然恢复后才消失。如果想立刻让它消失,详情抽屉里手工删除该事件(注意:仅在确定指标不会再上报的情况下做,否则规则会再产生新事件)。
Q2:屏蔽规则和订阅规则、全局屏蔽之间什么关系?
A:
- 全局屏蔽(PLUS):跨所有业务组的屏蔽,最先评估,命中就过滤掉;
- 业务组屏蔽规则(本页):只对本业务组生效;
- 订阅规则(文档):相反 — 把别人业务组的事件订阅过来;
三者关系是:先全局屏蔽过滤、再本地屏蔽过滤、最后剩下的发通知 / 订阅给其他业务组。任一屏蔽命中事件就被压制,不会重复屏蔽。
Q3:周期屏蔽跨天(如每天 22:00 到次日 06:00)怎么写?
A:拆成两段:周一到周日 22:00-23:59 + 周一到周日 00:00-06:00。当前 UI 不支持单段跨日。
Q4:屏蔽规则生效后,被屏蔽事件还会被告警引擎评估吗?会不会导致引擎压力增加?
A:会评估 — 屏蔽规则只过滤通知和事件入库,引擎照常 每个评估周期跑 PromQL。屏蔽对引擎本身几乎零负担,区别只在事件后端处理那一步。
Q5:怎么批量配屏蔽规则?比如运维周末把所有核心业务都屏蔽?
A:UI 没有批量入口,两种方式: