如果普罗米修斯中缺少某些标签中的数据,则发出警报 [英] Alert if data in certain labels is missing in Prometheus
本文介绍了如果普罗米修斯中缺少某些标签中的数据,则发出警报的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
disk_up{disk="diskA"}
将具有数据和
disk_up{disk="diskB"}
将丢失
absent(disk_up)
将为0,因为DISK_UP具有DISKA的数据。
absent(disk_up{disk="diskB"})
将达到目的。但我不想硬编码磁盘名称。
我是否可以知道为此方案设置警报的哪种方法更好。
推荐答案
您可以使用如下代码:
max_over_time(disk_up[1h])
unless
disk_up
即该指标在过去1小时内的任何时间都存在,但现在不存在。
但是,如果为某些diskC
弹出disk_up
指标,您将得到误报。或者指标由于导出器或您的普罗米修斯配置而获得或丢失一个标签。
您可以通过显式过滤您感兴趣的磁盘/实例/来避免前一种情况,但这会使您无法实现不对它们进行硬编码的目标。但这可能是更明智的做法:
max_over_time(disk_up{disk~="disk(A|B)"}[1h])
unless
disk_up{disk~="disk(A|B)"}
或至少
max_over_time(disk_up{job="my_disk_job"}[1h])
unless
disk_up{job="my_disk_job"}
这篇关于如果普罗米修斯中缺少某些标签中的数据,则发出警报的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文