RabbitMQ 中使用命令查看指定虚拟主机(vhost)中所有队列的状态信息。如果没有指定 [-p vhost] 参数,则返回“/”默认虚拟主机的队列详细信息,通过 -p 参数可以覆盖此默认值。
我们还可以使用该命令提供的互斥选项,按状态或位置过滤显示的队列信息。
命令格式如下:
rabbitmqctl list_queues [-p vhost] [--offline | --online | --local] [queueinfoitem ...]
参数说明:
--offline:仅列出当前不可用的那些持久队列(更具体地说,它们的领导节点不可用)
--online:用来列出当前可用的队列(它们的领导节点是可用的)
--local:仅列出领导副本位于当前节点上的那些队列
queueinfoitem 参数用于指示哪些队列的信息项会包含在结果集中,结果集的列顺序将匹配参数的顺序。queueinfoitem 可以选值如下:
name:队列名称
durable:队列是否持久化
auto_delete:队列是否自动删除
arguments:队列的参数
policy:应用到队列上的策略名称
pid:队列关联的 Erlang 进程的 ID
owner_pid:处理排他队列连接的 Erlang 进程 ID。如果此队列是非排他的,此值将为空。
exclusive:队列是否是排他的
exclusive_consumer_pid:订阅到此排他队列的消费者相关的信道关联的 Erlang 进程 ID。如果此队列是非排他的,此值将为空
exclusive_consumer_tag:订阅到此排他队列的消费者的 consumerTag。如果此队列是非排他的,此值将为空。
messages_ready:准备发送给客户端的消息个数
messages_unacknowledged:发送给客户端但尚未应答的消息个数
messages:准备发送给客户端和未应答消息的总和
messages_ready_ram:驻留在内存中 messages_ready 的消息个数
messages_unacknowledged_ram:驻留在内存中 messages_unacknowledged 的消息个数
messages_ram:驻留在内存中的消息总数
messages_persistent:队列中持久化消息的个数。对于非持久化队列来说总是 0。
messages_bytes:队列中所有消息的大小总和。这里不包括消息属性或者任何其他开销。
messages_bytes_ready:准备发送给客户端的消息的大小总和。
messages_bytes_unacknowledged:发送给客户端但尚未应答的消息的大小总和。
messages_bytes_ram:驻留在内存中的 messages_bytes。
messages_bytes_persistent:队列中持久化的 messages_bytes
disk_reads:从队列启动开始,己从磁盘中读取该队列的消息总次数。
disk_writes:从队列启动开始,己向磁盘队列写消息的总次数。
consumer:消费者数目。
consumer_utilisation:队列中的消息能够立刻投递给消费者的比率,介于 0 和 1 之间。这个受网络拥塞或者 Basic.Qos 的影响而小于 1。
memory:与队列相关的 Erlang 进程所消耗的内存字节数,包括栈、堆及内部结构
slave_pids:如果队列是镜像的,列出所有 slave 镜像的 pid。
synchronised_slave_pids:如果队列是镜像的,列出所有己经同步的 slave 镜像的 pid。
state:队列状态。正常情况下是 running;如果队列正常同步数据可能会有 “{syncing, MsgCount}” 的状态;如果队列所在的节点掉线了,则队列显示状态为 down(此时大多数的 queueinfoitems 也将不可用)。
(1)如果不指定 queueinfoitems,则默认只列出队列名和消息个数
D:\server\rabbitmq_server-3.9.11\sbin> rabbitmqctl list_queues Timeout: 60.0 seconds ... Listing queues for vhost / ... name messages queue_ExchangeDlx2 0 queue-SenderAckDemo2 0 unroutedQueue 0 queue-SenderAckDemo1 0
(2)手动指定 queueinfoitems 信息,列出队列名称、是否持久化、是否自动删除和参数信息
D:\server\rabbitmq_server-3.9.11\sbin> rabbitmqctl list_queues name durable auto_delete arguments Timeout: 60.0 seconds ... Listing queues for vhost / ... name durable auto_delete arguments queue_ExchangeDlx2 true false [{"x-dead-letter-exchange","exchange_ExchangeDlx2_DLX"}] queue-SenderAckDemo2 true false [] unroutedQueue true false [] queue-SenderAckDemo1 true false [] queue-SenderAckDemo3 true false []
(3)使用 -p 参数手动指定虚拟机
D:\server\rabbitmq_server-3.9.11\sbin> rabbitmqctl list_queues -p vhost1 Timeout: 60.0 seconds ... Listing queues for vhost vhost1 ... name messages queue-hxstrive-5 0 queue-hxstrive-1 0 queue-hxstrive-4 0 queue-hxstrive-3 0