首页 > 解决方案 > Prometheus 查询比较具有相同标签集的不同指标

问题描述

我正在尝试监视rabbitmq中是否有队列:

  1. 有消息
  2. 没有消费者
  3. 不叫 .*_retry

如果队列匹配所有三个,我想创建一个警报。

找到单个指标没有问题,但我无法理解我将如何在一个查询中使用不同的指标,并按一组标签(即实例、队列)对它们进行分组。

这甚至可能吗?

我正在使用最新版本的 prometheus 并通过它内置的 prometheus 指标插件来抓取 rabbitmq。

标签: rabbitmqprometheus

解决方案


例如,如果您有来自不同出口商的两个指标:

probe_success              => Blackbox exporter
node_memory_MemTotal_bytes => Node exporter

假设它们有两个共同的标签:“实例”和“组”。

如果您使用以下查询:

sum by (instance, group) (node_memory_MemTotal_bytes)>20000000000 and sum by (instance, group) (probe_success)==1

您将获得内存>20G 且已启动的实例+组。

在此处的 Prometheus 文档中查看有关逻辑运算符的更多信息。


推荐阅读