RabbitMQ在Linux下的监控方法有哪些
导读:Linux下可用的RabbitMQ监控手段 一 内置与命令行工具 启用管理插件并访问 Web UI:执行rabbitmq-plugins enable rabbitmq_management,通过浏览器访问http://:15672/;注...
Linux下可用的RabbitMQ监控手段
一 内置与命令行工具
- 启用管理插件并访问 Web UI:执行rabbitmq-plugins enable rabbitmq_management,通过浏览器访问http://:15672/;注意guest/guest默认仅允许本机登录,远程需创建管理员用户并赋权。常用 CLI:查看节点状态rabbitmqctl status;队列与消息rabbitmqctl list_queues name messages_ready messages_unacknowledged consumers memory;连接与消费者rabbitmqctl list_connections、rabbitmqctl list_consumers;用户与权限rabbitmqctl list_users、rabbitmqctl set_permissions -p “." ".” “.*”。这些用于日常巡检与临时排障非常高效。
二 日志与系统资源监控
- 日志:RabbitMQ 日志默认位于**/var/log/rabbitmq/rabbit@.log**,包含版本、节点、内存/磁盘限制、告警等信息,适合定位启动失败、权限、资源阈值触发等问题。系统层面配合systemctl status rabbitmq-server查看服务状态,使用top/htop/vmstat/iostat观察 CPU、内存、I/O 与文件句柄等资源瓶颈。
三 消息轨迹追踪用于问题定位
- Firehose:开启rabbitmqctl trace_on后,消息会被复制并发送到amq.rabbitmq.trace(topic 类型),routing key 形如publish.与deliver.;用于端到端投递路径排查,性能敏感场景用完及时trace_off。rabbitmq_tracing 插件:执行rabbitmq-plugins enable rabbitmq_tracing,在管理界面配置追踪任务,将匹配消息写入日志文件,便于审计与问题复现。
四 指标监控与可视化
- Prometheus 原生指标:RabbitMQ 3.8+ 内置rabbitmq_prometheus插件,暴露http://:15692/metrics;关键指标包括rabbitmq_node_mem_used / mem_limit、rabbitmq_node_disk_free / disk_free_limit、rabbitmq_queue_messages_ready / unacknowledged / consumers等。Prometheus 抓取后结合 Grafana 可视化,可导入官方看板(如 Dashboard ID 10991)实现趋势与告警。
- Exporter 方案:部署rabbitmq_exporter(依赖启用rabbitmq_management),通过环境变量如RABBIT_URL=http://127.0.0.1:15672、RABBIT_USER/PASSWORD、RABBIT_EXPORTERS=exchange,node,overview,queue,aliveness配置采集;常用指标有aliveness_info(存活探测)、up(节点存活)、node_mem_alarm / node_disk_free_alarm(资源告警)、partitions(网络分区计数)等,适合已有监控平台统一接入。
五 生产可用告警阈值与实践建议
- 关键阈值与动作建议:内存使用率**> 80%触发告警并扩容或限流;磁盘可用空间< 2GB或node_disk_free_alarm=1立即处理;文件描述符使用率> 90%检查句柄泄漏或调大上限;队列Ready持续增长或Unacked**高企提示消费者慢/卡;Consumers=0多为消费者宕机;partitions> 0表示发生网络分区需紧急处置。日常建议同时保留 Web UI/CLI 快速排障与 Prometheus/Grafana 长期趋势与告警两套机制。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: RabbitMQ在Linux下的监控方法有哪些
本文地址: https://pptw.com/jishu/773471.html
