跳到主要内容

Alertmanager 静默与抑制

Silence 是带过期时间的人工通知抑制,适合计划发布、节点维护和迁移窗口;Inhibition 是写入配置的根因与症状关系,适合长期稳定的故障传播模式。两者都不能代替修复告警噪声或缺陷。

1. 创建 Silence​

在 UI 中按标签创建静默,或使用 amtool:

amtool --alertmanager.url=http://127.0.0.1:9093 silence add \
environment=production cluster=production-a instance=node-01.internal.example \
--duration=2h --author='platform-oncall' \
--comment='CHG-2026-042 node maintenance'

静默匹配条件应尽可能具体,包含环境、集群、服务或实例,并记录负责人、变更单与到期时间。维护结束后立即确认服务和告警恢复,不要等待静默自然过期。

2. Silence 生命周期​

通过 UI 或 amtool silence query 定期检查即将到期、长期存在和范围过宽的静默。删除或过期后,应确认被覆盖的告警不会立即形成不可处理的通知风暴;必要时先分批恢复或调整维护计划。

3. 抑制规则​

inhibit_rules:
- source_matchers: [alertname="NodeDown", severity="critical"]
target_matchers: [alertname=~".*Down"]
equal: [cluster, instance]

此规则只在相同集群和实例上,由 NodeDown 抑制症状告警。equal 边界过少会误抑制其他服务或机房的独立故障;规则应配套测试告警和负责人。

4. 生产实践​

发布前建立有限时静默,故障期间优先定位根因后再考虑临时降噪。永久静默、无工单静默和过宽正则都是风险信号,应进入每周巡检与告警治理清单。