我有很多服务器用Prometheus进行监视,每个主机都有相同的指标。
我需要一个警报规则,以在5m后在特定主机上缺少特定指标(例如some_metrics
)时发出警报。
我检查了absent
和absent_over_time
,但是这些函数不会返回缺少度量标准的标签,例如ip
或hostname
。
我还应该声明我不想为每个主机创建一个规则。
我已经搜索过,但是找不到任何解决方法。
有什么解决方法吗?
答案 0 :(得分:1)
为了获取标签,您需要一个具有所有所需标签的指标。通常,up
是一个不错的选择,它也可以区分缺少的指标和无法达到的目标。
如果up(作业中)为1,则规则将发出警报;如果实例中存在指标,则UNLESS
二进制运算符将禁用警报:
- alert: MissingMetricInFooTarget
rule: up{job="foo"} == 1 UNLESS ON(instance) some_metrics{job="foo"}