RabbitMQ監視は、メッセージ ブローカーインフラストラクチャへの可視性を提供し、信頼性の高いメッセージ処理を保証し、分散システムでのコストのかかるダウンタイムを防ぎます。 OpenTelemetry Collector使用すると、セルフホスト環境全体で機能する柔軟なベンダーニュートラル アプローチを通じて包括的な監視を取得できます。
なぜRabbitMQ監視なのか?
- 機能停止の防止 - ダウンタイムが発生する前に、キューのバックログ、消費者の障害、メモリ/ディスク アラームのアラートを取得します。
- パフォーマンスの最適化 - 処理速度に影響を与える遅い消費者、メッセージボトルネック、リソース制約を特定します。
- 容量を計画する - リソース使用量、メッセージレート、接続数を追跡して、事前に拡張します
- メッセージ配信を確実にする - キューの深さ、確認応答率、メッセージの永続性を監視してデータ損失を防ぎます
一般的な使用例
注文フルフィルメント メッセージの処理、イベント主導のマイクロサービス通信の処理、またはバックグラウンド ジョブ キューの管理のいずれの場合でも、 RabbitMQ監視は、ビジネスに影響を与える前に問題を発見するのに役立ちます。 キューの深さが急上昇してメッセージ処理 SLA を脅かす場合、コンシューマーの障害によりメッセージが蓄積されるリスクがある場合、またはメモリ アラームがブローカーの安定性を脅かす場合に、アラートを取得します。 この監視は、電子商取引プラットフォーム、金融システム、およびメッセージ配信の遅延や失敗がユーザー エクスペリエンスや業務運営に影響を与える可能性があるアプリケーションにとって不可欠です。
始めましょう
RabbitMQ メッセージ ブローカーの監視を開始する準備はできましたか?セットアップ ガイドには、前提条件、設定手順、トラブルシューティングのヒントが含まれています。
使い方
OpenTelemetry Collector 、 RabbitMQ管理APIに接続して、包括的なメトリクスを収集します。
データ収集:
- RabbitMQレシーバーは、 RabbitMQ管理API (ポート 15672) に接続して、キュー メトリクス、ノードの健全性、消費者のアクティビティ、および接続ステータスを確認します。
データフロー:
- Collector管理APIから定期的にメトリクスを収集します
- データは処理され、ホスト情報で強化され、効率的な送信のためにバッチ処理されます。
- メトリクスはOTLPエクスポーターを介してNew Relicにエクスポートされます。
- New Relicは自動的にエンティティを作成し、ダッシュボードに入力します
得られる情報:主要なメトリクスには、キューの深さ、メッセージ レート、消費者の数、ノード リソースの使用率、メモリ/ディスク アラーム、接続アクティビティが含まれます。
メトリクスの完全な名前、説明、およびアラートの推奨事項については、 RabbitMQメトリクス リファレンス」を参照してください。
オプション: ログ収集を追加する
上記の監視設定は、RabbitMQ ブローカーの健全性とパフォーマンスを追跡します。メッセージ ブローカーで何が起こっているかの全体像を把握するために、RabbitMQ ログを収集して転送することもできます。
ログ収集により以下が追加されます:
- RabbitMQプロセスからのエラーメッセージと警告
- 接続と認証イベント
- キューと交換操作
- メッセージの取り込みから配信まで完全な可視性
セットアップ: RabbitMQコレクションは、自己ホスト型デプロイメントで利用できます。 設定の詳細については、セルフホスト インストレーション ガイドを参照してください。
次のステップ
RabbitMQ メッセージ ブローカーの監視を開始する準備はできましたか?
監視を設定します。
- 自己ホスト型RabbitMQ - 物理マシンまたは仮想マシン上で実行されているRabbitMQ監視します
セットアップ後:
- データを検索して書き込みます- New Relic UIに移動してNRQL書き込みを書き込みます
- RabbitMQ メトリクスの探索- アラート推奨事項を含む完全なメトリクス リファレンス