在 Prometheus 警报规则中验证不同实例的某些指标
Verify certain metric on different instances in Prometheus alert rules
我在 prometheus 中有多个生成多个指标的目标。我需要验证某个指标在多个实例上生成的值,并在值彼此不相等时触发警报。
metric_name: treds_load_peer_db_doc_cnt
值日志:
treds_load_peer_db_doc_cnt{实例="com.peer0",ip="192.168.191.2",工作="prod"} 2136589
treds_load_peer_db_doc_cnt{实例="com.peer1",ip="10.121.81.38",工作="prod"} 2136590
treds_load_peer_db_doc_cnt{实例="com.peer2",ip="10.121.1.57",工作="prod"} 2136590
这是我目前正在使用的查询:
treds_load_peer_db_doc_cnt{instance="com.peer0"} != ignoring(instance,ip) treds_load_peer_db_doc_cnt{instance="com.peer1"}
虽然可行,但弄乱了所有标签。
有没有一种方法可以同时检查所有目标中的指标并在未匹配的情况下发出警报?
我会这样做:
max without(instance,ip)(treds_load_peer_db_doc_cnt) != min without(instance,ip)(treds_load_peer_db_doc_cnt)
如果它们不完全相同,将生成警报。
我在 prometheus 中有多个生成多个指标的目标。我需要验证某个指标在多个实例上生成的值,并在值彼此不相等时触发警报。
metric_name: treds_load_peer_db_doc_cnt
值日志:
treds_load_peer_db_doc_cnt{实例="com.peer0",ip="192.168.191.2",工作="prod"} 2136589 treds_load_peer_db_doc_cnt{实例="com.peer1",ip="10.121.81.38",工作="prod"} 2136590 treds_load_peer_db_doc_cnt{实例="com.peer2",ip="10.121.1.57",工作="prod"} 2136590
这是我目前正在使用的查询: treds_load_peer_db_doc_cnt{instance="com.peer0"} != ignoring(instance,ip) treds_load_peer_db_doc_cnt{instance="com.peer1"}
虽然可行,但弄乱了所有标签。 有没有一种方法可以同时检查所有目标中的指标并在未匹配的情况下发出警报?
我会这样做:
max without(instance,ip)(treds_load_peer_db_doc_cnt) != min without(instance,ip)(treds_load_peer_db_doc_cnt)
如果它们不完全相同,将生成警报。