Ubuntu系统下监控RabbitMQ状态的常用方法
systemctl命令查看服务状态systemctl是Ubuntu系统管理服务的核心工具,可用于检查RabbitMQ服务的运行状态。执行以下命令:
sudo systemctl status rabbitmq-server
若服务正常运行,输出中会显示“Active: active (running)”,并包含服务的启动时间、进程ID等信息。若服务未启动,可通过sudo systemctl start rabbitmq-server启动服务。
rabbitmqctl命令查看详细状态rabbitmqctl是RabbitMQ自带的命令行管理工具,可获取节点级详细状态及核心指标:
sudo rabbitmqctl status,输出包括RabbitMQ版本、Erlang VM状态、节点名称、内存使用量、磁盘空间、连接数等关键信息。sudo rabbitmqctl list_queues name messages_ready messages_unacknowledged,可获取队列名称、待处理消息数(messages_ready)、未确认消息数(messages_unacknowledged),帮助判断队列积压情况。sudo rabbitmqctl list_connections,列出当前所有客户端连接,包括进程ID、客户端地址、连接状态等,用于排查异常连接。sudo rabbitmqctl list_exchanges name type,显示交换器名称及类型(如direct、fanout、topic),确认交换器配置是否正确。rabbitmqadmin命令行工具rabbitmqadmin是基于HTTP API的高级命令行工具,功能更强大,适合脚本化监控。需先从管理界面下载(访问http://localhost:15672/cli获取)并赋予执行权限:
chmod +x /usr/bin/rabbitmqadmin。常用命令:
rabbitmqadmin -u <用户名> -p <密码> list users,用于管理用户权限。rabbitmqadmin -u <用户名> -p <密码> list queues name messages_ready messages_unacknowledged,功能与rabbitmqctl类似,但支持更多过滤选项。rabbitmq_management插件rabbitmq_management是RabbitMQ官方提供的Web管理插件,提供可视化监控界面。执行以下命令启用插件:
sudo rabbitmq-plugins enable rabbitmq_management,启用后需重启RabbitMQ服务使插件生效。
启用插件后,通过浏览器访问http://<服务器IP>:15672(默认端口15672),使用默认用户名guest、密码guest登录(注:guest用户仅能从localhost访问,远程访问需创建新用户并配置权限)。
登录后,可通过以下功能模块监控RabbitMQ状态:
RabbitMQ Overview),将Prometheus中的指标可视化,实现实时监控和告警(如设置内存使用率超过80%时触发告警)。观测云是一款全链路可观测性工具,支持RabbitMQ监控。需先安装DataKit(Ubuntu系统通过curl命令安装),然后配置RabbitMQ采集器:
/usr/local/datakit/conf.d/rabbitmq/rabbitmq.conf),设置RabbitMQ的URL(http://localhost:15672)、用户名(如guance)、密码(如<SECRET>)。