rabbitmq 常用排查命令
ChatGPT said:
排查 RabbitMQ 问题时,以下是一些常用命令,涵盖连接、队列、交换机、消息堆积、死信等典型场景:
✅ 基础信息查看
1. 查看节点和状态
bash
CopyEdit
rabbitmqctl status
2. 查看所有连接
bash
CopyEdit
rabbitmqctl list_connections
3. 查看连接详细信息(包括 IP、用户名、状态)
bash
CopyEdit
rabbitmqctl list_connections pid username client_properties
📦 队列相关
4. 查看所有队列
bash
CopyEdit
rabbitmqctl list_queues
5. 查看队列的消息堆积(包括准备投递、未确认等)
bash
CopyEdit
rabbitmqctl list_queues name messages_ready messages_unacknowledged
6. 查看队列绑定关系
bash
CopyEdit
rabbitmqctl list_bindings
🔄 交换机相关
7. 查看所有交换机
bash
CopyEdit
rabbitmqctl list_exchanges
8. 查看某个交换机绑定的队列
bash
CopyEdit
rabbitmqctl list_bindings source_name destination_name routing_key
🐞 死信队列排查(DLX)
9. 查看死信队列是否有堆积
bash
CopyEdit
rabbitmqctl list_queues name messages arguments
查找 x-dead-letter-exchange
或 x-dead-letter-routing-key
的队列。
🔧 管理插件命令
10. 启用管理控制台(Web UI)
bash
CopyEdit
rabbitmq-plugins enable rabbitmq_management
访问地址通常是:
arduino
CopyEdit
http://localhost:15672
默认用户名/密码:guest
/ guest
🧹 清理操作
11. 删除某个队列(慎用)
bash
CopyEdit
rabbitmqctl delete_queue queue_name
12. 断开某个连接(用于强制断开不健康连接)
bash
CopyEdit
rabbitmqctl close_connection <connection_pid> "reason"
📁 进阶排查:日志查看
RabbitMQ 日志默认位于:
bash
CopyEdit
/var/log/rabbitmq/ # Linux
查看最新日志:
bash
CopyEdit
tail -f /var/log/rabbitmq/rabbit@<hostname>.log