Skip to content

RabbitMQ 工具与插件

概述

本文档整理了 RabbitMQ 相关的工具和插件,帮助开发者提高开发效率和管理便捷性。

官方插件

核心插件

插件名称说明启用命令
rabbitmq_managementWeb 管理界面rabbitmq-plugins enable rabbitmq_management
rabbitmq_management_agent管理代理随 management 自动启用
rabbitmq_web_dispatchWeb 服务器随 management 自动启用

消息协议插件

插件名称说明启用命令
rabbitmq_mqttMQTT 协议支持rabbitmq-plugins enable rabbitmq_mqtt
rabbitmq_web_mqttWebSocket MQTTrabbitmq-plugins enable rabbitmq_web_mqtt
rabbitmq_stompSTOMP 协议支持rabbitmq-plugins enable rabbitmq_stomp
rabbitmq_web_stompWebSocket STOMPrabbitmq-plugins enable rabbitmq_web_stomp
rabbitmq_amqp1_0AMQP 1.0 协议rabbitmq-plugins enable rabbitmq_amqp1_0

集群与高可用插件

插件名称说明启用命令
rabbitmq_federation联邦插件rabbitmq-plugins enable rabbitmq_federation
rabbitmq_federation_management联邦管理rabbitmq-plugins enable rabbitmq_federation_management
rabbitmq_shovelShovel 插件rabbitmq-plugins enable rabbitmq_shovel
rabbitmq_shovel_managementShovel 管理rabbitmq-plugins enable rabbitmq_shovel_management

认证授权插件

插件名称说明启用命令
rabbitmq_auth_backend_ldapLDAP 认证rabbitmq-plugins enable rabbitmq_auth_backend_ldap
rabbitmq_auth_backend_httpHTTP 认证rabbitmq-plugins enable rabbitmq_auth_backend_http
rabbitmq_auth_backend_oauth2OAuth2 认证rabbitmq-plugins enable rabbitmq_auth_backend_oauth2
rabbitmq_auth_mechanism_sslSSL 客户端认证rabbitmq-plugins enable rabbitmq_auth_mechanism_ssl

监控与追踪插件

插件名称说明启用命令
rabbitmq_prometheusPrometheus 指标rabbitmq-plugins enable rabbitmq_prometheus
rabbitmq_tracing消息追踪rabbitmq-plugins enable rabbitmq_tracing
rabbitmq_event_exchange事件交换机rabbitmq-plugins enable rabbitmq_event_exchange

其他官方插件

插件名称说明启用命令
rabbitmq_delayed_message_exchange延迟消息rabbitmq-plugins enable rabbitmq_delayed_message_exchange
rabbitmq_consistent_hash_exchange一致性哈希rabbitmq-plugins enable rabbitmq_consistent_hash_exchange
rabbitmq_random_exchange随机交换机rabbitmq-plugins enable rabbitmq_random_exchange
rabbitmq_top进程监控rabbitmq-plugins enable rabbitmq_top

命令行工具

rabbitmqctl

命令说明
rabbitmqctl status查看节点状态
rabbitmqctl stop_app停止应用
rabbitmqctl start_app启动应用
rabbitmqctl reset重置节点
rabbitmqctl cluster_status集群状态
rabbitmqctl list_users列出用户
rabbitmqctl list_vhosts列出虚拟主机
rabbitmqctl list_queues列出队列
rabbitmqctl list_exchanges列出交换机
rabbitmqctl list_bindings列出绑定

rabbitmq-plugins

命令说明
rabbitmq-plugins list列出所有插件
rabbitmq-plugins enable <plugin>启用插件
rabbitmq-plugins disable <plugin>禁用插件
rabbitmq-plugins is_enabled <plugin>检查插件状态

rabbitmq-diagnostics

命令说明
rabbitmq-diagnostics status诊断状态
rabbitmq-diagnostics check_running检查运行状态
rabbitmq-diagnostics check_alarms检查告警
rabbitmq-diagnostics check_local_alarms检查本地告警
rabbitmq-diagnostics memory_breakdown内存分析
rabbitmq-diagnostics listeners监听端口
rabbitmq-diagnostics erlang_versionErlang 版本

rabbitmqadmin

命令说明
rabbitmqadmin list queues列出队列
rabbitmqadmin list exchanges列出交换机
rabbitmqadmin publish routing_key=... payload=...发布消息
rabbitmqadmin get queue=...获取消息
rabbitmqadmin declare queue name=...声明队列
rabbitmqadmin delete queue name=...删除队列

图形化管理工具

Web 管理界面

功能说明
地址http://localhost:15672
默认账号guest / guest
功能队列管理、交换机管理、用户管理、策略配置

第三方管理工具

工具名称类型说明
QueueExplorer桌面应用商业工具,功能强大
RabbitMQ Assistant桌面应用简易管理工具
MQ ManagerWeb 应用开源管理界面

监控工具

Prometheus + Grafana

组件说明
rabbitmq_prometheus导出 Prometheus 格式指标
Grafana Dashboard可视化监控面板
官方 Dashboard ID10991, 15782

Zabbix

模板说明
Template App RabbitMQZabbix 官方模板
自定义脚本通过 API 获取指标

Datadog

集成说明
Datadog Agent自动收集指标
Dashboard预置监控面板

客户端工具

连接池

语言工具说明
JavaRabbitMQ Connection Pool连接池管理
.NETRabbitMQ .NET ConnectionPool连接池管理
Pythonpika.PoolPika 连接池

测试工具

工具说明
PerfTest官方性能测试工具
rabbitmq-perf-test性能基准测试

开发辅助工具

IDE 插件

IDE插件功能
IntelliJ IDEARabbitMQ Navigator队列浏览、消息查看
VS CodeRabbitMQ Explorer连接管理、消息操作
EclipseRabbitMQ Plugin基本管理功能

Docker 工具

工具说明
rabbitmq:management含管理界面的镜像
rabbitmq:alpine轻量级镜像
docker-compose多容器编排

使用示例

启用常用插件

bash
# 启用管理界面
rabbitmq-plugins enable rabbitmq_management

# 启用延迟消息
rabbitmq-plugins enable rabbitmq_delayed_message_exchange

# 启用 Prometheus 监控
rabbitmq-plugins enable rabbitmq_prometheus

# 启用 MQTT 支持
rabbitmq-plugins enable rabbitmq_mqtt

Docker 快速部署

bash
# 启动带管理界面的 RabbitMQ
docker run -d --name rabbitmq \
  -p 5672:5672 \
  -p 15672:15672 \
  -p 15692:15692 \
  rabbitmq:3-management

# 启动带插件的 RabbitMQ
docker run -d --name rabbitmq \
  -p 5672:5672 \
  -p 15672:15672 \
  -p 1883:1883 \
  rabbitmq:3-management \
  bash -c "rabbitmq-plugins enable --offline rabbitmq_mqtt && rabbitmq-server"

性能测试

bash
# 使用 PerfTest 进行性能测试
java -jar perf-test.jar \
  --uri amqp://guest:guest@localhost:5672 \
  --queue test_queue \
  --producers 10 \
  --consumers 10 \
  --rate 1000

注意事项

  1. 插件依赖: 部分插件有依赖关系,需按顺序启用
  2. 资源消耗: 插件会占用额外资源,按需启用
  3. 版本兼容: 插件版本需与 RabbitMQ 版本兼容
  4. 安全配置: 生产环境注意插件的安全配置

相关链接