ubuntu

RabbitMQ消息队列Ubuntu上如何监控

小樊
36
2025-09-05 04:00:29
栏目: 智能运维

在Ubuntu上监控RabbitMQ消息队列,可通过以下方式实现:

一、启用RabbitMQ管理插件(基础监控)

  1. 安装插件
    执行命令启用管理界面:

    sudo rabbitmq-plugins enable rabbitmq_management
    
    • 启用后可通过Web界面访问:http://服务器IP:15672,默认用户名/密码为guest/guest
    • 功能:查看队列长度、消费者状态、消息流量等基础指标。
  2. 命令行工具辅助

    • 查看队列详情:
      sudo rabbitmqctl list_queues name messages_ready messages_unacknowledged
      
      messages_ready为待处理消息数,messages_unacknowledged为未确认消息数)。
    • 查看节点状态:
      sudo rabbitmqctl status
      ```。
      
      

二、集成Prometheus+Grafana(高级监控)

  1. 启用Prometheus插件

    sudo rabbitmq-plugins enable rabbitmq_prometheus
    
    • 插件会暴露指标接口:http://服务器IP:15692/metrics
  2. 配置Prometheus
    prometheus.yml中添加RabbitMQ抓取配置:

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

    重启Prometheus生效。

  3. Grafana可视化

    • 添加Prometheus数据源,使用现成RabbitMQ仪表板模板,可监控:
      • 队列深度、消息处理速率、消费者延迟。
      • 系统资源(CPU、内存、磁盘)使用情况。

三、日志与告警

  1. 日志分析

    • RabbitMQ日志默认路径:/var/log/rabbitmq/,可通过grep过滤关键信息(如错误、警告)。
    • 示例:查看连接异常日志:
      grep "connection" /var/log/rabbitmq/rabbit@ubuntu-server.log
      ```。  
      
      
  2. 自定义告警

    • 通过脚本监控队列长度,超过阈值时发送邮件/短信(参考中的Python脚本示例)。
    • 结合Prometheus的告警规则(如队列积压超过1000条时触发告警)。

四、关键指标说明

指标 含义 监控方式
队列长度 待处理消息数量 管理界面/命令行/Prometheus
消息处理速率 每秒消费/发布消息数 Prometheus+Grafana
消费者确认率 成功确认消息占总接收量的比例 Prometheus指标计算
系统资源使用率 CPU、内存、磁盘占用情况 管理界面/系统命令

参考来源

0
看了该问题的人还看了