RabbitScout:用于管理 RabbitMQ 的现代开源仪表板

RabbitScout:用于管理 RabbitMQ 的现代开源仪表板
最新回答
如一

2026-10-25 22:16:47

RabbitScout 是一个现代化的开源仪表板,旨在简化 RabbitMQ 的管理体验,提供更直观、视觉吸引力更强的界面,替代默认管理 UI 和 CLI 工具。

开发背景与目的
  • 背景:RabbitMQ 虽稳健,但默认管理 UI 在日常监控和操作中显得过时,用户常需在管理 UI 和 CLI 工具间切换,缺乏能实时显示指标且界面干净的工具。
  • 目的:构建一个能一目了然显示实时指标、帮助快速管理队列、拥有精美现代界面的工具,成为 RabbitMQ 管理任务更友好的替代方案。
主要特点
  • 实时指标:可查看实时更新的消息总数、消息速率和队列统计信息,方便用户及时掌握 RabbitMQ 的运行状态。
  • 队列管理:能轻松列出队列、过滤队列、检查消息、清除或删除队列,甚至直接从 UI 发布消息,操作便捷高效。
  • 响应式 UI 和主题支持:界面干净、现代,针对桌面和移动设备进行了优化,用户可在浅色和深色模式之间自由切换,提升使用体验。
  • 安全会话:用户使用 RabbitMQ 凭据登录,会话通过纯 HTTP cookie 安全管理,保障用户信息安全。
  • 面向未来:计划添加绑定管理、高级连接/通道控制以及更强大的分析和可视化功能,不断完善和提升仪表板性能。
技术堆栈
  • Next.js 14 和 React:利用 App Router 和服务器组件进行数据获取和安全 API 处理,将 UI 逻辑与服务器端数据获取分离,使仪表板更安全可维护。
  • TypeScript:确保类型安全,提供更可预测的开发体验,减少开发过程中的错误和问题。
  • Tailwind CSS 和 shadcn/ui:使用可重用组件快速构建具有凝聚力、响应灵敏且可访问的 UI,提高开发效率,保证界面质量。
  • RabbitMQ 管理 API:利用 RabbitMQ 的内置管理 API 来检索指标并执行操作,实现与 RabbitMQ 的有效交互。
使用方法
  • 克隆项目:使用 git clone
    https://github.com/Ralve-org/RabbitScout.git
    克隆项目到本地。
  • 进入项目目录:执行 cd RabbitScout 进入项目目录。
  • 安装依赖:运行 npm install 安装项目所需依赖。
  • 配置环境变量:执行 cp .env.example .env 复制示例环境变量文件,然后打开 .env 文件并提供 RabbitMQ 主机、端口、凭据和其他配置详细信息。
  • 启动项目:完成配置后,运行 npm run dev 启动项目,前往指定地址并使用 RabbitMQ 凭据登录(对于本地主机,默认情况下来宾/来宾可工作)。
当前限制与路线图
  • 当前限制

    绑定管理:目前正在开发中,用户暂时无法通过 UI 创建、编辑和管理绑定。

    高级连接/通道控制:强制关闭连接和更丰富的通道指标等功能尚未推出。

    增强的分析和通知:计划提供的更多图表、通知和改进的搜索功能还未实现。

  • 路线图:开发者正在积极致力于上述改进,欢迎用户提出建议,共同完善项目。
贡献方式
  • 提出问题:用户发现错误或有想法时,可向开发者反馈。
  • 提交 PR:用户可以随意解决现有问题或提出新功能,为项目发展贡献力量。
  • 改进文档:即使是很小的调整,也有助于使项目更易于访问,方便其他用户使用和理解。项目 GitHub 存储库为
    https://github.com/Ralve-org/RabbitScout
    。

RabbitScout 最初是个人项目,旨在简化开发者自身工作流程,现希望让更多寻求更直观 RabbitMQ 仪表板的用户受益。用户反馈、贡献和点赞可塑造其未来,共同打造更好的 RabbitMQ 管理体验。