以下是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
确保用户有对应虚拟主机权限。参考来源: