Debian上RabbitMQ监控实践
一 监控方案总览
二 快速上手步骤
sudo rabbitmq-plugins enable rabbitmq_managementsudo rabbitmqctl add_user monitor <password>sudo rabbitmqctl set_user_tags monitor monitoringsudo rabbitmqctl set_permissions -p / monitor ".*" ".*" ".*"http://<host>:15672sudo rabbitmq-plugins enable rabbitmq_prometheushttp://<host>:15692/metrics三 关键指标与告警建议
| 维度 | 关键指标 | 建议阈值/动作 |
|---|---|---|
| 队列健康 | rabbitmq_queue_messages_ready 持续增长 | 例如 > 1000 持续 5m 触发严重告警;检查消费者是否异常或扩容消费者 |
| 消费确认 | rabbitmq_queue_messages_unacknowledged 高 | 例如 > 5000 持续 5m 告警;排查消费者卡死、处理慢或 prefetch 过大 |
| 节点内存 | erlang_vm_memory_system_bytes / erlang_vm_memory_bytes_total | 例如 > 80% 持续 2m 告警;结合流控与扩容 |
| 节点磁盘 | rabbitmq_node_disk_free 低 | 例如 < 2GB 或可用空间低于阈值告警;清理磁盘或扩容 |
| 文件描述符 | rabbitmq_node_fd_used / rabbitmq_node_fd_total | 例如 > 90% 告警;提升系统 ulimit -n 与 RabbitMQ 配置 |
| 连接与信道 | Connections / Channels 突增或异常 | 结合业务基线设置上下限;异常断连频繁检查心跳与网络 |
| 消息吞吐 | 发布/消费速率面板 | 建立同比/环比基线;速率骤降或归零触发可用性告警 |
| 集群存活 | rabbitmq_nodes_running | 集群节点数低于预期触发严重告警;检查节点网络与集群状态 |
sum(rate(rabbitmq_queue_messages_ready[5m])) by (queue);内存压力示例:erlang_vm_memory_system_bytes / erlang_vm_memory_bytes_total * 100 > 80。Grafana 官方看板(ID 10991)已覆盖上述多数面板。四 基础设施与运行时监控
五 日志与运维要点
journalctl -u rabbitmq-server -f 实时查看;按需调整日志级别与轮转策略,并接入集中式日志平台(如 ELK)做审计与根因分析。