ApsaraMQ for RabbitMQ は、Application Real-Time Monitoring Service (ARMS) の Managed Service for Prometheus および Managed Service for Grafana と統合して、ダッシュボード機能を提供します。この機能は、Managed Service for Prometheus を使用してメトリックを監視し、Managed Service for Grafana を使用してそれらを保存および表示します。ダッシュボードを使用して、Enterprise Edition および Platinum Edition のインスタンス、vhost、キュー、エクスチェンジのさまざまなメトリックを表示できます。これにより、問題が発生するとすぐにトラブルシューティングを行うことができます。このトピックでは、ダッシュボードで利用可能なメトリックについて説明し、その使用方法を解説します。
課金
ApsaraMQ for RabbitMQ のダッシュボードに表示されるメトリックは、Managed Service for Prometheus の基本メトリックです。これらの基本メトリックに対しては課金されません。したがって、ApsaraMQ for RabbitMQ のダッシュボード機能は無料で使用できます。詳細については、「メトリック」および「従量課金」をご参照ください。
制限事項
ダッシュボードは、サーバーレスインスタンス、およびサブスクリプションの Enterprise と Platinum Edition のインスタンスでサポートされています。サブスクリプションの Professional Edition インスタンスではサポートされていません。
サービスリンクロール
ダッシュボードを表示すると、ApsaraMQ for RabbitMQ はサービスリンクロール AliyunServiceRoleForAmqpMonitoring を自動的に作成します。
サービスリンクロールが存在しない場合、ApsaraMQ for RabbitMQ は自動的に作成します。これにより、ApsaraMQ for RabbitMQ のダッシュボード機能を期待どおりに使用できます。
サービスリンクロールが既に存在する場合、ApsaraMQ for RabbitMQ は再度作成しません。
サービスリンクロールの詳細については、「サービスリンクロール」をご参照ください。
メトリック詳細
概要
ApsaraMQ for RabbitMQ のダッシュボード機能は、次のメトリックを提供します。
概要: インスタンスまたは vhost のメッセージ数、接続数、コンシューマー数などのメトリックを表示します。
接続: インスタンスまたは vhost の接続数を表示します。
エクスチェンジ: エクスチェンジに流入および流出するメッセージ数を表示します。
キュー: キューのメッセージ数、API 呼び出し数、コンシューマー数を表示します。
コンシューマー: コンシューマーでのメッセージの処理結果を表示します。
rabbitmq_instance_api_tps_max は秒単位で測定されますが、それ以外のすべてのメトリックは分単位で測定されます。
概要
メトリックタイプ | メトリック名 | 単位 | 説明 | ラベル |
ゲージ | rabbitmq_instance_api_tps_max | カウント/秒 | 1 分以内のインスタンスへの API 呼び出しの 1 秒あたりの最大トランザクション数 (TPS)。 ルール: システムは 1 分間にわたって 1 秒に 1 回 TPS をサンプリングし、60 個のサンプルから最大値を使用します。 | {tenant_userid, instanceId} |
カウンター | rabbitmq_connections_opened_total | カウント | 開かれた接続の数。 | {tenant_userid,instanceId,vHost} |
カウンター | rabbitmq_connections_closed_total | カウント | 閉じられた接続の数。 | {tenant_userid,instanceId,vHost} |
カウンター | rabbitmq_channels_opened_total | カウント | 開かれたチャネルの数。 | {tenant_userid,instanceId,vHost} |
カウンター | rabbitmq_channels_closed_total | カウント | 閉じられたチャネルの数。 | {tenant_userid,instanceId,vHost} |
カウンター | rabbitmq_queues_declared_total | カウント | 作成されたキューの数。 | {tenant_userid,instanceId,vHost} |
カウンター | rabbitmq_queues_deleted_total | カウント | 削除されたキューの数。 | {tenant_userid,instanceId,vHost} |
カウンター | rabbitmq_exchange_declared_total | カウント | 作成されたエクスチェンジの数。 | {tenant_userid,instanceId,vHost} |
カウンター | rabbitmq_exchange_deleted_total | カウント | 削除されたエクスチェンジの数。 | {tenant_userid,instanceId,vHost} |
カウンター | rabbitmq_exchange_bind_total | カウント | エクスチェンジに追加されたバインディングの数。 | {tenant_userid,instanceId,vHost} |
カウンター | rabbitmq_exchange_unbind_total | カウント | エクスチェンジから削除されたバインディングの数。 | {tenant_userid,instanceId,vHost} |
カウンター | rabbitmq_queue_bind_total | カウント | キューに追加されたバインディングの数。 | {tenant_userid,instanceId,vHost} |
カウンター | rabbitmq_queue_unbind_total | カウント | キューから削除されたバインディングの数。 | {tenant_userid,instanceId,vHost} |
ゲージ | rabbitmq_connections | カウント | 現在開いている接続の総数。 | {tenant_userid,instanceId,vHost} |
ゲージ | rabbitmq_channels | カウント | 現在開いているチャネルの総数。 | {tenant_userid,instanceId,vHost} |
接続数
メトリックタイプ | メトリック名 | 単位 | 説明 | ラベル |
ゲージ | rabbitmq_connection_channels | カウント | 接続上のチャネル数。 | {tenant_userid,instanceId,vHost,remoteAddress} |
Exchange
メトリックタイプ | メトリック名 | 単位 | 説明 | ラベル |
カウンター | rabbitmq_exchange_messages_published_in_total | カウント | エクスチェンジに流入するメッセージの数。 | {tenant_userid,instanceId,vHost,exchangeName} |
カウンター | rabbitmq_exchange_messages_published_out_total | カウント | エクスチェンジから流出するメッセージの数。 | {tenant_userid,instanceId,vHost,exchangeName} |
キュー
メトリックタイプ | メトリック名 | 単位 | 説明 | ラベル |
カウンター | rabbitmq_queue_messages_published_total | カウント | キューに送信されたメッセージの数。 | {tenant_userid,instanceId,vHost,queueName} |
ゲージ | rabbitmq_queue_messages_ready | カウント | コンシューマーに配信できるキュー内の準備完了メッセージの数。 | {tenant_userid,instanceId,vHost,queueName} |
ゲージ | rabbitmq_queue_messages_timing | カウント | キュー内のスケジュールされたメッセージの数。 | {tenant_userid,instanceId,vHost,queueName} |
ゲージ | rabbitmq_queue_messages_unacked | カウント | キュー内で処理中であり、ACK 応答が返されていないメッセージの数。 | {tenant_userid,instanceId,vHost,queueName} |
カウンター | rabbitmq_queue_deliver_total | カウント | BasicConsume API が呼び出された回数。 | {tenant_userid,instanceId,vHost,queueName} |
カウンター | rabbitmq_queue_get_total | カウント | BasicGet API が呼び出された回数。 | {tenant_userid,instanceId,vHost,queueName} |
カウンター | rabbitmq_queue_ack_total | カウント | BasicAck API が呼び出された回数。 | {tenant_userid,instanceId,vHost,queueName} |
カウンター | rabbitmq_queue_uack_total | カウント | BasicNack API が呼び出された回数。 | {tenant_userid,instanceId,vHost,queueName} |
カウンター | rabbitmq_queue_recover_total | カウント | BasicRecover API が呼び出された回数。 | {tenant_userid,instanceId,vHost,queueName} |
カウンター | rabbitmq_queue_reject_total | カウント | BasicReject API が呼び出された回数。 | {tenant_userid,instanceId,vHost,queueName} |
ゲージ | rabbitmq_queue_consumers | カウント | キューのコンシューマーの総数。 | {tenant_userid,instanceId,vHost,queueName} |
コンシューマー
メトリックタイプ | メトリック名 | 単位 | 説明 | ラベル |
ゲージ | rabbitmq_consumer_acked_process_time_avg | カウント | 応答が返されたメッセージの平均処理時間。 | {tenant_userid,instanceId,vHost,queueName,remoteAddress,ackType} |
ゲージ | rabbitmq_consumer_unacked_process_time_avg | カウント | 応答が返されなかったメッセージの平均処理時間。 | {tenant_userid,instanceId,vHost,queueName,remoteAddress,ackType} |
ゲージ | rabbitmq_consumer_acked_messages | カウント | 応答が返されたメッセージの数。 | {tenant_userid,instanceId,vHost,queueName,remoteAddress,ackType} |
ゲージ | rabbitmq_consumer_unacked_messages | カウント | 応答が返されなかったメッセージの数。 | {tenant_userid,instanceId,vHost,queueName,remoteAddress} |
メトリックタイプの説明
ApsaraMQ for RabbitMQ で定義されているメトリックは、オープンソースの Prometheus 標準と完全に互換性があります。メトリックタイプには、カウンターとゲージが含まれます。
カウンター: 値が増加する一方の累積メトリック。たとえば、API 呼び出しの数です。
ゲージ: 値が増減できるメトリック。統計オブジェクトの瞬間的な値を表します。たとえば、API 呼び出しの TPS です。
ラベルの説明
以下に、ApsaraMQ for RabbitMQ のメトリックのラベルについて説明します。
tenant_userid: Alibaba Cloud アカウントの ID。
instanceId: ApsaraMQ for RabbitMQ インスタンスの ID。
vHost: ApsaraMQ for RabbitMQ インスタンス上の vHost の名前。
remoteAddress: ApsaraMQ for RabbitMQ クライアントの IP アドレス。
Exchange: ApsaraMQ for RabbitMQ インスタンス上のエクスチェンジの名前。
queueName: ApsaraMQ for RabbitMQ インスタンス上のキューの名前。
ackType: メッセージを処理した後のクライアントからの応答結果。
ダッシュボードの表示
前提条件
ApsaraMQ for RabbitMQ インスタンスが作成されていること。詳細については、「インスタンスの管理」をご参照ください。
vhost、キュー、エクスチェンジが作成され、ApsaraMQ for RabbitMQ インスタンスで利用可能であること。詳細については、「vhost の管理」、「エクスチェンジの管理」、および「キューの管理」をご参照ください。
Application Real-Time Monitoring Service (ARMS) が有効化されていること。詳細については、「Managed Service for Prometheus の有効化」をご参照ください。
手順
ApsaraMQ for RabbitMQ コンソールにログインします。左側のナビゲーションウィンドウで、インスタンスリスト をクリックします。
インスタンスリスト ページのトップナビゲーションバーで、管理するインスタンスが存在するリージョンを選択します。次に、インスタンスリストで、管理するインスタンスの名前をクリックします。
左側のナビゲーションウィンドウで、指示板 をクリックします。指示板 ページで、ダッシュボードを表示できます。
要件に基づいてダッシュボードを表示するために、Vhost、Exchange、Queue、および時間範囲を指定できます。
Vhost、Exchange、または Queue でフィルタリング: 指示板 ページで、Vhost、Exchange、または Queue のドロップダウンリストをクリックし、表示したい項目の名前を入力します。値を指定しない場合、デフォルトでインスタンス内のすべての vhost、エクスチェンジ、キューのメトリックが表示されます。

