温馨提示×

RabbitMQ在Ubuntu上如何监控

小樊
41
2025-11-09 07:28:59
栏目: 智能运维

1. 命令行工具监控

查看RabbitMQ服务状态:使用systemctl(Ubuntu 16.04及以上)或service命令检查RabbitMQ服务是否运行。

sudo systemctl status rabbitmq-server  # 新版本
sudo service rabbitmq-server status    # 旧版本

查看节点详细状态:通过rabbitmqctl命令获取节点运行信息(如内存、磁盘使用、连接数等)。

sudo rabbitmqctl status

常用子命令扩展

  • 列出所有队列及消息数量:sudo rabbitmqctl list_queues name messages
  • 列出所有连接:sudo rabbitmqctl list_connections
  • 查看交换机详情:sudo rabbitmqctl list_exchanges

2. Web管理界面监控

启用管理插件:RabbitMQ默认自带Web管理工具,需先启用插件。

sudo rabbitmq-plugins enable rabbitmq_management

访问管理界面:启用后,通过浏览器访问http://<服务器IP>:15672(默认端口15672),使用默认账号guest/guest登录(仅限本地访问,生产环境需创建新用户并修改权限)。
界面功能:可直观查看队列状态、消息速率、消费者数量、连接数、内存/磁盘使用率等指标,支持实时刷新。

3. 第三方监控工具(Prometheus + Grafana)

步骤1:启用RabbitMQ Prometheus插件

sudo rabbitmq-plugins enable rabbitmq_prometheus

步骤2:配置Prometheus采集指标:编辑Prometheus的prometheus.yml文件,添加RabbitMQ监控目标(默认端口15692,与管理插件共用端口,无需额外修改)。

scrape_configs:
  - job_name: 'rabbitmq'
    static_configs:
      - targets: ['<RabbitMQ服务器IP>:15692']

步骤3:配置Grafana展示数据

  • 添加Prometheus为Grafana数据源(URL为http://<Prometheus服务器IP>:9090);
  • 导入RabbitMQ官方提供的Grafana仪表盘(如ID:10751),即可可视化展示队列堆积、消息速率、节点资源占用等指标,支持自定义告警规则。

4. 日志与系统监控

查看RabbitMQ日志:RabbitMQ日志默认存储在/var/log/rabbitmq/目录下,可通过tail命令实时查看最新日志,定位异常(如连接失败、消息拒绝等)。

tail -f /var/log/rabbitmq/rabbit@<主机名>.log

监控系统资源:使用top/htop工具监控RabbitMQ进程的CPU、内存占用;通过df -h查看磁盘空间(避免磁盘满导致服务异常)。

注意事项

  • 生产环境中,建议关闭默认的guest用户远程访问权限(sudo rabbitmqctl set_permissions -p / guest "" "" ""),并创建专用用户(如sudo rabbitmqctl add_user admin <密码>sudo rabbitmqctl set_permissions -p / admin ".*" ".*" ".*");
  • 定期备份RabbitMQ数据(默认存储在/var/lib/rabbitmq/目录),避免数据丢失;
  • 对于大规模集群,可结合Zabbix、Nagios等工具实现更全面的监控与告警。

0