Ubuntu RabbitMQ如何监控与日志
导读:Ubuntu 上建议以“管理控制台 + Prometheus 指标 + 日志文件/追踪”的组合来落地监控与日志,既满足日常巡检,又便于长期趋势与告警 监控方案总览 管理控制台(Web UI):启用后访问 http://:15672,查看...
Ubuntu 上建议以“管理控制台 + Prometheus 指标 + 日志文件/追踪”的组合来落地监控与日志,既满足日常巡检,又便于长期趋势与告警
监控方案总览
- 管理控制台(Web UI):启用后访问 http://:15672,查看节点概览、队列、连接、消息速率、内存/磁盘/FD 等,适合日常巡检与故障定位。
- Prometheus + Grafana:启用 rabbitmq_prometheus 插件,暴露 http://:15692/metrics,用 Prometheus 抓取并配置告警,Grafana 导入官方看板(如 ID 10991)做可视化。
- 命令行巡检:用 rabbitmqctl status / list_queues / list_connections 等快速核查节点与队列状态。
- 第三方监控:如 Zabbix/Nagios 等可通过脚本/插件采集指标与状态。
启用与配置监控组件
-
启用管理插件(Web UI)
- 执行:
sudo rabbitmq-plugins enable rabbitmq_management - 访问:http://:15672(默认账号 guest/guest,生产环境请创建专用账号与权限)
- 执行:
-
启用 Prometheus 插件(指标)
- 执行:
sudo rabbitmq-plugins enable rabbitmq_prometheus - 指标端点:http://:15692/metrics
- Prometheus 抓取示例:
- job_name: ‘rabbitmq’
- static_configs: targets: [‘:15692’]
- metrics_path: ‘/metrics’
- scheme: http
- Grafana 导入看板:官方 Dashboard ID 10991(RabbitMQ Management)
- 执行:
-
常用 CLI 巡检命令
- 节点状态:
sudo rabbitmqctl status - 队列概览:
sudo rabbitmqctl list_queues name messages_ready messages_unacknowledged consumers memory - 连接与信道:
sudo rabbitmqctl list_connections name state peer_host peer_port channels - 其他:
list_exchanges / list_users / list_consumers
- 节点状态:
日志体系与配置
-
默认日志路径与内容
- 路径:/var/log/rabbitmq/
- 文件:rabbit@.log(运行日志)、rabbit@-sasl.log(SASL 认证日志)、rabbitmq-startup.log(启动日志)等,包含版本、节点名、内存/磁盘限制、连接认证等关键信息。
-
查看与变更日志路径
- 查看当前生效路径:
rabbitmq-diagnostics -q log_location - 自定义路径(环境变量或配置文件):
- 在 /etc/rabbitmq/rabbitmq-env.conf 中设置:
LOG_BASE=/data/logs/rabbitmq - 或设置:
RABBITMQ_LOGS=/data/logs/rabbitmq.log、RABBITMQ_SASL_LOGS=/data/logs/rabbitmq-sasl.log
- 在 /etc/rabbitmq/rabbitmq-env.conf 中设置:
- 修改后重启节点生效。
- 查看当前生效路径:
-
日志级别与动态调优
- 在 /etc/rabbitmq/rabbitmq.conf 中设置(示例为仅记录连接 warning 级别):
[{ rabbit, [{ log_levels, [{ connection, warning} ]} ]} ].
- 动态查看/调整(示例):
rabbitmqctl set_vm_memory_high_watermark 0.5(将内存高水位调整到 50%,默认 0.4)
- 在 /etc/rabbitmq/rabbitmq.conf 中设置(示例为仅记录连接 warning 级别):
-
消息内容追踪(Tracing,仅用于排障)
- 启用插件:
sudo rabbitmq-plugins enable rabbitmq_tracing - 开启追踪:
sudo rabbitmqctl trace_on(可按 -p 指定 vhost) - 管理界面 Admin → Tracing 可创建/管理 trace;会自动创建 amq.rabbitmq.trace / amq.rabbitmq.log 两个 topic 交换机用于订阅收发事件
- 注意:开启 trace 会带来额外开销,排查完成后及时
trace_off关闭
- 启用插件:
关键告警与巡检要点
-
概览页核心指标
- Total Queued Messages(堆积)、Message Rates(发布/消费速率)、Connections/Channels、Erlang Processes、Memory Usage / Disk Space、File Descriptors / Sockets
- 经验阈值:内存 > 80%、磁盘可用 < 2GB、FD 使用率 > 90% 应立即告警
-
队列维度重点
- Ready 持续增长:消费者处理慢或异常
- Unacked 高:消费者卡住未确认
- Consumers=0:消费者服务宕机或未注册
-
节点与系统资源
- 关注 内存/磁盘/文件描述符 的硬限制与告警,避免因资源耗尽导致阻塞或不可用
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu RabbitMQ如何监控与日志
本文地址: https://pptw.com/jishu/771737.html
