You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Prometheus规则评估原理:为何expr持续不满足时仅触发一次告警

问题结论

不是,Prometheus 不会在每次 expr 符合告警触发条件时都重复生成新告警,仅在告警从非激活状态首次进入触发状态时产生一次告警记录。

原因说明

  • 首先纠正一个常见误区:for: 1s 不是指规则每秒评估一次,告警规则的评估间隔由 Prometheus 全局配置的 evaluation_interval 参数决定(默认1分钟),for 字段的作用是:当 expr 连续多次评估结果都为真、且持续时长超过 for 配置的值时,才会正式触发告警。
  • Prometheus 告警有三个固定状态流转:
    1. Inactive:规则表达式评估为假,无告警
    2. Pending:表达式首次评估为真,还未达到 for 配置的等待时长
    3. Firing:表达式持续为真超过 for 配置时长,告警正式触发
  • 同一个告警(标签集完全匹配的告警实例)只要处于 Firing 状态,就只会保留一条活跃告警记录,对应 ALERTS 指标里值为 1 的时间序列,不会重复生成新的告警。你多次删除 Pod 的过程中,告警触发条件一直成立,expr 持续返回真,告警一直处于 Firing 状态没有恢复过,所以只会产生一次告警记录。只有当 expr 评估为假、告警回到 Inactive 状态后,再次符合触发条件才会生成新的告警。

内容的提问来源于stack exchange,提问作者overexchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 06:54:01