RabbitMQ 故障排查手册¶
文档概览¶
- 完整配置项见 RabbitMQ 配置手册
1. 内存/磁盘告警与流控¶
概要¶
发布端阻塞、消费变慢,或日志出现 memory alarm / disk alarm。
关键词¶
vm_memory_high_watermark / disk_free_limit / flow control
排查步骤¶
rabbitmqctl status查看 memory/disk alarm 状态。- 核对
rabbitmq.conf中vm_memory_high_watermark.relative、disk_free_limit。 rabbitmqctl list_queues找堆积队列;评估 TTL、DLX、消费者数。- 临时扩容或清理非必要队列;长期调整 watermark 与集群规模。
2. 集群分区(network partition)¶
概要¶
集群分裂为多个子集,可能出现双主或不可用。
排查步骤¶
rabbitmqctl cluster_status查看 partition 状态。- 检查
cluster_partition_handling策略(pause_minority / autoheal 等)。 - 修复网络后按官方指南恢复;避免盲目
reset。
3. 连接被拒绝 / 认证失败¶
排查步骤¶
- 确认
listeners.tcp.default/ TLS 端口与客户端一致。 - 检查用户、vhost 权限:
list_users、list_permissions。 - 生产禁用默认
guest远程访问;SASL/TLS 配置与客户端匹配。
4. 队列堆积不消费¶
排查步骤¶
list_queues看messages与consumers。- 消费者是否 ack;是否 prefetch 过小导致吞吐低。
- 死信队列(DLX)是否误路由;策略
ha-mode是否影响可见性。