RabbitMQ 教程

查看信道状态

在 RabbitMQ 中,可通过 rabbitmqctl list_channels 命令查看当前所有信道的信息。命令格式如下:

rabbitmqctl [--node <node>] [--longnames] [--quiet] list_channels [--no-table-headers] [channelinfoitem...]

参数说明:

  • -?, --help:显示命令的帮助信息

  • -n <node>, --node <node>:连接到指定的节点 <node>

  • -l, --longnames:使用长主机名

  • -t, --timeout <n>:对于支持它的命令,以秒为单位的操作超时

  • -q, --quiet:抑制提示性消息的输出

  • -s, --silent:抑制提示性消息的输出和表格标题行

  • -p, --vhost:对于作用域为虚拟主机的命令,要使用的虚拟主机

  • --formatter:如果支持,则使用替代结果格式化程序:JSON、Pretty_TABLE、TABLE、CSV、Erlang 并非所有命令都支持所有(或任何)替代格式化程序。

其中,channelinfoitem 参数用于指示哪些信息项会包含在结果集中,结果集的列顺序将匹配参数的顺序。channelinfoitem 可选值如下:

  • pid:与连接相关的 Erlang 进程 ID

  • connection:信道所属连接的 Erlang 进程 ID

  • name:信道的名称

  • number:信道的序号

  • user:与信道相关的用户名称

  • vhost:与信道相关的虚拟机 vhost

  • transactional:信道是否处于事务模式

  • confirm:信道是否处于 publisher confirm 模式

  • consumer_count:信道中的消费者的个数

  • messages_unacknowledged:己投递但是还未被 ack 的消息个数

  • messages_uncommitted:己接收但是还未提交事务的消息个数

  • acks_uncommitted:己 ack 收到但是还未提交事务的消息个数

  • messages_unconfirmed:己发送但是还未确认的消息个数。如果信道不处于 publisher confirm 模式下,则此值为 0

  • perfetch_count:新消费者的 Qos 个数限制,0 表示无上限

  • global_prefetch_count:整个信道的 Qos 个数限制,0 表示无上限

示例

(1)如果没有指定 channelinfoitem 信息,那么默认会显示 pid、user、consumer_count 和 messages_ unacknowledged 这几项信息

D:\server\rabbitmq_server-3.9.11\sbin> rabbitmqctl list_channels
Listing channels ...
pid     user    consumer_count  messages_unacknowledged
<rabbit@hxstrive.1648180398.3389.0>     root    0       0

(2)使用 -q 选项抑制提示性消息的输出

D:\server\rabbitmq_server-3.9.11\sbin> rabbitmqctl list_channels -q
pid     user    consumer_count  messages_unacknowledged
<rabbit@hxstrive.1648180398.3389.0>     root    0       0

(3)使用 -s 抑制提示性消息的输出和表格标题行,可以比较上面示例(2)的输出

D:\server\rabbitmq_server-3.9.11\sbin> rabbitmqctl list_channels -s
<rabbit@hxstrive.1648180398.3389.0>     root    0       0

(4)使用 -p 参数指定虚拟主机

D:\server\rabbitmq_server-3.9.11\sbin> rabbitmqctl list_channels -p vhost1 connection name vhost
Listing channels ...
connection      name    vhost
<rabbit@hxstrive.1648180398.4001.0>     127.0.0.1:17350 -> 127.0.0.1:5672 (1)   /
<rabbit@hxstrive.1648180398.4014.0>     127.0.0.1:17352 -> 127.0.0.1:5672 (1)   vhost1
<rabbit@hxstrive.1648180398.4027.0>     127.0.0.1:17353 -> 127.0.0.1:5672 (1)   vhost2

D:\server\rabbitmq_server-3.9.11\sbin> rabbitmqctl list_channels -p vhost2 connection name vhost
Listing channels ...
connection      name    vhost
<rabbit@hxstrive.1648180398.4001.0>     127.0.0.1:17350 -> 127.0.0.1:5672 (1)   /
<rabbit@hxstrive.1648180398.4014.0>     127.0.0.1:17352 -> 127.0.0.1:5672 (1)   vhost1
<rabbit@hxstrive.1648180398.4027.0>     127.0.0.1:17353 -> 127.0.0.1:5672 (1)   vhost2
说说我的看法
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号