找回密码
 立即注册
Prometheusrabbitmq查询导出 | 软件设计/软件工程 2022-05-04 417 0star收藏 版权: . 保留作者信息 . 禁止商业使用 . 禁止修改作品
问题
我正在尝试使用一个相当流行的 Docker 映像,据我所知,它使用 Prometheus 从 RabbitMQ 收集数据。这个假设似乎得到了证实,因为 /metrics 端点准确地给出了我在这种情况下从 Prometheus 获得的数据。

我的问题是,通常对 Prometheus 的查询会产生意想不到的结果。例如,如果我查询 /api/v1/query?query=rabbitmq_queue_memory ,我希望收到有关队列内存的数据。像这样的构建请求将根据 Prometheus 文档以及在普通 Prometheus 服务器上工作。该领域也确实存在。但是,我得到的只是带有 html 正文的 200 响应状态代码:
  1. <html>

  2. <head>
  3.     <title>RabbitMQ Exporter</title>
  4. </head>

  5. <body>
  6.     <h1>RabbitMQ Exporter</h1>
  7.     <p><a href='/metrics'>Metrics</a></p>
  8. </body>

  9. </html>
复制代码

我是否真的在做正确的查询也没关系。对于 /apasdfasdfasfsi/v1/query?query=rabbitmq_queue_memory

你知道如何正确查询这里的数据吗?由于这张照片很受欢迎,我在任何地方都找不到任何相关的问题(除了我自己),我认为它确实有效,但我只是做错了。

回答
看起来它正在查询 RabbitMQ 导出器,而不是 Prometheus。不确定您是否已经有一个 prometheus 实例,因此您可能需要启动一个,将其指向您的导出器的 /metrics,然后查询所说的 prometheus 实例以获取 /api/v1/query?查询=rabbitmq_queue_memory 。

导出器所做的只是生成您看到的 /metrics 输出。然后,Prometheus(正确配置)将定期抓取该端点,为每个指标构建时间序列(基于每个指标的值跨时间),您可以查询 Prometheus 以获取所述时间序列或其聚合。





上一篇:在 kotlin 中检查互联网连接 android
下一篇:C#while循环和分号