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

如何在Grafana结合Prometheus展示每日燃气用量差值?

当日燃气用量差值计算方案

核心思路

通过获取当前燃气累计读数(gas_m3)与当日零点时刻的读数差值,得到当日至今的使用量。

可行查询语句

方案1:使用last_over_time + @midnight(推荐)

直接用gas_m3@midnight可能因零点无精确采样返回空值,改用last_over_time获取零点附近的最近有效读数:

gas_m3{bron="homewizard", instance="http://192.168.1.232/api/v1/data", job="json"} 
- last_over_time(gas_m3{bron="homewizard", instance="http://192.168.1.232/api/v1/data", job="json"}[1d] @ midnight)
  • 逻辑:last_over_time([1d] @ midnight)会提取当日零点时刻往前1天内的最后一个燃气读数,确保能拿到零点时的有效数值。

方案2:使用offset动态计算时间偏移

如果@midnight语法不兼容,可通过计算当日已过时长来偏移查询:

gas_m3{bron="homewizard", instance="http://192.168.1.232/api/v1/data", job="json"} 
- gas_m3{bron="homewizard", instance="http://192.168.1.232/api/v1/data", job="json"} offset (day_of_week() * 24 + hour())h
  • 逻辑:(day_of_week() *24 + hour())h计算从当日零点到现在的小时数,用offset回退到零点时刻查询读数。

关键注意事项

  • 确保gas_m3是单调递增的累计值(燃气表读数符合这个特性),如果是瞬时用量值,需改用sum_over_time(gas_m3[1d])来统计当日累计。
  • 若零点无采样数据,last_over_time会自动取零点前最近的有效读数,符合燃气表的实际读数逻辑。
  • 在Grafana中设置时间范围为「Today」,配合上述查询可稳定展示当日用量差值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 23:05:14