如何在 prometheus + grafana 中显示零而不是最后一个值

How to display zero instead of last value in prometheus + grafana

我正在使用 prometheus + grafana 来收集和显示指标。如果我的其中一台设备停止报告,grafana 将继续绘制最后一个值。例如,如果我的一个设备在 2 天前报告了它的温度并且温度是 50 度,那么 grafana 将在最近 2 天显示一条 50 度的平线。如果设备没有报告任何指标,我希望这个时间序列图下降到零。

这只是 prometheus 和 grafana 的行为方式,还是我在配置中遗漏了什么?如果设备没有报告而不是显示其最后一个值的平线,我希望这个时间序列图绘制零。

附加信息:

使用prometheus.net 将指标推送到普罗米修斯的推送网关。

我尝试在 grafana 图表的 Stacking and Null Value 部分下使用 Null value: null as zero 选项。

这是 expected behavior of push gateway. Once a value is pushed, it will stay forever. This is assumed by the dev team and TTL or expiration 的指标已被拒绝

此问题的通常解决方案是推送测量的 Unix 时间戳,并在它变得太旧或使用 UNLESS time() - timestamp_metric 条件时发出警报规则。