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

如何在Prometheus中统计1小时内温度变化超5的指标实例次数

解决办法

1. 先搞懂为啥之前的查询返回空

你写的(temperature - temperature offset 1m) > 5是瞬时查询——它只算当前时刻的温度差有没有超过5,如果当前时刻不满足条件,直接返回空结果。但你要统计的是过去1小时里所有符合条件的次数,必须用范围查询加聚合函数才行。

2. 正确的查询语句

用count_over_time函数配合步长参数(和你每分钟采集一次的频率匹配),就能统计出次数:

count_over_time((temperature - temperature offset 1m)[1h:1m] > bool 5)

拆解开说:

  • [1h:1m]:指定查询过去1小时的数据,步长设为1分钟,保证每个采集点都能被计算到。
  • temperature - temperature offset 1m:对每个步长位置,算出当前温度和1分钟前温度的差值。
  • > bool 5:把差值和5做比较,满足条件返回1,不满足返回0,生成一串布尔值序列。
  • count_over_time(...):统计这串布尔值里1的个数,也就是温度差超过5的次数。

3. 先验证差值再统计

要是担心计算出错,可以先跑下面的查询查看所有差值:

(temperature - temperature offset 1m)[1h:1m]

在图表里确认确实有一个点超过5后,再用上面的统计语句,就能得到正确结果了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 02:55:16