首页主机资讯rabbitmq消息队列centos如何监控

rabbitmq消息队列centos如何监控

时间2026-01-14 17:14:04发布访客分类主机资讯浏览767
导读:CentOS 上监控 RabbitMQ 的实用方案 一 基础检查与内置管理界面 启用管理插件并创建监控专用账号: 启用插件:rabbitmq-plugins enable rabbitmq_management 访问地址:http://...

CentOS 上监控 RabbitMQ 的实用方案

一 基础检查与内置管理界面

  • 启用管理插件并创建监控专用账号:
    • 启用插件:rabbitmq-plugins enable rabbitmq_management
    • 访问地址:http://< 服务器IP> :15672
    • 安全建议:修改默认密码,创建只读监控账号并授权
      • rabbitmqctl add_user monitor < 密码>
      • rabbitmqctl set_user_tags monitor monitoring
      • rabbitmqctl set_permissions -p / monitor ".*" ".*" ".*"
  • 命令行巡检(快速定位问题):
    • 节点状态:rabbitmqctl status
    • 队列概况:rabbitmqctl list_queues name messages_ready messages_unacknowledged consumers
    • 连接与通道:rabbitmqctl list_connections name state recv_oct send_oct
    • 交换机:rabbitmqctl list_exchanges name type durable auto_delete
  • 关键关注:队列的 Unacked Message 持续大于 0 且增长,通常意味着消费者处理受阻或异常,需要结合消费者日志与处理能力排查。

二 Prometheus Grafana 监控(推荐)

  • 方式 A 内置 Prometheus 插件(原生指标,轻量)
    • 启用插件:rabbitmq-plugins enable rabbitmq_prometheus
    • 指标端口:默认 5552,验证:curl http://localhost:5552/metrics
    • Prometheus 抓取配置示例:
      • scrape_configs:
        • job_name: ‘rabbitmq’ static_configs:
          • targets: [‘< 节点IP> :5552’]
    • Grafana:导入官方仪表盘模板 ID 10981,常用指标包括:
      • rabbitmq_queue_messages(队列消息总数)
      • rabbitmq_queue_consumers(消费者数量)
      • rabbitmq_node_mem_usedrabbitmq_node_disk_free(节点资源)
      • rabbitmq_connections(连接数)
  • 方式 B RabbitMQ Exporter(兼容性强,细粒度)
    • 部署 exporter(示例 v0.10.0):
      • 下载解压后配置 rabbitmq.yml(指向 5672 管理账号或专用账号)
      • 启动:./bin/rabbitmq_exporter
    • Prometheus 抓取:targets: ['< exporterIP> :9419']
    • Grafana 导入社区面板并配置数据源即可。

三 Zabbix 监控

  • 方案一 基于管理 API 的模板
    • 部署社区模板(如 jasonmcintosh/rabbitmq-zabbix):
      • 将脚本放入 /etc/zabbix/scripts/rabbitmq,创建隐藏认证文件 .rab.auth(含 USERNAME/PASSWORD/CONF/LOGLEVEL/LOGFILE/PORT(15672)
      • 修正脚本内路径与日志路径,脚本与目录权限设为 755
      • zabbix_agentd.conf 开启:UnsafeUserParameters=1Timeout=15Include=/etc/zabbix/zabbix_agentd.conf.d/*.conf
      • 服务端导入模板,建议使用主动模式(配置 ServerActive
      • 常见报错 /var/log/rabbitmq_zabbix.log 无权限,执行:chown zabbix:zabbix /var/log/rabbitmq_zabbix.log
  • 方案二 Zabbix Agent 2 的 RabbitMQ 插件
    • 安装 Zabbix Agent 2 与插件,配置 Server/ServerActive,导入官方或社区模板,按需选择自动发现队列/连接等监控项。

四 关键指标与告警建议

  • 建议重点监控与阈值示例:
    • 队列深度:rabbitmq_queue_messages > 1000 持续 5 分钟 触发告警(Warning)
    • 未确认消息:rabbitmq_queue_messages_unacknowledged 持续增长或大于阈值
    • 消费者:rabbitmq_queue_consumers == 0(无消费者)
    • 连接数:rabbitmq_connections 突增/突降
    • 资源:rabbitmq_node_mem_used / rabbitmq_node_disk_free 逼近水位
  • 资源水位与稳定性:
    • 内存水位:vm_memory_high_watermark.relative = 0.6
    • 磁盘预警:disk_free_limit.absolute = 1GB
  • 集群与高可用:
    • 建议部署为集群,并使用镜像队列策略提升可用性,例如:rabbitmqctl set_policy ha-all "^ha\\." '{ "ha-mode":"all"} '(按需调整匹配规则)。

五 快速排障清单

  • 管理界面与 API 访问异常:确认 15672 端口开放、账号权限正确、管理插件已启用
  • Prometheus 抓取失败:确认 5552(或 9419)端口可达,curl 能返回指标,防火墙/安全组策略正确
  • Zabbix 无数据:检查 UnsafeUserParameters=1、主动模式 ServerActive、脚本与日志权限、模板与主机关联是否正确。

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


若转载请注明出处: rabbitmq消息队列centos如何监控
本文地址: https://pptw.com/jishu/778784.html
centos下rabbitmq如何备份数据 centos rabbitmq安全设置怎么做

游客 回复需填写必要信息