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

如何正确获取Prometheus Gauge指标在Grafana选定时间范围的增量

解决Gauge指标在Grafana中获取时间范围增量的问题

为什么increase()会出错

increase()是专门给Counter类型指标设计的,它会自动处理Counter重启归零的情况,但你的posts_total是Gauge类型——Gauge的数值可增可减,用increase()会把数值的波动错误当成Counter的持续增长,算出的结果自然远大于实际增量。

正确获取增量的PromQL写法

直接用当前值减去时间范围起始时刻的指标值即可,对应的PromQL:

posts_total - posts_total offset $__range
  • 说明:$__range是Grafana内置变量,对应你选择的时间范围长度(比如选“最近1小时”,它就是1h);offset关键字用来拉取指定时间偏移前的指标值,这样计算出的就是时间范围内的真实增量。

优化:处理采样点缺失的情况

如果时间范围起始时刻刚好没有采样点,用last_over_time()取起始窗口内的最后一个值,避免误差:

posts_total - last_over_time(posts_total[$__range] offset $__range)

这个写法会先获取时间范围开始前$__range窗口里的最新值,再用当前值减去它,结果更准确。

Grafana展示设置

  • 把上述PromQL复制到面板的查询框中;
  • 选择合适的可视化类型:比如用Stat面板单独展示每个status的增量,Bar Chart适合对比不同状态的增量;
  • 可以设置别名,比如{{status}} 增量,方便区分不同指标系列。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 10:27:38