CentOS下RabbitMQ故障排查可从服务状态、日志、网络、配置、资源等方面入手,具体步骤如下:
sudo systemctl status rabbitmq-server
确认服务是否运行,未运行则尝试启动 sudo systemctl start rabbitmq-server
。/var/log/rabbitmq/
目录,通过 sudo tail -f rabbit@hostname.log
查看实时日志,搜索 error
、warning
等关键词定位问题。ping
和 telnet
测试网络连通性及端口(默认5672、15672)是否开放,检查防火墙规则是否放行。rabbitmq-diagnostics check_port_connectivity
验证端口监听状态。/etc/rabbitmq/rabbitmq.conf
和 rabbitmq-env.conf
,确认监听地址、端口、认证信息等配置正确。free -m
和 df -h
查看内存、磁盘空间是否充足,避免因资源不足导致服务异常。rabbitmqctl status
查看节点状态,关注 mem_used
、fd_used
等指标,判断是否触发流控。rabbitmq-management
)查看队列积压、消费者数量及消息状态,处理死信队列(DLQ)中的异常消息。prefetch_count
或增加消费者实例。.erlang.cookie
文件一致,防火墙开放集群端口(如4369、25672),使用 rabbitmqctl cluster_status
查看集群状态。rabbitmq-diagnostics
工具分析内存、连接等详细信息,例如 rabbitmq-diagnostics memory_breakdown
。参考来源: