如果 Prometheus/Pushgateway 有旧数据,Grafana 会发出警报
Posted
技术标签:
【中文标题】如果 Prometheus/Pushgateway 有旧数据,Grafana 会发出警报【英文标题】:Grafana to alert if Prometheus/Pushgateway have old data 【发布时间】:2021-02-20 02:04:28 【问题描述】:我有一些客户将他们的指标推送到Pushgateway,然后被Prometheus 抓取。最后,我将Grafana 用于仪表板——我猜这不是一个太奇特的设置。
让我感到困惑的是,当其中一个客户端停止工作并且不再推送它的指标时,Pushgateway 会进一步将它收到的最后一个值提供给 Prometheus,而 Grafana 会愉快地显示一条水平线。
但是,如果指标太旧,我更愿意收到警报。如何做到这一点?
【问题讨论】:
【参考方案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 秒),它就像一个魅力。
【讨论】:
以上是关于如果 Prometheus/Pushgateway 有旧数据,Grafana 会发出警报的主要内容,如果未能解决你的问题,请参考以下文章
解析 Prometheus PushGateway 推送监控指标全流程
解析 Prometheus PushGateway 推送监控指标全流程