我正在使用prometheus获取特定度量(即verify__count
(的警报。我有3个目标在运行,目前规则如下。
expr: absent(verify__count) > 0
我面临的问题是,只有当所有3个目标都被击落时,才会发出警报。
我想将其保留为严重警报,并添加一个其他警报规则,该规则会在1或2个目标关闭时通知我(以及目标名称(。
我一直在想,每个目标都要遵循这样的思路。
expr: absent(verify_count) == 0 and absent((verify_count{instance="instance1:8080"}))
但有人建议我不要在3个实例中使用缺席和重写此警报。
非常感谢您的帮助。
absent()
函数用于检查任何实例上是否存在度量。以下是一个查询,用于检查哪些实例缺少特定的度量:
up{job="foo"} == 1 unless on(job, instance) verify_count
它的工作原理如下:
up{job="foo"} == 1
列出foo
刮取作业的运行实例unless
从正在运行的实例列表中删除那些是具有完全相同(job, instance)
标签的verify_count
度量的实例
剩下的是没有相应verify_count
度量的实例,换句话说,就是没有该度量的实例。