Alertmanager 不能修复糟糕的告警规则,但能防止同一故障向多个渠道重复轰炸。设计从标签规范开始。
稳定路由标签
建议至少统一 severity、team、service 和 environment。Pod 名、实例 IP 不应参与一级路由,否则扩缩容会产生大量独立通知。
route:
group_by: [cluster, service, alertname]
group_wait: 30s
group_interval: 5m
repeat_interval: 4h
group_wait 给相关告警一个聚合窗口,过长会延迟首报,过短则失去分组效果。
使用抑制表达因果
节点宕机时可以抑制该节点上的 Pod 不可用告警;集群级依赖故障时抑制下游症状。抑制条件必须足够具体,避免隐藏独立事故。
静默要可追踪
每个 silence 应包含工单、负责人和到期时间。长期维护窗口更适合在规则或自动化中管理,不要创建永久静默。
验证通知链路
定期发送测试告警,验证路由、值班表和升级渠道。收到通知不等于有人处理,还要监控确认与响应时间。