以下是Ubuntu RabbitMQ故障排查的核心技巧,涵盖服务状态、日志分析、配置检查等关键环节:
systemctl status rabbitmq-server 查看服务是否正常运行,未启动时用 systemctl start rabbitmq-server 启动。rabbitmqctl status 检查节点状态,确认是否处于 running 状态,注意内存、磁盘等资源使用情况。/var/log/rabbitmq/ 目录,使用 tail -f rabbit@hostname.log 实时追踪错误信息,或通过管理插件(需先启用)在Web界面查看。connection_closed_abruptly:检查网络、防火墙或客户端心跳配置。flow control initiated:排查内存不足、消费者处理慢或队列堆积问题。/etc/rabbitmq/rabbitmq.conf,重点关注端口(默认5672)、监听地址、虚拟主机权限等配置,修改后需重启服务。netstat -tuln | grep 5672 确认端口监听状态,通过 ufw allow 5672 开放防火墙(若使用ufw)。ping 和 telnet 测试节点间网络连接,确保集群节点间通信正常。free -m 查看内存使用,df -h 检查磁盘空间,避免因资源不足触发流控。rabbitmqctl list_queues 查看队列堆积情况,优化消费者性能或调整 prefetch_count。rabbitmq-plugins enable rabbitmq_management)通过Web界面监控队列、用户权限等。rabbitmqctl cluster_status 查看集群状态,确保节点能正常加入。erl -version 确认Erlang版本与RabbitMQ兼容,可通过 apt-get install erlang 重新安装匹配版本。rabbitmqctl list_users 和 rabbitmqctl list_permissions 确保用户有对应虚拟主机权限。参考来源: