ヘルプ AWS RabbitMQ監視連携

RabbitMQ監視連携

Amazon MQはクラウド内のメッセージブローカーに容易に転送するメッセージブローカーサービスです。Apache ActiveMQ ClassicとRabbitMQエンジンタイプをサポートしています。

目次

概要

Site24x7 AWS監視ではActiveMQとAmazon MQ for RabbitMQのAmazon MQに対応しています。このドキュメントではSite24x7との連携の概要、監視メトリック、監視データについて紹介します。

RabbitMQは複数プロトコルに対応しているオープンソースのメッセージブローカーです。Site24x7との連携により、メッセージブローカーのパフォーマンスを監視し、アプリケーションに影響する問題を防止します。

この連携ではRabbitMQブローカーの監視に加えて、次の2つの子監視を行います。

  • RabbitMQノード:ノードステータスと接続性を監視し、クラスター状況と関連するノードとの通信状況を把握します。
  • RabbitMQキュー:メッセージキューの全体的な効率性とパフォーマンスを監視します。

ユースケース

RabbitMQとSite24x7を連携してRabbitMQ環境をリアルタイムに監視し、パフォーマンスボトルネックを特定することで信頼性、パフォーマンス、セキュリティの維持を行えます。

Zylker銀行で金融処理を消費者が行うとします。トランザクションメッセージは送信されましたが、アプリケーション問題によりメッセージキューが正常でないことがわかりました。これはZylker銀行の信頼性などに大きく影響します。
銀行のRabbitMQ環境をSite24x7と連携すれば、トランザクションの管理、キュー内のメッセージ数や消費者数などに基づいてしきい値を指定して通知や自動復旧処理を行えます。

メリット

この連携によるメリットは次のとおりです。

  • RabbitMQ環境を監視し、インフラのパフォーマンスと信頼性を向上させます。
  • ブローカー、ノード、キューを監視して分析します。
  • 全キューのデータブローを可視化して分析し、パフォーマンス状況を把握します。
  • ブローカー内の全キューを監視し、異常なふるまいがあった際に通知を行います。

設定

権限

RabbitMQを監視するには、IAMユーザーロールに次の権限が必要です。

  • "mq:DescribeBroker"
  • "mq:DescribeConfiguration"
  • "mq:DescribeConfigurationRevision"
  • "mq:DescribeUser"
  • "mq:ListTags"
  • "mq:ListBrokers"
  • "mq:DescribeBrokerEngineTypes"
  • "cloudwatch:ListMetrics"
  • "logs:DescribeLogStreams"
  • "logs:GetLogEvents"

チェック間隔

AWSサービスレベルAPIに設定したポーリング頻度(1分から1日)でクエリを行い、RabbitMQからメトリックを収集します。

サポートしているメトリック

RabbitMQ監視でサポートしているメトリックは次のとおりです。

RabbitMQブローカー

RabbitMQブローカー監視でサポートしているメトリックは次のとおりです。

メトリック名 説明 統計 単位
システムCPU使用率 ブローカーで使用しているAmazon EC2割り当てCPUのパーセンテージです。 最大 パーセンテージ
メモリ使用量の合計 CloudWatchメトリックからメモリ使用とメモリ制限を基に算出されたメモリ使用量パーセンテージです。 カスタム パーセンテージ
交換数 ブローカーで設定されている交換数の合計です。 最大
キュー数 ブローカーで設定されているキュー数の合計です。 最大
メッセージ数 キュー内のメッセージ数です。
ブローカーの未認知メッセージ数と待機数の合計で算出されます。
最大
メッセージ待機数 キュー内の待機メッセージ数の合計です。 最大
メッセージ未認知数 キュー内の未認知メッセージ数の合計です。 最大
消費者数 ブローカーに接続している消費者数の合計です。 最大
接続数 ブローカーで確立された接続数の合計です。 最大
チャンネル数 ブローカーで確立されたチャンネル数の合計です。 最大
公開レート ブローカーに公開されているメッセージのレートです。 最大 数/秒
確認レート RabbitMQサーバーで公開されたメッセージが確認されたレートです。
公開レートと比較することで、ブローカーパフォーマンスをより詳細に把握できます。
最大 数/秒
認知レート 消費者に認知されているメッセージのレートです。 最大 数/秒
メモリ制限 RabbitMQブローカーのRAM制限です。クラスターデプロイメントの場合、この値はすべてのRabbitMQノードで合計されて表示されます。 最大 バイト
使用メモリ RabbitMQブローカーが使用したRAMボリュームです。 最大 バイト
ディスク空き制限 RabbitMQブローカーのディスク制限です。 最大 バイト
ディスク空き容量 RabbitMQブローカーの空きディスク容量の合計ボリュームです。 最大 バイト
I/O読み取り平均時間 RabbitMQの読み取り操作の平均時間(ミリ秒)です。この値はメッセージサイズに依存します。 平均 パーセンテージ/ミリ秒
I/O書き込み平均時間 RabbitMQの書き込み操作の平均時間(ミリ秒)です。この値はメッセージサイズに依存します。 平均 パーセンテージ/ミリ秒
使用ファイル記述子 使用しているファイル記述子数です。 最大

RabbitMQノード

RabbitMQノード監視でサポートしているメトリックは次のとおりです。

メトリック名 説明 統計 単位
システムCPU使用率 ブローカーで使用しているAmazon EC2割り当てCPUのパーセンテージです。 最大 パーセンテージ
メモリ使用量の合計 CloudWatchメトリックからメモリ使用とメモリ制限を基に算出されたメモリ使用量パーセンテージです。 カスタム パーセンテージ
メモリ制限 RabbitMQノードのRAM制限です。 最大 バイト
使用メモリ RabbitMQノードで使用されているRAMボリュームです。 最大 バイト
ディスク空き制限 RabbitMQノードのディスク制限です。 最大 バイト
ディスク空き容量 RabbitMQノードの空きディスク容量の合計です。 最大 バイト
使用ファイル記述子 使用しているファイル記述子数です。 最大

RabbitMQキュー

RabbitMQキュー監視でサポートしているメトリックは次のとおりです。

メトリック名 説明 統計 単位
メッセージ数 キュー内のメッセージ数です。
ブローカーの未認知メッセージ数と待機数の合計で算出されます。
最大
消費者数 キューにリクエストされている消費者数です。 最大
メッセージ待機数 正常に配信されたメッセージ数です。 最大
未認知メッセージ数 サーバーの認知待ち状態のメッセージ数です。 最大

しきい値設定

RabbitMQ監視のしきい値設定方法は次のとおりです。

  1. Site24x7にログインし、[管理]→[設定プロファイル]→[しきい値と可用性]に移動します。
  2. [しきい値プロファイルの追加]から[しきい値プロファイル]を選択します。
  3. 監視タイプからタイプを選択し、表示名にプロファイル名を入力します。RabbitMQ監視では[RabbitMQブローカー]、[RabbitMQキュー]、[RabbitMQノード]を選択できます。
  4. しきい値設定項目で対応するメトリックにしきい値を入力します。
  5. [保存]をクリックします。

ライセンス

  • RabbitMQブローカー:RabbitMQブローカー監視ごとに1ベーシック監視ライセンスを消費します。
  • RabbitMQノード:5 RabbitMQノード監視ごとに1ベーシック監視ライセンスを消費します。
  • RabbitMQキュー:RabbitMQキュー監視ごとに1ベーシック監視ライセンスを消費します。

RabbitMQデータ表示

Site24x7にログインし、[Cloud]→[AWS]→[AWSアカウント名]→[RabbitMQ]に移動します。

RabbitMQ監視データ

RabbitMQの監視データは次のとおりです。

RabbitMQブローカー

次のタブでRabbitMQブローカーデータを表示します。

[サマリー]

イベントタイムラインでの概要と、RabbitMQ環境内のブローカーインスタンスやキューのパフォーマンスチャートを表示します。

[ノード]

サーバーやコンピューティングサービスで稼働しているRabbitMQメッセージブローカーのインスタンス情報を表示します。[ノード]タブではRabbitMQノード監視のリストに可用性とステータスが表示されます。監視名をクリックすることでRabbitMQノード監視データを表示できます。

[キュー]

RabbitMQキュー監視リストで可用性とステータスを表示します。監視名をクリックすることでRabbitMQキュー監視データを表示します。

[設定]

RabbitMQブローカー監視の設定情報を表示します。

[直近のログ]

最新の生成ログ情報を表示します。

[設置改定]

設定変更の履歴を表示します。

[障害]

障害の開始時間、終了時間、期間、コメント情報を表示します。

[インベントリー]

リソース名、リージョン、監視ライセンスカテゴリーなどの情報を表示します。しきい値と可用性プロファイルと通知プロファイルもここから設定できます。

[ログレポート]

RabbitMQブローカー監視のログステータスの集約レポートを表示します。レポートはCSVファイルでダウンロード可能です。

RabbitMQノード

RabbitMQノードデータを次のタブで表示します。

[サマリー]

イベントタイムラインでの概要と、RabbitMQ環境内のインスタンスやキューのパフォーマンスチャートを表示します。

[設定]

RabbitMQノード監視の設定情報を表示します。

[障害]

障害の開始時間、終了時間、期間、コメントの情報を表示します。

[インベントリー]

リソース名、リージョン、監視ライセンスカテゴリーなどの情報を表示します。しきい値と可用性プロファイルと通知プロファイルもここから設定できます。

[ログレポート]

RabbitMQノード監視のログステータスの集約レポートを表示します。レポートはCSVファイルでダウンロード可能です。

RabbitMQキュー

RabbitMQキューデータを次のタブで表示します。

[サマリー]

イベントタイムラインでの概要と、RabbitMQ環境内のブローカーインスタンスやキューのパフォーマンスチャートを表示します。

[設定]

RabbitMQキュー監視の設定情報を表示します。

[障害]

障害の開始時間、終了時間、期間、コメントの情報を表示します。

[インベントリー]

リソース名、リージョン、監視ライセンスカテゴリーなどの情報を表示します。しきい値と可用性プロファイルと通知プロファイルもここから設定できます。

[ログレポート]

RabbitMQキュー監視のログステータスの集約レポートを表示します。レポートはCSVファイルでダウンロード可能です。