【问题标题】:Grafana to alert if Prometheus/Pushgateway have old data如果 Prometheus/Pushgateway 有旧数据,Grafana 会发出警报
【发布时间】:2021-02-20 02:04:28
【问题描述】:
我有一些客户将他们的指标推送到Pushgateway,然后被Prometheus 抓取。最后,我将Grafana 用于仪表板——我猜这不是一个太奇特的设置。
让我感到困惑的是,当其中一个客户端停止工作并且不再推送它的指标时,Pushgateway 会进一步将它收到的最后一个值提供给 Prometheus,而 Grafana 会愉快地显示一条水平线。
但是,如果指标太旧,我更愿意收到警报。如何做到这一点?
【问题讨论】:
标签:
prometheus
grafana
alarm
【解决方案1】:
Prometheus 使用 time() 提供当前时间,它提供自 1970 年 1 月 1 日 UTC 以来的秒数。
Pushgateway 为每个作业保留一个指标:push_time_seconds,它显示自 1970 年 1 月 1 日 UTC 以来最后一次推送的时间(以秒为单位)。
所以查询
time() - push_time_seconds
会以秒为单位显示您拥有的每个exported_job 的年龄。现在,如果值超过定义的阈值,则可以轻松进一步过滤和报警。对于预计每天运行一次的作业(因此它们的指标预计永远不会超过 24 小时),我在 Grafana 中将阈值配置为 25 小时(90000 秒),它就像一个魅力。