web-dev-qa-db-ja.com

すべての仮想ホスト上のrabbitmqリストキュー

いくつかの仮想ホストを持つrabbitmqを持っています。それぞれにいくつかのキューがあります。 rabbitmqctlを使用してすべてのvhostsからすべてのキューを一覧表示するにはどうすればよいですか?私はもう試した:

rabbitmqctl list_queues -p /*
rabbitmqctl list_queues -p *
rabbitmqctl list_queues -p /
rabbitmqctl list_queues -p ./*

何か案は?

6

これで試してください:

#!/bin/bash
IFS=$'\n'
ordered_vhosts=$(./rabbitmqctl list_vhosts -q | xargs -n1 | sort -u)

for V in $ordered_vhosts; do
    echo "*****Vhost $V Total queues " $(./rabbitmqctl list_queues -q -p $V | wc -l)
    for Q in $(./rabbitmqctl list_queues -q name messages -p $V | xargs -n2 | sort -u); do
        echo "Vhost $V queue-name total-messages $Q"
    done
done
8
Gabriele

for i in $(rabbitmqctl list_vhosts); do echo vhost: $i && rabbitmqctl list_queues -p $i; doneを使用して、コマンドラインから実行することができます

5
Kyle