问题
我正在尝试使用一个相当流行的 Docker 映像,据我所知,它使用 Prometheus 从 RabbitMQ 收集数据。这个假设似乎得到了证实,因为 /metrics 端点准确地给出了我在这种情况下从 Prometheus 获得的数据。
我的问题是,通常对 Prometheus 的查询会产生意想不到的结果。例如,如果我查询 /api/v1/query?query=rabbitmq_queue_memory ,我希望收到有关队列内存的数据。像这样的构建请求将根据 Prometheus 文档以及在普通 Prometheus 服务器上工作。该领域也确实存在。但是,我得到的只是带有 html 正文的 200 响应状态代码:
- <html>
- <head>
- <title>RabbitMQ Exporter</title>
- </head>
- <body>
- <h1>RabbitMQ Exporter</h1>
- <p><a href='/metrics'>Metrics</a></p>
- </body>
- </html>
复制代码
我是否真的在做正确的查询也没关系。对于 /apasdfasdfasfsi/v1/query?query=rabbitmq_queue_memory
你知道如何正确查询这里的数据吗?由于这张照片很受欢迎,我在任何地方都找不到任何相关的问题(除了我自己),我认为它确实有效,但我只是做错了。
回答
看起来它正在查询 RabbitMQ 导出器,而不是 Prometheus。不确定您是否已经有一个 prometheus 实例,因此您可能需要启动一个,将其指向您的导出器的 /metrics,然后查询所说的 prometheus 实例以获取 /api/v1/query?查询=rabbitmq_queue_memory 。
导出器所做的只是生成您看到的 /metrics 输出。然后,Prometheus(正确配置)将定期抓取该端点,为每个指标构建时间序列(基于每个指标的值跨时间),您可以查询 Prometheus 以获取所述时间序列或其聚合。
|