普罗米修斯无指标清除警报 [英] Prometheus no metric clears alert

查看:0
本文介绍了普罗米修斯无指标清除警报的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们使用普罗米修斯来观察我们自己的应用程序的指标。我们应用程序的API提供了一个向普罗米修斯提供指标的端点。普罗米修斯每30秒收集一次信息。

基于这些指标,我们定义了一些警报,这些警报触发到AlertManager,然后触发电子邮件警报、松弛消息或显示在Alerta中。

我们的应用程序有时无法交付指标,而普罗米修斯刮板程序在超时运行。每当在这种时刻缺少指标时,相应的警报就会被清除(在电子邮件、Slack、Alerta内)。

30秒后,我们的应用程序再次传递指标,普罗米修斯发出新警报(它再次触发电子邮件、松弛消息并在Alerta中显示新警报)。

如果没有给出任何指标,则没有理由清除警报,警报清除可能基于该指标(至少在我们看来是这样)。

是否有配置Prometheus或AlertManager的选项,即只有在指标导致警报解决/清除时才会解决/清除警报(而不是将缺少指标解释为警报清除)?

推荐答案

可以使用聚合函数last_over_time()完成此操作。

例如,假设您感兴趣的度量为:probe_success

您的警报表达式当前为:probe_success == 0

如果没有该指标,则不会返回值,因此您的警报将清除您所描述的问题。

改为将警报表达式更改为:last_over_time(probe_success[12h]) == 0

这将返回过去12小时内记录的最后一个度量值。将时间范围调整为您愿意容忍该度量缺失的时间长度,同时仍假定它会返回。

这篇关于普罗米修斯无指标清除警报的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