抑制解决什么问题
抑制规则让高层故障压制衍生告警:当源告警出现时,与指定标签取值相同的目标告警停止通知。它的价值在批量故障场景——机房级或节点级故障会连带产生大量下游告警,抑制能把这些噪音压掉,只留下根因。
相等标签是关键
配置的关键是标签相等列表:只有在这些标签上取值相同的目标才会被压制。漏写会让无关集群或服务的告警被一起压掉,形成监控盲区;规则改动后应观察一个完整的故障窗口再确认效果。
基本信息
| 源匹配 | 触发抑制的告警,通常是根因类告警 |
|---|---|
| 目标匹配 | 被压制的衍生告警 |
| 相等标签 | 仅在取值相同时才抑制 |
| 生效时机 | 源告警存在期间持续生效 |
典型使用场景
- 机房级故障:压制同机房所有下游告警
- 节点故障:压制该节点上所有实例的衍生告警
- 网络中断:压制由连通性引发的批量告警
- 依赖不可用:压制依赖该服务的大量接口告警
- 批量发布异常:压制同一批次引入的重复告警
抑制示例
抑制示例
inhibit_rules:
- source_matchers: [ 'alertname="ClusterDown"' ]
target_matchers: [ 'severity=~"critical|warning"' ]
equal: [cluster] # 只压制同集群的目标
- source_matchers: [ 'alertname="NodeDown"' ]
target_matchers: [ 'alertname="InstanceNotScraping"' ]
equal: [instance] # 只压制同一实例的目标配置要素
| 要素 | 作用 | 注意 |
|---|---|---|
| 源匹配 | 触发抑制的告警 | 通常是明确的根因信号 |
| 目标匹配 | 被压制的告警 | 范围过宽会掩盖真实故障 |
| 相等标签 | 仅在取值相同时抑制 | 漏写会让无关对象一起被压 |
| 规则数量 | 维持可推理的规模 | 规则过多时难以判断影响 |
使用建议
- 抑制关系要有明确因果:目标匹配应覆盖源告警真正引发的下游信号
- 目标匹配要排除源告警自身,避免自抑制
- 规则改动后观察一个完整故障窗口,再确认是否符合预期
抑制是自动生效的,不需要人工介入;这正是它与静默最大的区别,也意味着配置错误会在无人察觉时持续压掉告警。
相等标签漏写关键维度时,其它集群的同类告警会被一并压掉,故障期间看起来风平浪静。