Linux下RabbitMQ监控实践
一 快速巡检与命令行监控
rabbitmq-diagnostics -q ping(返回“Ping succeeded”为正常)rabbitmq-diagnostics -q statusrabbitmq-diagnostics -q alarmsrabbitmq-diagnostics check_network、rabbitmq-diagnostics check_disk_freerabbitmqctl statusrabbitmqctl list_queues name messages_ready messages_unacknowledged consumers memoryrabbitmqctl list_connections、rabbitmqctl list_channelsrabbitmqctl list_exchanges、rabbitmqctl list_bindings/var/log/rabbitmq/rabbit@<主机名>.log,关注节点启动、内存/磁盘告警、连接异常等日志。二 Web管理控制台监控
rabbitmq-plugins enable rabbitmq_managementhttp://<IP>:15672(默认账号 guest/guest,生产环境请创建专用账号并分配权限)三 Prometheus + Grafana 专业监控与告警
rabbitmq-plugins enable rabbitmq_prometheuscurl http://localhost:15692/metricsscrape_configs:
- job_name: 'rabbitmq'
static_configs:
- targets: ['<RabbitMQ服务器IP>:15692']
metrics_path: '/metrics'
scheme: http
expr: rabbitmq_queue_messages > 1000 for: 5mexpr: rabbitmq_node_mem_used / rabbitmq_node_mem_limit > 0.8expr: rabbitmq_node_disk_free < 2147483648(小于 2GB)四 日志与消息追踪
/var/log/rabbitmq/rabbit@<主机名>.log,用于定位启动、告警、连接与策略加载等事件publish.<exchange>、deliver.<queue>,便于端到端排查五 生产环境监控清单与阈值建议
rabbitmq-diagnostics alarms 的本地与集群告警