如果 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 推送监控指标全流程

Prometheus概述以及安装

如果是主页,如果是页面,如果是单页,否则如果

如果复选框选中禁用其他,如果未选中启用所有 JavaScript?

检查记录是不是存在,如果是,则“更新”,如果不“插入”