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 的有效交互。
使用方法当前限制与路线图- 当前限制
绑定管理:目前正在开发中,用户暂时无法通过 UI 创建、编辑和管理绑定。
高级连接/通道控制:强制关闭连接和更丰富的通道指标等功能尚未推出。
增强的分析和通知:计划提供的更多图表、通知和改进的搜索功能还未实现。
- 路线图:开发者正在积极致力于上述改进,欢迎用户提出建议,共同完善项目。
贡献方式RabbitScout 最初是个人项目,旨在简化开发者自身工作流程,现希望让更多寻求更直观 RabbitMQ 仪表板的用户受益。用户反馈、贡献和点赞可塑造其未来,共同打造更好的 RabbitMQ 管理体验。