跳到主要内容

Alertmanager 故障排查

告警链路排查从上游规则开始,逐段确认到最终 Receiver。不要只看 Alertmanager UI 是否可访问,也不要通过禁用规则来掩盖路由或通知故障。

1. 无法启动​

使用 amtool check-config alertmanager.yml 检查配置,随后检查服务日志、模板路径、Secret 挂载、端口占用、状态目录权限和磁盘空间。升级后异常时先对照发布说明与回滚计划,不要删除状态目录。

2. Prometheus 无法连接​

检查 Prometheus 的 alerting.alertmanagers 地址、DNS、TLS、NetworkPolicy 和 Alertmanager 就绪状态。Prometheus 能连接任意健康副本即可,但所有副本必须加载同一套路由配置。

3. 告警未发送与通知失败​

确认上游告警为 firing,检查 UI 中是否被 Silence 或 Inhibition 命中,再检查 Route、Receiver、模板和接收器日志。Webhook 失败通常涉及 DNS、TLS、认证、超时或接收端同步处理过慢。

4. 重复告警与告警风暴​

重复告警检查多个 Prometheus 副本、Alertmanager peers、外部标签和 Receiver 去重策略。告警风暴检查 group_by、group_wait、根因抑制、目标标签基数和发布窗口静默;不要直接加长所有重复间隔。

5. 路由匹配失败​

在 Alertmanager UI 查看真实标签,与 matchers 逐项比对。常见问题是标签名不一致、环境值拼写不同、子路由被更早的匹配规则截获,或测试告警误命中生产兜底路由。使用受控测试告警验证每个团队与严重度分支。