我需要使用Rabbit mq ctl获取队列到使用者ip的映射。
在用户界面中,我可以在消费者标签中看到这一点,该标签为我提供了IP和端口。
使用Rabbit MQ CTL list_queues->给我队列和频道名称
rabbitmqctl list_queues
q1 <rabbit@sg-rabbitmq-0.1.32026.83>
list_consumers->为我提供了具有通道ID的队列的使用者列表
rabbitmqctl list_consumers
q1 <rabbit@sg-rabbitmq-0.1.23140.1150> amq.ctag-efPo6z_2JPGTP_Rt02yjdA true 1 []
list_channels->给我频道列表
rabbitmqctl list_channels pid connection number user vhost transactional
<rabbit@sg-rabbitmq-0.1.23140.1150> <rabbit@sg-rabbitmq-0.1.31144.1148> 6 admin / false
如何获取为此通道创建的连接和IP?
答案 0 :(得分:0)
想通了,需要在list_channels中传递连接参数
rabbitmqctl list_channels pid connection name number
<rabbit@sg-rabbitmq-0.1.23140.1150> <rabbit@sg-rabbitmq-0.1.31144.1148> 52.187.117.61:1232 -> 10.3.110.215:5672 (6) 6
对连接使用grep连接可以得到ip详细信息
rabbitmqctl list_connections pid name | grep "rabbit@sg-rabbitmq-0.1.31144.1148"
<rabbit@sg-rabbitmq-0.1.31144.1148> 1.2.3.4:1232 -> 10.10.10.215:5672
其中Rabbit@sg-rabbitmq-0.1.31144.1148是连接ID。