ホームページ >ウェブフロントエンド >jsチュートリアル >RabbitScout: RabbitMQ を管理するための最新のオープンソース ダッシュボード

RabbitScout: RabbitMQ を管理するための最新のオープンソース ダッシュボード

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-08 07:26:10245ブラウズ

デフォルトの管理 UI を超えて、より直観的で視覚的に魅力的な RabbitMQ 管理方法を望んでいたことはありますか? RabbitMQ の堅牢性は高く評価していますが、日常的な監視と運用となると、既存のインターフェイスは少し時代遅れに感じることがあります。だからこそ、私は RabbitScout を構築しました。これは、RabbitMQ エクスペリエンスを合理化するために設計された最新のオープンソース ダッシュボードです。

なぜ RabbitScout なのか?
数週間前、私は RabbitMQ 管理 UI とさまざまな CLI ツールを頻繁に切り替えていることに気づきました。機能的ではありますが、私はもっとクリーンなもの、つまりリアルタイムのメトリクスを一目で確認でき、キューの迅速な管理に役立ち、洗練された最新のインターフェイスですべてを実行できるツールを望んでいました。

RabbitScout はそのニーズから生まれました。現在開発中ですが、RabbitMQ 管理タスクのより使いやすい代替手段としてすでに形を整えています。

主な機能

  • リアルタイム メトリクス: ライブで更新される合計メッセージ、メッセージ レート、キュー統計を表示します。
  • キュー管理: キューの一覧表示、フィルタリング、メッセージの検査、キューのパージまたは削除、さらには UI から直接メッセージを公開することも簡単に行えます。
  • レスポンシブ UI とテーマのサポート: ライト モードとダーク モードを切り替えるオプションを備え、デスクトップとモバイルの両方に最適化されたクリーンでモダンなインターフェイスをお楽しみください。
  • 安全なセッション: RabbitMQ 認証情報を使用してログインし、セッションが HTTP のみの Cookie で安全に管理されていることを信頼します。
  • 将来への対応: バインディング管理、高度な接続/チャネル制御、およびより堅牢な分析と視覚化を追加する計画が進行中です。

ボンネットの下で
RabbitScout は以下で構築されています:

Next.js 14 & React: データの取得と安全な API 処理に App Router とサーバー コンポーネントを利用します。
TypeScript: タイプ セーフとより予測可能な開発エクスペリエンスを確保します。
Tailwind CSS と shadcn/ui: 再利用可能なコンポーネントを使用して、一貫性があり、応答性が高く、アクセスしやすい UI を迅速に構築します。
RabbitMQ 管理 API: RabbitMQ の組み込み管理 API を利用してメトリクスを取得し、アクションを実行します。

このスタックにより、UI ロジックをサーバー側のデータ取得からきれいに分離することができました。たとえば、サーバー コンポーネントは、資格情報をクライアントに公開せずにキュー データとメトリックを取得します。このアプローチにより、ダッシュボードの安全性と保守性が向上します。

はじめに
試してみる準備はできていますか?ローカルでスピンアップする方法は次のとおりです:
git clone https://github.com/Ralve-org/RabbitScout.git
cd ラビットスカウト
npm インストール
cp .env.example .env

.env を開き、RabbitMQ ホスト、ポート、資格情報、およびその他の構成の詳細を指定します。それが完了したら:
npm run dev

次に、RabbitMQ 資格情報に移動して、ログインします (ローカルホストの場合、ゲスト/ゲストはデフォルトで機能します)。

スクリーンショット
ライトモードダッシュボード:

RabbitScout: A Modern, Open-Source Dashboard for Managing RabbitMQ

ダーク モード ダッシュボード:

RabbitScout: A Modern, Open-Source Dashboard for Managing RabbitMQ

これらの例は、メイン ダッシュボード ページを示しています。ここでは、メッセージ レート、キュー分散、システム メモリ使用量を監視でき、すべてリアルタイムで更新されます。

現在の制限事項とロードマップ
今足りないものは何ですか?

バインディング管理: 現在開発中ですが、まもなく UI を通じてバインディングを作成、編集、管理できるようになります。
高度な接続/チャネル制御: 接続の強制終了やより豊富なチャネル メトリクスなどの機能が準備中です。
分析と通知の強化: より多くのグラフ、通知、検索機能の改善が計画されています。

これらの改善に積極的に取り組んでおり、提案は大歓迎です!

貢献
オープンソース プロジェクトとして、RabbitScout はコミュニティからのインプットによって成長します。機能の提案、バグの報告、ドキュメントの改善、コードの貢献など、ご協力をお待ちしております。

貢献方法:
問題を開く: バグを見つけましたか? それとも素晴らしいアイデアがありますか?教えてください。
PR を送信: 既存の問題に取り組んだり、新しい機能を提案したりしてください。
ドキュメントの改善: 小さな調整でも、プロジェクトをよりアクセスしやすくするのに役立ちます。

GitHub リポジトリ:
https://github.com/Ralve-org/RabbitScout

RabbitMQ の管理を一緒に改善しましょう
RabbitScout は、私自身のワークフローを簡素化するための個人プロジェクトとして始まりましたが、より直感的な RabbitMQ ダッシュボードを探している他の人にとっても有益であることを願っています。チェックして遊んでみて、感想を聞かせてください。あなたのフィードバック、貢献、スター:) がその未来を形作ることができます。

読んでいただきありがとうございます!ご質問、コメント、ご提案がございましたら、お気軽に以下にお寄せください。より良い RabbitMQ 管理エクスペリエンスを一緒に構築しましょう。

以上がRabbitScout: RabbitMQ を管理するための最新のオープンソース ダッシュボードの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。