時間範囲の指定: 指示板 ページの右上隅にあるタイムピッカーをクリックします。表示されるドロップダウンリストで、[過去 5 分]、[過去 12 時間]、[過去 30 日] などの定義済みの相対的な時間範囲を選択できます。開始時刻と終了時刻を設定して、カスタムの絶対時間範囲を指定することもできます。

設定が完了すると、指示板 ページで指定した vhost、エクスチェンジ、キュー、または時間範囲のメトリックを表示できます。メトリックの説明については、「メトリック詳細」をご参照ください。
ダッシュボードからメトリックデータを取得する
ダッシュボード上のすべてのメトリックは、Alibaba Cloud アカウントの Managed Service for Prometheus に保存されます。データをクエリするには、次の手順を実行します。
ARMS コンソールにログインします。左側のナビゲーションウィンドウで、[インテグレーションセンター] をクリックします。
[インテグレーションセンター] ページで、検索ボックスに
RabbitMQと入力し、
アイコンをクリックします。検索結果で、[Alibaba Cloud RabbitMQ Enterprise Edition] など、モニタリングデータを統合したいクラウドサービスを選択します。詳細な手順については、「ステップ 1: クラウドサービスのモニタリングデータを統合する」をご参照ください。
クラウドサービスのモニタリングデータを ARMS に統合した後、左側のナビゲーションウィンドウで [インテグレーション管理] をクリックします。
[接続済み環境] タブの [クラウドサービスリージョン環境] リストで、ターゲット環境の名前をクリックして詳細ページを開きます。
[コンポーネント管理] タブの [基本情報] セクションで、[Prometheus インスタンス] の横にあるクラウドサービスリージョンをクリックします。
[設定] タブで、さまざまなデータアクセス方法を取得できます。

ダッシュボードのメトリックデータをセルフマネージド Grafana に統合する
ApsaraMQ for RabbitMQ のダッシュボード上のすべてのメトリックデータは、お客様の Alibaba Cloud Managed Service for Prometheus に保存されます。ダッシュボードでメトリックを取得する方法の手順に従って Alibaba Cloud サービスに接続し、環境名と HTTP API URL を取得できます。その後、API を使用して ApsaraMQ for RabbitMQ ダッシュボードのメトリックデータを自己管理の Grafana システムに統合できます。詳細については、「HTTP API URL を使用して自己管理の Grafana システムまたはカスタムアプリケーションで Prometheus データにアクセスする」をご参照ください。