首页主机资讯Linux里RabbitMQ怎么监控

Linux里RabbitMQ怎么监控

时间2025-11-19 12:56:03发布访客分类主机资讯浏览428
导读:Linux下RabbitMQ监控实践 一 快速巡检与命令行监控 节点健康与诊断 检查节点存活:rabbitmq-diagnostics -q ping(返回“Ping succeeded”为正常) 查看节点状态:rabbitmq-dia...

Linux下RabbitMQ监控实践

一 快速巡检与命令行监控

  • 节点健康与诊断
    • 检查节点存活:rabbitmq-diagnostics -q ping(返回“Ping succeeded”为正常)
    • 查看节点状态:rabbitmq-diagnostics -q status
    • 查看告警:rabbitmq-diagnostics -q alarms
    • 网络与磁盘检查:rabbitmq-diagnostics check_networkrabbitmq-diagnostics check_disk_free
  • 运行时指标与资源
    • 节点概览:rabbitmqctl status
    • 队列与消息:rabbitmqctl list_queues name messages_ready messages_unacknowledged consumers memory
    • 连接与通道:rabbitmqctl list_connectionsrabbitmqctl list_channels
    • 交换机与绑定:rabbitmqctl list_exchangesrabbitmqctl list_bindings
  • 日志定位
    • 默认日志路径:/var/log/rabbitmq/rabbit@< 主机名> .log,关注节点启动、内存/磁盘告警、连接异常等日志。

二 Web管理控制台监控

  • 启用管理插件并访问
    • 启用:rabbitmq-plugins enable rabbitmq_management
    • 访问:http://< IP> :15672(默认账号 guest/guest,生产环境请创建专用账号并分配权限)
  • 重点观测页面
    • Overview:总消息数、消息速率(发布/消费)、Connections/ChannelsMemory UsageDisk SpaceFile Descriptors
    • Connections:客户端 IP/端口、状态、vhost、速率,支持强制关闭异常连接
    • Queues:每个队列的 Ready/UnackedConsumers、内存占用、策略标记(如 D/T/S、SAC)
  • 使用建议
    • 适合日常巡检与故障排查;不提供历史趋势与自动告警,需配合时序监控与告警系统。

三 Prometheus + Grafana 专业监控与告警

  • 启用内置指标端点
    • 启用插件:rabbitmq-plugins enable rabbitmq_prometheus
    • 默认指标端口:15692(部分版本或配置可能为 5552,以实际环境为准)
    • 验证端点:curl http://localhost:15692/metrics
  • Prometheus 抓取配置
    • 示例:
      scrape_configs:
        - job_name: 'rabbitmq'
          static_configs:
            - targets: ['<
          RabbitMQ服务器IP>
          :15692']
          metrics_path: '/metrics'
          scheme: http
      
  • Grafana 可视化
    • 导入官方看板模板:ID 10991(RabbitMQ Management),覆盖节点资源、队列趋势、发布/消费速率、连接/信道、死信队列等
  • 关键告警示例
    • 队列积压:expr: rabbitmq_queue_messages > 1000 for: 5m
    • 节点内存高:expr: rabbitmq_node_mem_used / rabbitmq_node_mem_limit > 0.8
    • 磁盘空间低:expr: rabbitmq_node_disk_free < 2147483648(小于 2GB

四 日志与消息追踪

  • 日志分析
    • 路径:/var/log/rabbitmq/rabbit@< 主机名> .log,用于定位启动、告警、连接与策略加载等事件
  • 消息追踪
    • Firehose:将消息的 publishdeliver 事件以记录形式发送到 amq.rabbitmq.trace(topic 类型),routing key 形如 publish.< exchange> deliver.< queue> ,便于端到端排查
    • rabbitmq_tracing 插件:提供可视化追踪界面,按需开启与清理,避免性能开销
  • 使用建议:追踪仅用于问题定位,生产环境谨慎长期开启

五 生产环境监控清单与阈值建议

  • 资源与告警
    • 内存使用率 > 80%
    • 可用磁盘空间 < 2GB
    • 文件描述符使用率 > 90%
  • 业务与队列
    • Ready 持续增长:消费者处理慢或宕机
    • Unacked 高:消费者卡住未确认或异常
    • Consumers=0:消费者服务不可用
  • 连接与通道
    • 异常断开频繁:检查网络质量、心跳与客户端配置
  • 集群与告警
    • 关注 rabbitmq-diagnostics alarms 的本地与集群告警
    • 结合 Prometheus 做多节点聚合与历史趋势分析

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Linux里RabbitMQ怎么监控
本文地址: https://pptw.com/jishu/751083.html
RabbitMQ Linux环境如何搭建 Linux下RabbitMQ怎样配置

游客 回复需填写必要信息