Prometheus 告警不生效或误报过多,如何优化?
2026-08-11 01:06:54
# 监控
告警太多,等于没有告警。“狼来了”效应会让值班同学对告警麻木,真出事反而被淹没。告警配置的核心动作是做减法。
1. 善用 for 子句,过滤瞬时抖动
在告警规则里加上:
1 | for: 5m |
它表示指标持续异常满 5 分钟才真正触发告警。很多偶发的 1 次抖动、1 次 GC 尖峰就不会再误报。
2. 告警分级与路由(Alertmanager)
充分利用 Alertmanager 的三种能力:
- 分组(Group):同类告警合并成一条,避免刷屏;
- 抑制(Inhibit):高级别告警抑制低级别告警——例如节点故障的告警,自动抑制其上面 Pod 故障的告警,避免“一个节点挂了、几百条 Pod 告警齐飞”的告警风暴;
- 静默(Silence):已知维护窗口内临时屏蔽。
小结
for 子句挡住抖动,Inhibit 挡住风暴。好的告警系统不是“报得越多越好”,而是“每条都值得响应”。