以下是在Ubuntu系统上排查RabbitMQ故障的步骤:
检查服务状态
sudo systemctl status rabbitmq-server
若未运行,启动服务:
sudo systemctl start rabbitmq-server
查看日志文件
日志默认路径为/var/log/rabbitmq/,使用以下命令查看实时日志:
sudo tail -f /var/log/rabbitmq/rabbit@$(hostname).log
分析错误信息,如端口冲突、权限不足等。
检查端口占用
确认默认端口(5672、15672)未被占用:
sudo netstat -tulnp | grep 5672
sudo netstat -tulnp | grep 15672
若被占用,修改配置文件/etc/rabbitmq/rabbitmq.conf中的端口号并重启服务。
验证Erlang环境
确保已安装与RabbitMQ兼容的Erlang版本:
erl -version
参考RabbitMQ官方文档确认版本要求。
检查配置文件
确认/etc/rabbitmq/rabbitmq.conf无语法错误,关键配置如listeners.tcp.default、loopback_users.guest等设置正确。
检查系统资源
使用top或htop监控CPU、内存使用情况,确保资源充足;通过df -h /var/lib/rabbitmq/检查磁盘空间。
启用管理插件(可选)
若需通过Web界面监控,启用管理插件并重启服务:
sudo rabbitmq-plugins enable rabbitmq_management
sudo systemctl restart rabbitmq-server
访问http://localhost:15672,使用默认用户名/密码(guest/guest)登录。
其他高级排查
rabbitmqctl list_users、rabbitmqctl list_permissions。rabbitmqctl reset。注意:操作前建议备份配置文件和数据目录(/var/lib/rabbitmq/),避免误操作导致数据丢失。