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

如何编写Prometheus AlertManager expr实现阈值以上递增告警

符合需求的PromQL告警表达式

直接用这个表达式就能实现你要的逻辑:

your_metric > 100 AND your_metric > your_metric offset 1m AND your_metric offset 1m > 100

逻辑拆解

  • your_metric > 100:确保当前指标值超过阈值100
  • your_metric offset 1m > 100:过滤掉“从阈值以下突然窜到阈值以上”的情况,只关注阈值之上的波动
  • your_metric > your_metric offset 1m:确认当前值比1分钟前的采样值高,保证是递增趋势,排除超过阈值后回落的场景

关于avg_over_time的问题

你之前用avg_over_time结合offset没成功,核心原因是你的需求是对比两个时间点的采样值,而avg_over_time计算的是一段时间内的平均值,反而会模糊单时间点的趋势判断。如果你的指标采集间隔不是刚好1分钟,直接把offset的时间改成实际采集间隔即可(比如采集间隔30秒就用offset 30s)。

可选优化(应对指标抖动)

如果你的指标波动频繁,想避免短时间抖动误告警,可以换成区间平均值对比:

avg_over_time(your_metric[1m]) > 100 
AND avg_over_time(your_metric[1m]) > avg_over_time(your_metric[1m] offset 1m) 
AND avg_over_time(your_metric[1m] offset 1m) > 100

这种方式用连续1分钟的平均值替代单时间点采样,判断更平滑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 04:43:09