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

您是否曾希望通过一种比默认管理 UI 更直观、更具视觉吸引力的方式来管理 RabbitMQ?尽管我很欣赏 RabbitMQ 的稳健性,但现有界面在日常监控和操作方面可能会显得有些过时。这就是我构建 **RabbitScout** 的原因:一个现代化的开源仪表板,旨在简化您的 RabbitMQ 体验。

**为什么选择 RabbitScout?**

几周前,我发现自己经常在 RabbitMQ 管理 UI 和各种 CLI 工具之间切换。虽然它很实用,但我想要更简洁的工具 — 一个可以一目了然地提供实时指标、帮助我快速管理队列并通过精致、现代的界面完成所有操作的工具。

RabbitScout 正是出于这种需求而诞生的。它目前还在开发中,但已经逐渐成为 RabbitMQ 管理任务的更友好替代方案。

**主要特点**

  • 实时指标:查看实时更新的总消息数、消息速率和队列统计信息。
  • 队列管理:轻松列出队列、过滤队列、检查消息、清除或删除队列,甚至直接从 UI 发布消息。
  • 响应式 UI 和主题支持:享受针对桌面和移动设备优化的简洁、现代的界面,并可选择在明暗模式之间切换。
  • 安全会话:使用您的 RabbitMQ 凭据登录,并相信会话是使用仅 HTTP 的 cookie 进行安全管理的。
  • 面向未来:正在计划添加绑定管理、高级连接/通道控制以及更强大的分析和可视化。
  • **引擎盖下**

    RabbitScout 的构建包含:

    :利用 App Router 和服务器组件来获取数据和处理安全 API。

    :确保类型安全和更可预测的开发体验。

    使用可重复使用的组件快速构建具有凝聚力、响应迅速且可访问的 UI。

    :利用 RabbitMQ 的内置管理 API 来检索指标并执行操作。

    此堆栈允许我将 UI 逻辑与服务器端数据获取完全分开。例如,服务器组件获取队列数据和指标,而无需向客户端公开凭据。这种方法使仪表板更安全且更易于维护。

    **入门**

    准备好尝试一下了吗?以下是本地启动的方法:

    `git 克隆 https://github.com/Ralve-org/RabbitScout.git

    兔侦察兵

    npm 安装

    cp .env.示例 .env`

    打开 **.env** 并提供您的 RabbitMQ 主机、端口、凭据和其他配置详细信息。完成后:

    `npm run dev`

    现在转到并使用您的 RabbitMQ 凭据登录(对于 localhost,默认情况下使用 guest/guest)。

    **截图**

    Light Mode Dashboard

    Dark Mode Dashboard

    这些示例显示了主仪表板页面,您可以在其中监控消息速率、队列分布和系统内存使用情况——所有这些都实时更新。

    **目前的限制和路线图**

    现在缺少什么?

    :目前正在开发中,您很快就能通过 UI 创建、编辑和管理绑定。

    :强制关闭连接和更丰富的渠道指标等功能即将推出。

    :计划推出更多图表、通知和改进的搜索功能。

    我正在积极致力于这些改进,欢迎提出建议!

    **贡献**

    作为一个开源项目,RabbitScout 依靠社区的反馈而蓬勃发展。无论您是想建议功能、报告错误、改进文档还是贡献代码,我都乐意为您提供帮助。

    **贡献方式**:

    :发现了错误或有好主意?请告诉我。

    :请随意解决现有问题或提出新功能。

    :即使是很小的调整也有助于使项目更容易访问。

    **GitHub 存储库**:

    https://github.com/Ralve-org/RabbitScout

    **让我们一起让 RabbitMQ 管理变得更好**

    RabbitScout 最初是一个个人项目,旨在简化我自己的工作流程,但我希望它能帮助其他寻求更直观的 RabbitMQ 仪表板的人。查看它,试用一下,然后告诉我你的想法。你的反馈、贡献和星标 :) 可以塑造它的未来。

    感谢阅读!如果您有任何问题、意见或建议,请随时在下面提出。让我们一起打造更好的 RabbitMQ 管理体验。