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

Grafana 8.1.5新时间序列图如何将Prometheus数据源空值设为零

解决方案

方案一:Grafana面板配置(优先推荐)

新版Time Series面板的空值处理配置没有放在和旧版相同的Stacking分组下,你可以通过以下路径配置:

  • 打开对应Time Series面板的右侧配置栏,找到Standard options(标准选项)分组
  • 找到Missing values(缺失值)配置项,下拉选择Fill with 0(用0填充)即可

该配置和旧版Graph面板的null as zero效果完全一致,无需修改PromQL查询语句,也不会影响图例差值difference的正常计算。

方案二:修改PromQL查询语句

你之前使用的or on() vector(0)写法错误,on()参数清空了匹配用的标签列表,导致Prometheus不会按code标签匹配原序列和0值序列,只会生成一条无任何标签的全局0序列。正确写法如下:

my_metric{code!=""} or sum by (code) (my_metric{code!=""}) * 0

如果需要覆盖查询时间范围内曾经出现过、但当前无数据的code标签序列,可以调整为如下写法(将offset 7d的时间范围调整为你常用的最大查询时间跨度即可):

my_metric{code!=""} or sum by (code) (my_metric{code!=""} offset 7d) * 0

该写法会给每个存在的code标签值生成对应的0值序列,和原序列匹配后即可实现缺失点补0,不会额外生成多余的无标签序列,也不会影响Counter类型指标的差值计算。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 19:57:02