以下是RabbitMQ在Ubuntu上的故障排查方法:
检查服务状态
sudo systemctl status rabbitmq-server
若未运行,启动服务:
sudo systemctl start rabbitmq-server
查看日志文件
日志路径:/var/log/rabbitmq/,使用以下命令查看错误信息:
sudo tail -f rabbit@your_hostname.log | grep -i "error"
检查端口与网络
sudo netstat -tulnp | grep 5672
sudo ss -tulnp | grep 5672
telnet localhost 5672
验证配置文件
检查/etc/rabbitmq/rabbitmq.conf,重点关注:
listeners.tcp.default(端口配置)loopback_users.guest(默认guest用户仅限本地访问)监控系统资源
使用top/htop查看CPU、内存使用情况,df -h检查磁盘空间,确保资源充足。
使用管理插件
启用插件并访问Web界面(默认端口15672):
sudo rabbitmq-plugins enable rabbitmq_management
登录后查看队列、消费者、连接状态等。
排查队列与消费者问题
sudo rabbitmqctl list_queues
sudo rabbitmqctl list_consumers
prefetch_count或增加消费者。检查Erlang环境
确保Erlang版本与RabbitMQ兼容,通过以下命令查看版本:
erl -version
处理权限与防火墙
guest用户远程访问。sudo ufw allow 5672/tcp
sudo ufw allow 15672/tcp
高级诊断工具
rabbitmq-diagnostics工具检查节点状态、内存等:sudo rabbitmq-diagnostics status
sudo rabbitmq-diagnostics memory_breakdown
参考来源: