Appearance
RabbitMQ 工具与插件
概述
本文档整理了 RabbitMQ 相关的工具和插件,帮助开发者提高开发效率和管理便捷性。
官方插件
核心插件
| 插件名称 | 说明 | 启用命令 |
|---|---|---|
| rabbitmq_management | Web 管理界面 | rabbitmq-plugins enable rabbitmq_management |
| rabbitmq_management_agent | 管理代理 | 随 management 自动启用 |
| rabbitmq_web_dispatch | Web 服务器 | 随 management 自动启用 |
消息协议插件
| 插件名称 | 说明 | 启用命令 |
|---|---|---|
| rabbitmq_mqtt | MQTT 协议支持 | rabbitmq-plugins enable rabbitmq_mqtt |
| rabbitmq_web_mqtt | WebSocket MQTT | rabbitmq-plugins enable rabbitmq_web_mqtt |
| rabbitmq_stomp | STOMP 协议支持 | rabbitmq-plugins enable rabbitmq_stomp |
| rabbitmq_web_stomp | WebSocket STOMP | rabbitmq-plugins enable rabbitmq_web_stomp |
| rabbitmq_amqp1_0 | AMQP 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_shovel | Shovel 插件 | rabbitmq-plugins enable rabbitmq_shovel |
| rabbitmq_shovel_management | Shovel 管理 | rabbitmq-plugins enable rabbitmq_shovel_management |
认证授权插件
| 插件名称 | 说明 | 启用命令 |
|---|---|---|
| rabbitmq_auth_backend_ldap | LDAP 认证 | rabbitmq-plugins enable rabbitmq_auth_backend_ldap |
| rabbitmq_auth_backend_http | HTTP 认证 | rabbitmq-plugins enable rabbitmq_auth_backend_http |
| rabbitmq_auth_backend_oauth2 | OAuth2 认证 | rabbitmq-plugins enable rabbitmq_auth_backend_oauth2 |
| rabbitmq_auth_mechanism_ssl | SSL 客户端认证 | rabbitmq-plugins enable rabbitmq_auth_mechanism_ssl |
监控与追踪插件
| 插件名称 | 说明 | 启用命令 |
|---|---|---|
| rabbitmq_prometheus | Prometheus 指标 | 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_version | Erlang 版本 |
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 Manager | Web 应用 | 开源管理界面 |
监控工具
Prometheus + Grafana
| 组件 | 说明 |
|---|---|
| rabbitmq_prometheus | 导出 Prometheus 格式指标 |
| Grafana Dashboard | 可视化监控面板 |
| 官方 Dashboard ID | 10991, 15782 |
Zabbix
| 模板 | 说明 |
|---|---|
| Template App RabbitMQ | Zabbix 官方模板 |
| 自定义脚本 | 通过 API 获取指标 |
Datadog
| 集成 | 说明 |
|---|---|
| Datadog Agent | 自动收集指标 |
| Dashboard | 预置监控面板 |
客户端工具
连接池
| 语言 | 工具 | 说明 |
|---|---|---|
| Java | RabbitMQ Connection Pool | 连接池管理 |
| .NET | RabbitMQ .NET ConnectionPool | 连接池管理 |
| Python | pika.Pool | Pika 连接池 |
测试工具
| 工具 | 说明 |
|---|---|
| PerfTest | 官方性能测试工具 |
| rabbitmq-perf-test | 性能基准测试 |
开发辅助工具
IDE 插件
| IDE | 插件 | 功能 |
|---|---|---|
| IntelliJ IDEA | RabbitMQ Navigator | 队列浏览、消息查看 |
| VS Code | RabbitMQ Explorer | 连接管理、消息操作 |
| Eclipse | RabbitMQ 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_mqttDocker 快速部署
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注意事项
- 插件依赖: 部分插件有依赖关系,需按顺序启用
- 资源消耗: 插件会占用额外资源,按需启用
- 版本兼容: 插件版本需与 RabbitMQ 版本兼容
- 安全配置: 生产环境注意插件的安全配置
