繁体   English   中英

如何在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 将指标推送到 prometheus 的推送网关。

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

这是推送网关的预期行为 一旦一个值被推送,它将永远保留。 这是开发团队假设的, TTL 或指标过期已被拒绝

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

您可以将此部分添加到表达式的末尾以解决此问题(如果度量表达式不返回任何内容,它将返回 0):

OR on () vector(0)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM