如何使用 RabbitMQ http api 查看哪个队列有处于就绪状态的消息

Jar*_*sch 3 performance rabbitmq

我有一个带有数千个队列的 RabbitMQ 服务器设置。其中只有大约 5 个是持久队列。时不时会有一个队列备份,其中大约有 5-10 条消息处于就绪状态。这些消息似乎不在持久队列中。我想找出哪些队列的消息处于就绪状态,但唯一表明发生这种情况的迹象是在适用于所有队列的 Web 管理控制台的概述页面上。 在此输入图像描述

有没有办法查询 Rabbit 来告诉我在几分钟内处于就绪状态的消息的统计信息以及它们位于哪个队列中?

Bal*_*ato 5

我会使用 HTTP API。

http://rabbit-broker:15672/api/queues

这将为您提供 JSON 格式的当前队列状态列表,因此您必须不断轮询它。存储您要监视的时间段内给定队列“名称”的“messages_ready”。现在您将能够看到哪些队列出现积压高峰。

您可以使用简单的curl 以及您喜欢的任何平台的HTTP 客户端。

请注意:您要连接的用户必须具有监视器标记才能访问所有队列信息。

开箱即用,据我所知,没有简单的方法,您必须手动单击队列并在 UI 中查看过去一小时的图表,这很乏味。