在查询中插入缺失的Prometheus值

在查询中插入缺失的Prometheus值,prometheus,grafana,Prometheus,Grafana,我的物联网设备被外部普罗米修斯代理抓取,该代理将数据上传到Grafana云 它输出两个有趣的指标:uptime,它是自设备启动以来的CPU滴答数,以及后来的last_update,它是当前时间值(通过NTP检索) 我要寻找的是一个跟踪上次更新以来经过的时间的指标,这样我就可以在设备一小时没有报告时设置警报。我想我可以做一些类似的事情: time() - last_update{job="charger"} 这是正确的,并且表明这两个值之间有~2秒的偏差。但是,当数据丢失时,

我的物联网设备被外部普罗米修斯代理抓取,该代理将数据上传到Grafana云

它输出两个有趣的指标:
uptime
,它是自设备启动以来的CPU滴答数,以及后来的
last_update
,它是当前时间值(通过NTP检索)

我要寻找的是一个跟踪上次更新以来经过的时间的指标,这样我就可以在设备一小时没有报告时设置警报。我想我可以做一些类似的事情:

time() - last_update{job="charger"}
这是正确的,并且表明这两个值之间有~2秒的偏差。但是,当数据丢失时,没有瞬间的数据,所以我恰好丢失了我感兴趣的数据。在这段时间内,该值应该上升,并最终触发警报阈值

还有一个选项是使用
up
,在没有数据的情况下,它的值似乎是
0
,但我不确定该如何工作

关于如何实现这个查询有什么想法吗

其他类似问题的答案(例如:)集中在更新抓取配置,而不是更新查询

谢谢


-mk

如果您只想在过去1小时内它根本没有报告并且度量值为“up”时发出警报,我只需要使用如下查询:

sum_over_time(up[1h]) == 0

你也可以为前男友调音。这很有帮助,谢谢。在这个设置中,我有一个树莓皮刮物联网设备。如果圆周率下降,而不是刮擦,会发生什么?我还可以得到
up
的时间序列值吗?你的普罗米修斯在Pi上吗?不,我在Pi上使用
grafana代理
,grafana Cloud作为普罗米修斯实例。啊,好吧,这么简单的回答,不,up度量将丢失。这里有很好的记录