有没有办法通过简单的Curl获取rabbitmq中队列的大小(剩余消息)?
就像是 curl -xget http://host:1234/api/queue/test/stats
谢谢
使用HTTP API从管理插件.
看起来你需要/api/queues/(vhost)/(name)
一个.输出是普通的json,所以你不会错过messages
字段(和相关).
PS:以下是有关统计数据的一些详细信息 - http://hg.rabbitmq.com/rabbitmq-management/raw-file/86f7d33a6284/priv/www/doc/stats.html,因为文档中的链接已损坏.
最后我用以下方法做了诀窍:
curl -s -i -u guest:guest http://host:port/api/queues/vhost/queue_name | sed 's/,/\n/g' | grep '"messages"' | sed 's/"messages"://g'
尽管我喜欢hacky sed one-liners,但这可能是最干净的解决方案:
curl -s -u <user>:<password> http://<host>:<port>/api/queues/<virtual-host>/<queue> | jq .messages