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

如何编写条件持续10分钟的PromQL查询(Grafana数据源)

实现PromQL持续条件检测的方案

要实现“当cpuLoad{instance="1.1.1.1"}>80持续10分钟以上才返回结果”的需求,有两种常用的PromQL写法,可根据业务场景选择:

严格检测:10分钟内所有采样点都满足条件

适合要求完全持续达标、不允许任何短暂回落的场景:

min_over_time(cpuLoad{instance="1.1.1.1"}[10m]) > 80

min_over_time会计算10分钟时间窗口内cpuLoad的最小值,只要最小值大于80,就说明这段时间里每一个采样点的CPU负载都超过了80,完全符合“持续10分钟”的要求。

宽松检测:允许短暂波动(按占比判断)

如果业务上允许偶尔出现不符合条件的采样点,比如要求90%以上的时间处于负载超标状态,可以用采样点占比来判断:

count_over_time((cpuLoad{instance="1.1.1.1"} > 80)[10m]) / count_over_time(cpuLoad{instance="1.1.1.1"}[10m]) > 0.9
  • 分子:统计10分钟内满足cpuLoad>80的采样点数量
  • 分母:统计10分钟内cpuLoad的总采样点数量
  • 比值大于0.9表示90%的时间都处于负载超标状态

注意事项

  • 要结合你的Prometheus采样间隔调整逻辑:比如采样间隔为1分钟时,[10m]窗口内会有10个采样点,严格检测时只要所有10个点都达标就会返回结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 21:32:13