Prometheus 告警的生命周期是怎样的?

Prometheus 告警生命周期:Inactive(未触发)→ Pending(表达式为真但未满足 for 时长)→ Firing(触发,送 Alertmanager)→ 恢复 Resolved。Alertmanager 侧还有分组、静默、抑制与通知去重。本文讲清全链路。

最佳实践
Prometheus 告警的生命周期是怎样的?封面

告警在 Prometheus 中有三个状态:表达式不成立是 Inactive;成立但未持续满 for 时长是 Pending;持续满足后进入 Firing 并发送给 Alertmanager,由它完成分组、路由、静默后通知到人。

Prometheus 侧的三态

表达式为假 → Inactive
表达式为真,for 未满 → Pending(告警规则页可见,但还不通知)
持续为真满 for 时长 → Firing(发送给 Alertmanager)
表达式恢复为假 → 下轮评估后视为 Resolved

for 是防抖核心:for: 10m 表示连续 10 分钟成立才告警,瞬时尖刺不会打扰值班人。

Alertmanager 侧的处理

  1. 分组(group_by):同组告警合并成一条通知;
  2. 路由(route):按标签匹配通知渠道(钉钉/邮件/PagerDuty);
  3. 静默(Silence):维护窗口期屏蔽指定匹配的告警;
  4. 抑制(Inhibition):高级别告警触发时压住低级别(如节点宕机抑制该节点的服务告警);
  5. 去重/等待group_waitgroup_intervalrepeat_interval 控制通知节奏。

完整链路一图流

规则评估 → Pending → Firing → Alertmanager 分组/路由/静默 → 通知渠道 → 恢复后 Resolved 通知。

观测云对照

观测云监控器把这条链路产品化:检测条件(含持续时长)、告警策略(通知合并/升级)、静默(免打扰时段)、通知对象全部界面化;事件中心统一呈现 Pending/触发/恢复全过程。

常见问题(FAQ)

Q:Pending 期间会通知吗? 不会,只有 Firing 才发给 Alertmanager。

Q:恢复通知怎么开? Alertmanager 的 receiver 里 send_resolved: true(多数渠道默认开)。

Q:告警风暴怎么压? 合理 group_by + 抑制规则 + repeat_interval 拉长。

获取专属方案

联系我们

加入社区

微信扫码
加入官方交流群

立即体验

在线开通,按量计费,真正的云服务!

立即开始

选择观测云版本

代码托管平台