0

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

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

附加信息:

使用 prometheus.net 将指标推送到 prometheus 的推送网关。

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

4

1 回答 1

3

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

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

于 2020-02-03T19:35:53.700 回答