我正在使用 pika,想知道如何获取确认统计数据。
我已经安装了管理插件,从中可以看到确认统计信息,但我想直接通过库访问它;比如鼠兔。
编辑:
今天我将使用内置的 Prometheus 插件 来收集详细的统计数据。
如果您想获取数据,您只需使用 Python 中的 HTTP 客户端并使用 RabbitMQ 管理 API 来检索数据供您自己使用。
API 非常容易使用,但这个特殊功能不一定有很好的文档记录。然而,您可以轻松地映射您需要的信息并使用它来生成您需要的信息类型。
您只需这样调用队列信息即可:
http://127.0.0.1:15672/api/queues/%2F/Test
只需将
Test
替换为您需要从中收集数据的队列的名称。
然后您可以添加几个选项来获取更详细的信息:
?lengths_age=60&lengths_incr=5&msg_rates_age=60&msg_rates_incr=5
例如
http://127.0.0.1:15672/api/queues/%2F/queue_name?lengths_age=60&lengths_incr=5&msg_rates_age=60&msg_rates_incr=5
输出看起来像这样:
{"memory": 21816,
"message_stats":
{
"publish": 4,
"publish_details":
{
"rate": 0.0,
"samples": [....]
},
"messages": 4,
"messages_details":
{
"rate": 0.0,
"samples": [....],
"avg_rate": 0.0,
"avg": 4.0},
"messages_ready": 4,
"messages_ready_details": {
"rate": 0.0,
"samples": [....],
"avg_rate": 0.0,
"avg": 4.0
},
.....
如果您正在寻找 RabbitMQ 服务器的概述,而不是特定队列,您可以使用此 api 调用。
http://127.0.0.1:15672/api/overview?lengths_age=60&lengths_incr=5&msg_rates_age=60&msg_rates_incr=5
有关 API 的一般文档可在此处获取。