跳到主要内容

Alertmanager 简介

Alertmanager 是 Prometheus 生态中的告警协调器。Prometheus 规则负责判定条件是否满足,Alertmanager 接收 firing/resolved 告警后按标签完成去重、分组、路由、静默、抑制和消息发送。

1. Alertmanager 解决的问题​

单条时间序列告警直接通知,会在节点故障、网络异常或大规模发布时产生告警风暴。Alertmanager 通过分组减少重复消息,通过路由将告警交给责任团队,通过静默处理计划变更,通过抑制隐藏已知根因导致的症状告警。

它不采集指标、不计算 PromQL、不替代值班流程。接收器成功返回也不等于人员已响应,因此需要通知测试、OnCall 升级和运行手册。

2. 核心概念​

概念含义
Alert带标签和注释的告警事件,包含 firing 或 resolved 状态
Label用于路由、分组与去重的稳定维度,如 team、severity
Group相关告警合并为一条通知的集合
Route根据标签匹配接收器与子路由的规则树
Receiver邮件、Webhook、IM、电话等发送渠道定义
Silence有过期时间的人工通知抑制,用于维护窗口
Inhibition根因告警存在时自动抑制症状告警的长期规则

3. 工作流程​

Prometheus Rule --> Alertmanager API --> 标签匹配 --> 分组 / 静默 / 抑制 --> Receiver --> 值班人员

每条生产告警应包含至少 alertname、severity、team、service、cluster、environment 等受控标签,并在注释中提供影响说明和运行手册。不要把用户 ID、请求 ID、完整错误文本等高基数或敏感内容放入标签。

4. 学习路线​

  1. 整体架构 与 安装部署。
  2. 配置管理、通知集成 与 路由。
  3. 静默 和 Kubernetes 实践。
  4. 故障排查、高可用 与 最佳实践。