如何在Grafana中获取Prometheus的无聚合最新值?
解决Grafana当前值组件受时间范围影响的问题
你的问题根源在于Grafana会根据所选时间范围对Prometheus查询结果自动做降采样(downsampling)——当时间范围较大时,Prometheus会把多个原始数据点聚合为一个区间点,这时候last_over_time(victron_mppt_batteryVoltage[1m])计算的是每个降采样区间的最后一个值,而非你需要的最新原始数据值。
可以通过以下两种方式解决:
方式一:调整查询与Grafana面板设置
- 保留
last_over_time(victron_mppt_batteryVoltage[1m])查询语句,确保它能覆盖最近1分钟内的原始数据。 - 在Grafana的查询编辑界面,点击数据源旁的“选项”图标,将**最小间隔(Min interval)**设置为你的数据采集间隔(比如每10秒采集一次就设为
10s)。这会强制Grafana不做降采样,直接获取原始数据点。 - 在Stat面板的“选项”→“值”→“统计”中选择“Last”,确保取到的是最新的那个值。
- 保留
方式二:简化查询并强制获取瞬时值
直接使用瞬时向量查询victron_mppt_batteryVoltage,然后在Stat面板的统计设置里选择“Last”。同样需要设置最小间隔为采集间隔,避免时间范围过大时触发降采样。
这样不管你选择多大的时间范围,组件都会显示最新的原始电池电压值,不受聚合操作影响。
内容的提问来源于stack exchange,提问作者mogul
相关产品推荐
相关产品推荐

