在Prometheus警报规则中验证不同实例上的某些指标

时间:2019-05-13 08:28:11

标签: prometheus prometheus-alertmanager server-monitoring

我在普罗米修斯中有多个目标,它们会产生多个指标。我需要验证某个指标在多个实例上生成的值,并在这些值彼此不相等时触发警报。

metric_name:treds_load_peer_db_doc_cnt

值日志:

treds_load_peer_db_doc_cnt {instance =“ com.peer0”,ip =“ 192.168.191.2”,job =“ prod”} 2136589 treds_load_peer_db_doc_cnt {instance =“ com.peer1”,ip =“ 10.121.81.38”,job =“ prod”} 2136590 treds_load_peer_db_doc_cnt {instance =“ com.peer2”,ip =“ 10.121.1.57”,job =“ prod”} 2136590

这是我当前正在使用的查询: treds_load_peer_db_doc_cnt {instance =“ com.peer0”}!=忽略(实例,ip)treds_load_peer_db_doc_cnt {instance =“ com.peer1”}

可以解决,但弄乱了所有标签。 有没有办法一次检查所有目标的指标并在不匹配的情况下发出警报?

1 个答案:

答案 0 :(得分:0)

我会做类似的事情:

max without(instance,ip)(treds_load_peer_db_doc_cnt) != min without(instance,ip)(treds_load_peer_db_doc_cnt)

如果它们不完全相同,则会生成警报。