ApsaraMQ for RabbitMQ は、Application Real-Time Monitoring Service (ARMS) の Managed Service for Prometheus および Managed Service for Grafana との統合により、Enterprise Edition および Enterprise Platinum Edition インスタンスにダッシュボード機能を提供します。この機能を使用すると、インスタンス、vhost、キュー、エクスチェンジのさまざまなメトリックを表示できます。これにより、問題を早期に検出して特定できます。このトピックでは、ダッシュボードで利用可能なメトリックとその使用方法について説明します。
課金
ApsaraMQ for RabbitMQ ダッシュボードは、Managed Service for Prometheus の基本メトリックを表示します。これらのメトリックは無料で提供されるため、ダッシュボード機能も無料で使用できます。詳細については、「メトリック」および「従量課金」をご参照ください。
制限事項
ダッシュボードは、サーバーレスインスタンス、および Enterprise Edition と 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 は秒単位でレポートされますが、それ以外のすべてのメトリックは分単位でレポートされます。
概要
|
メトリックタイプ |
メトリック名 |
単位 |
説明 |
ラベル |
|
gauge |
rabbitmq_instance_api_tps_max |
count/s |
1 分間のインスタンスへの API 呼び出しの 1 秒あたりの最大トランザクション数 (TPS)。 これは、1 秒間隔で収集された 60 サンプルのピーク値です。 |
{tenant_userid, instanceId} |
|
counter |
rabbitmq_connections_opened_total |
count |
オープンされた接続の総数。 |
{tenant_userid,instanceId,vhost} |
|
counter |
rabbitmq_connections_closed_total |
count |
クローズされた接続の総数。 |
{tenant_userid,instanceId,vhost} |
|
counter |
rabbitmq_channels_opened_total |
count |
オープンされたチャネルの総数。 |
{tenant_userid,instanceId,vhost} |
|
counter |
rabbitmq_channels_closed_total |
count |
クローズされたチャネルの総数。 |
{tenant_userid,instanceId,vhost} |
|
counter |
rabbitmq_queues_declared_total |
count |
宣言されたキューの総数。 |
{tenant_userid,instanceId,vhost} |
|
counter |
rabbitmq_queues_deleted_total |
count |
削除されたキューの総数。 |
{tenant_userid,instanceId,vhost} |
|
counter |
rabbitmq_exchange_declared_total |
count |
宣言されたエクスチェンジの総数。 |
{tenant_userid,instanceId,vhost} |
|
counter |
rabbitmq_exchange_deleted_total |
count |
削除されたエクスチェンジの総数。 |
{tenant_userid,instanceId,vhost} |
|
counter |
rabbitmq_exchange_bind_total |
count |
エクスチェンジに追加されたバインディングの総数。 |
{tenant_userid,instanceId,vhost} |
|
counter |
rabbitmq_exchange_unbind_total |
count |
エクスチェンジから削除されたバインディングの総数。 |
{tenant_userid,instanceId,vhost} |
|
counter |
rabbitmq_queue_bind_total |
count |
キューに追加されたバインディングの総数。 |
{tenant_userid,instanceId,vhost} |
|
counter |
rabbitmq_queue_unbind_total |
count |
キューから削除されたバインディングの総数。 |
{tenant_userid,instanceId,vhost} |
|
gauge |
rabbitmq_connections |
count |
現在のオープン接続数。 |
{tenant_userid,instanceId,vhost} |
|
gauge |
rabbitmq_channels |
count |
現在のオープンチャネル数。 |
{tenant_userid,instanceId,vhost} |
接続
|
メトリックタイプ |
メトリック名 |
単位 |
説明 |
ラベル |
|
gauge |
rabbitmq_connection_channels |
count |
接続上のチャネル数。 |
{tenant_userid,instanceId,vhost,remoteAddress} |
エクスチェンジ
|
メトリックタイプ |
メトリック名 |
単位 |
説明 |
ラベル |
|
counter |
rabbitmq_exchange_messages_published_in_total |
count |
エクスチェンジにパブリッシュされたメッセージの総数。 |
{tenant_userid,instanceId,vhost,exchangeName} |
|
counter |
rabbitmq_exchange_messages_published_out_total |
count |
エクスチェンジからルーティングされたメッセージの総数。 |
{tenant_userid,instanceId,vhost,exchangeName} |
キュー
|
メトリックタイプ |
メトリック名 |
単位 |
説明 |
ラベル |
|
counter |
rabbitmq_queue_messages_published_total |
count |
キューにパブリッシュされたメッセージの総数。 |
{tenant_userid,instanceId,vhost,queueName} |
|
gauge |
rabbitmq_queue_messages_ready |
count |
コンシューマーに配信される準備ができたキュー内のメッセージ数。 |
{tenant_userid,instanceId,vhost,queueName} |
|
gauge |
rabbitmq_queue_messages_timing |
count |
キュー内のスケジュールされたメッセージの数。 |
{tenant_userid,instanceId,vhost,queueName} |
|
gauge |
rabbitmq_queue_messages_unacked |
count |
コンシューマーに配信されたが、まだ確認応答されていないメッセージの数。 |
{tenant_userid,instanceId,vhost,queueName} |
|
counter |
rabbitmq_queue_deliver_total |
count |
Basic.Consume コマンドが呼び出された総回数。 |
{tenant_userid,instanceId,vhost,queueName} |
|
counter |
rabbitmq_queue_get_total |
count |
Basic.Get コマンドが呼び出された総回数。 |
{tenant_userid,instanceId,vhost,queueName} |
|
counter |
rabbitmq_queue_ack_total |
count |
Basic.Ack コマンドが呼び出された総回数。 |
{tenant_userid,instanceId,vhost,queueName} |
|
counter |
rabbitmq_queue_uack_total |
count |
Basic.Nack コマンドが呼び出された総回数。 |
{tenant_userid,instanceId,vhost,queueName} |
|
counter |
rabbitmq_queue_recover_total |
count |
Basic.Recover コマンドが呼び出された総回数。 |
{tenant_userid,instanceId,vhost,queueName} |
|
counter |
rabbitmq_queue_reject_total |
count |
Basic.Reject コマンドが呼び出された総回数。 |
{tenant_userid,instanceId,vhost,queueName} |
|
gauge |
rabbitmq_queue_consumers |
count |
キュー上の現在のコンシューマー数。 |
{tenant_userid,instanceId,vhost,queueName} |
コンシューマー
|
メトリックタイプ |
メトリック名 |
単位 |
説明 |
ラベル |
|
gauge |
rabbitmq_consumer_acked_process_time_avg |
count |
確認済みメッセージの平均処理時間。 |
{tenant_userid,instanceId,vhost,queueName,remoteAddress,ackType} |
|
gauge |
rabbitmq_consumer_unacked_process_time_avg |
count |
未確認メッセージの平均処理時間。 |
{tenant_userid,instanceId,vhost,queueName,remoteAddress,ackType} |
|
gauge |
rabbitmq_consumer_acked_messages |
count |
確認済みメッセージの数。 |
{tenant_userid,instanceId,vhost,queueName,remoteAddress,ackType} |
|
gauge |
rabbitmq_consumer_unacked_messages |
count |
未確認メッセージの数。 |
{tenant_userid,instanceId,vhost,queueName,remoteAddress} |
メトリックタイプ
ApsaraMQ for RabbitMQ のメトリックは、オープンソースの Prometheus 標準と完全に互換性があります。サポートされているメトリックタイプは `counter` と `gauge` です。
-
counter:増加のみの累積メトリックです。例えば、API 呼び出しの数などです。
-
gauge:増加または減少する可能性のあるメトリックで、瞬間的な値を表します。例えば、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 アドレス。
-
exchangeName:ApsaraMQ for RabbitMQ インスタンス内のエクスチェンジの名前。
-
queueName:ApsaraMQ for RabbitMQ インスタンス内のキューの名前。
-
ackType:メッセージを処理した後のクライアントからの応答。
ダッシュボード
前提条件
-
ApsaraMQ for RabbitMQ インスタンスが作成されていること。詳細については、「インスタンス管理」をご参照ください。
-
ApsaraMQ for RabbitMQ インスタンス上に vhost、キュー、エクスチェンジが作成されていること。詳細については、「Vhost 管理」、「エクスチェンジ管理」、および「キュー管理」をご参照ください。
-
ARMS が有効化されていること。詳細については、「Prometheus モニタリングのための ARMS の有効化」をご参照ください。
操作手順
ApsaraMQ for RabbitMQ コンソールにログインします。左側のナビゲーションウィンドウで、インスタンスリスト をクリックします。
インスタンスリスト ページの上部のナビゲーションバーで、管理するインスタンスが存在するリージョンを選択します。次に、インスタンスリストで、管理するインスタンスの名前をクリックします。
-
左側のナビゲーションバーで 指示板 をクリックします。指示板 ページで、ダッシュボードを表示します。
-
vhost、エクスチェンジ、キュー、および時間範囲でダッシュボードをフィルターできます。
-
vhost、エクスチェンジ、またはキューでフィルターするには:指示板 ページで、[Vhost]、[Exchange]、または [Queue] ドロップダウンリストを使用して、目的のリソースを選択または入力します。これらのフィールドを空白のままにすると、ダッシュボードにはインスタンス内のすべての vhost、エクスチェンジ、キューのメトリックが表示されます。ダッシュボードの [概要] セクションには、[準備完了メッセージ]、[現在の接続数]、[現在のチャネル数]、[現在のコンシューマー数] の 4 つの主要なメトリックが表示されます。ページの上部には、[メトリック詳細]、[メッセージトレースによるトラブルシューティング]、[Grafana プロ版へのインポート] などのクイックリンクも提供されています。
-
時間範囲でフィルターするには:指示板 ページの右上隅にあるタイムピッカーをクリックします。ドロップダウンリストから、[過去 5 分]、[過去 12 時間]、[過去 30 日] などの相対的な時間範囲を選択します。開始時刻と終了時刻を設定して、カスタムの絶対時間範囲を指定することもできます。
フィルターを設定すると、指示板 ページに、指定した vhost、エクスチェンジ、キュー、または時間範囲のメトリックが表示されます。メトリックの説明については、「メトリック詳細」をご参照ください。
-
ダッシュボードメトリック
ダッシュボードメトリックは、ご利用の Alibaba Cloud アカウントの Managed Service for Prometheus に保存されます。クエリするには、次の手順に従います:
-
ARMS コンソールにログインします。左側のナビゲーションウィンドウで、[インテグレーションセンター] をクリックします。
-
[インテグレーションセンター] ページで、検索ボックスに
RabbitMQと入力し、
検索アイコンをクリックします。 -
検索結果で、[ApsaraMQ for RabbitMQ (Enterprise Edition)] など、統合するクラウドサービスを選択します。詳細については、「ステップ 1:クラウドサービスモニタリングデータの統合」をご参照ください。
-
統合が成功したら、左側のナビゲーションウィンドウで [インテグレーション管理] をクリックします。
-
[統合環境] タブの [クラウドサービス環境] リストで、ターゲット環境の名前をクリックします。
-
[コンポーネント管理] タブの 基本情報 セクションで、[Prometheus インスタンス] の横にあるリージョンをクリックします。
-
{key, select, RAM {RAM} Overview {Overview} Identities {Identities} Users {Users} Groups {Groups} Roles {Roles} Settings {Settings} Permissions {Permissions} Grants {Grants} Troubleshoot {Troubleshoot} Policies {Policies} Integrations {Integrations} Providers {SSO} Applications {OAuth Preview} CloudSSO {CloudSSO} AccessAnalyzing {Access Analyzing} Analyzers {Analyzers} Findings {Findings} Beta {Beta} Governance {Cloud Governance Center} other {{key}} } タブには、利用可能なデータアクセス方法が一覧表示されます。このページには、[リモート読み取り URL]、[リモート書き込み URL]、[プッシュゲートウェイ URL]、[OpenTelemetry URL]、[HTTP API URL] (Grafana 用) など、Prometheus インスタンスのエンドポイント URL が表示されます。このページでは、各エンドポイントについてパブリックネットワークとプライベートネットワークの両方の URL が提供されます。URL 形式は `https://cn-hangzhou.arms.aliyuncs.com` のようなベースで始まり、インスタンス識別子のパラメーターが含まれます。各セクションにはユーザーガイドへのリンクが含まれており、ページの下部でトークンを生成できます。
セルフマネージド Grafana との統合
ApsaraMQ for RabbitMQ のすべてのメトリックは、ご利用の Alibaba Cloud アカウントの Managed Service for Prometheus に保存されます。ダッシュボードメトリックのセクションの手順に従ってクラウドサービスを統合し、環境名と HTTP API URL を取得します。その後、API を使用して ApsaraMQ for RabbitMQ のダッシュボードメトリックをセルフマネージド Grafana にインポートできます。詳細については、「HTTP API URL を使用した Prometheus モニタリングデータへのアクセス」をご参照ください。