跳转至

RabbitMQ 故障排查手册

文档概览

1. 内存/磁盘告警与流控

概要

发布端阻塞、消费变慢,或日志出现 memory alarm / disk alarm

关键词

vm_memory_high_watermark / disk_free_limit / flow control

排查步骤

  1. rabbitmqctl status 查看 memory/disk alarm 状态。
  2. 核对 rabbitmq.confvm_memory_high_watermark.relativedisk_free_limit
  3. rabbitmqctl list_queues 找堆积队列;评估 TTL、DLX、消费者数。
  4. 临时扩容或清理非必要队列;长期调整 watermark 与集群规模。

2. 集群分区(network partition)

概要

集群分裂为多个子集,可能出现双主或不可用。

排查步骤

  1. rabbitmqctl cluster_status 查看 partition 状态。
  2. 检查 cluster_partition_handling 策略(pause_minority / autoheal 等)。
  3. 修复网络后按官方指南恢复;避免盲目 reset

3. 连接被拒绝 / 认证失败

排查步骤

  1. 确认 listeners.tcp.default / TLS 端口与客户端一致。
  2. 检查用户、vhost 权限:list_userslist_permissions
  3. 生产禁用默认 guest 远程访问;SASL/TLS 配置与客户端匹配。

4. 队列堆积不消费

排查步骤

  1. list_queuesmessagesconsumers
  2. 消费者是否 ack;是否 prefetch 过小导致吞吐低。
  3. 死信队列(DLX)是否误路由;策略 ha-mode 是否影响可见性。