如何在Grafana中创建仅展示特定时刻Gauge指标值的时序图?
解决Grafana时序图无数据时段不填充的问题
Grafana默认会对Gauge类型指标的间隙做线性插值填充,这是因为Gauge代表状态值,默认逻辑是状态会持续到下一个数据点。要实现无指标发送时段图表空白的效果,可以通过以下几种方式处理:
修改查询语句,精准获取存在数据的时刻
将原查询替换为:last_over_time(metric{metric_type="gauge", env="development"}[1s])这里的
[1s]窗口可以根据你的指标发送频率调整(比如每分钟发一次就用[1m]),确保每个窗口仅覆盖单个数据点的时间范围。这样查询只会返回有数据点的时刻的值,无数据的窗口不会返回结果,图表对应时段就会空白。调整面板插值设置
- 打开时序图面板的「Panel options」
- 找到「Graph styles」下的「Interpolation」选项
- 将默认的「Linear」改为「None」
这种方式无需修改查询,直接让图表在无数据时段断开显示,不会填充间隙。如果想让最后一个值保持到下一个数据点前再断开,也可以选「Step before」。
调整完成后,图表就只会在有指标发送的时刻展示数值,无数据时段呈现空白,符合你的需求。
内容的提问来源于stack exchange,提问作者Artem
相关产品推荐
相关产品推荐

