在 RabbitMQ 中使用 rabbitmqctl list_connections 命令查看TCP/IP连接的统计信息,命令格式:
rabbitmqctl list_connections [connectioninfoitem...]
注意,connectioninfoitem 参数用于指示哪些信息项会包含在结果集中,结果集的列顺序将匹配参数的顺序。connectioninfoitem 可选值如下:
pid:与连接相关的 Erlang 进程 ID
name:连接的名称。
port:服务器端口
host:返回反向 DNS 获取的服务器主机名称,或者 IP 地址,或者未启用。
peer_port:服务器对端端口。当一个客户端与服务器连接时,这个客户端的端口就是 peer_port。
peer_host:返回反向 DNS 获取的对端主机名称,或者 IP 地址,或者未启用。
ssl:是否启用 SSL
ssl_protocol:SSL 协议,如 tlsvl
ssl_key_exchange: SSL 密钥交换算法,如:rsa
ssl_cipher: SSL 加密算法,如:aes_256_cbc
ssl_hash: SSL 哈希算法,如:sha
peer_cert_subject:对端的 SSL 安全证书的主题,基于 RFC4514 的形式
peer_cert_issuer:对端 SSL 安全证书的发行者,基于 RFC4514 的形式
peer_cert_validity:对端 SSL 安全证书的有效期。
state:连接状态,包括 starting、tuning、opening、running、flow、blocking、blocked、closing 和 closed 这几种。
channels:该连接中的信道个数。
protocol:使用的 AMQP 协议的版本,当前是{0,9,1}或者{0,8,0}。注意,如果客户端请求的是 AMQP 0-9 的连接,RabbitMQ 也会将其视为 0-9-1。
auth_mechanism:使用的 SASL 认证机制,如 PLAIN、AMQPLAIN、EXTERNAL、RABBIT-CR-DEMO 等
user:与连接相关的用户名。
vhost:与连接相关的 vhost 的名称。
timeout:连接超时/协商的心跳间隔,单位为秒。
frame_max:最大传输帧的大小,单位为 B
channel_max:此连接上信道的最大数量。如果值 0,则表示无上限,但客户端一般会将 0 转变为 65535
client_properties:在建立连接期间由客户端发送的信息属性。
recv_oct:收到的字节数。
recv_cnt:收到的数据包个数。
send_oct:发送的字节数。
send_cnt:发送的数据包个数。
send_pend:发送队列大小。
connected_at:连接建立的时间戳。
(1)如果没有指定 connectioninfoitem 信息,那么默认会显示 user、peer_host、peer_port 和 state 这几项信息。
D:\server\rabbitmq_server-3.9.11\sbin> rabbitmqctl list_connections Listing connections ... user peer_host peer_port state root 127.0.0.1 9365 running
(2)手动指定 connectioninfoitem 信息,例如:
D:\server\rabbitmq_server-3.9.11\sbin> rabbitmqctl list_connections user peer_host peer_port state Listing connections ... user peer_host peer_port state root 127.0.0.1 9365 running