有没有办法通过简单的Curl获取rabbitmq中队列的大小(剩余消息)?
像curl -xget http://host:1234/api/queue/test/stats
谢谢
答案 0 :(得分:21)
最后我用以下方法做了诀窍:
curl -s -i -u guest:guest http://host:port/api/queues/vhost/queue_name | sed 's/,/\n/g' | grep '"messages"' | sed 's/"messages"://g'
答案 1 :(得分:6)
使用Management Plugin中的HTTP API。
看起来你可能会从/api/queues/(vhost)/(name)
中受益。输出是普通的json,所以你不会错过messages
字段(和相关的)。
答案 2 :(得分:5)
尽管我喜欢hacky sed one-liners,但这可能是最干净的解决方案:
curl -s -u <user>:<password> http://<host>:<port>/api/queues/<virtual-host>/<queue> | jq .messages
答案 3 :(得分:0)
curl -u login:password http://localhost:15672/api/queues | sed 's/,/\n/g' | grep '"messages"\:'
Rabbitmq v3.3.4基于HTTP API的PHP库。
答案 4 :(得分:0)
我很欣赏这是一篇老文章,并且该问题专门指出了使用“ curl”的问题,但是认为添加“ rabbitmqctl list_queues”命令提供每个队列的消息计数可能会有用