一、通过命令行工具查看
查看队列基础信息
列出所有队列及消息数量:
rabbitmqctl list_queues name messages_ready messages_unacknowledged
(输出示例:队列名称、待消费消息数、未确认消息数)57
查看交换机、绑定关系等元数据:
rabbitmqctl list_exchanges # 所有交换机 rabbitmqctl list_bindings # 绑定关系 ```:ml-citation{ref="5,7" data="citationList"}
查看消息内容
从队列中获取指定数量的消息(需在 RabbitMQ 安装目录执行):
./rabbitmqctl get_queue_messages <队列名> <数量>
(输出包含消息体及元数据)47
二、通过 Web 管理界面查看
访问管理界面
默认地址:
http://<RabbitMQ服务器IP>:15672
,使用管理员账号登录46。
查看队列数据
导航至 Queues 选项卡,选择目标队列:
Messages 字段:显示队列中的消息总数46。
点击 Get messages 按钮,输入数量后查看消息体(支持 JSON 格式化)46。
三、通过编程接口(Python)获取数据
安装依赖库
pip install pika ```:ml-citation{ref="1,2" data="citationList"}
获取队列消息数
import pika def get_queue_size(host, queue_name): connection = pika.BlockingConnection(pika.ConnectionParameters(host)) channel = connection.channel() queue = channel.queue_declare(queue=queue_name, passive=True) print(f"消息数: {queue.method.message_count}") connection.close()
(调用示例:
get_queue_size('localhost', 'my_queue')
)1消费全部消息
def consume_messages(host, queue_name): connection = pika.BlockingConnection(pika.ConnectionParameters(host)) channel = connection.channel() while True: method, _, body = channel.basic_get(queue=queue_name, auto_ack=True) if not method: break print(f"消息内容: {body.decode()}") connection.close() ```:ml-citation{ref="2" data="citationList"}
四、高级查询与监控
消息轨迹查询
启用 RabbitMQ 的 Trace 插件 后,可通过控制台按时间范围、Routing Key、Header 等条件筛选消息(最多返回 1000 条)6。
集群与节点状态
检查节点健康状态:
rabbitmqctl status # 查看节点资源使用及运行状态 rabbitmqctl list_connections # 活跃连接信息 ```:ml-citation{ref="5,7" data="citationList"}
验证集群高可用性(如镜像队列配置)37。