メッセージスループットが急増したり、コンシューマーに遅延が発生したり、リクエストがスロットリングされたりした場合、RocketMQ インスタンス全体で何が起きているかを可視化する必要があります。ApsaraMQ for RocketMQ は CloudMonitor と統合されており、1 分間隔でメトリクスを収集し、時系列グラフとして表示し、しきい値を超えた場合にアラート通知を送信します。
モニタリングとアラートは無料です。
CloudMonitor の詳細については、「クラウドサービスのモニタリング」をご参照ください。
前提条件
開始する前に、次のサービスリンクロールがアカウントに存在することを確認してください。
-
ロール名: AliyunServiceRoleForOns
-
ロールポリシー: AliyunServiceRolePolicyForOns
このロールにより、ApsaraMQ for RocketMQ は、モニタリング、アラート、ダッシュボード機能を使用するため、CloudMonitor および Application Real-Time Monitoring Service (ARMS) にアクセスできます。
詳細については、「サービスリンクロール」をご参照ください。
モニタリングメトリクス
次の表に、利用可能なメトリクスをカテゴリ別に示します。すべてのメトリクスは 1 分間隔で集計されます。
[準備完了メッセージ] と [準備完了メッセージキュー時間] の定義については、「用語」をご参照ください。
インスタンスメトリクス
インスタンスレベルのメトリクスは、単一の RocketMQ インスタンスの全体的なスループットとスロットリングを追跡します。これらのメトリクスを使用して、API 呼び出し率、メッセージ量、スロットリングイベントを監視します。
|
メトリクス |
メトリクス名 |
単位 |
ディメンション |
|
インスタンスのトランザクション/秒 (TPS) |
InstanceApiCallTps |
count/s |
userId, instanceId |
|
プロデューサーが 1 分あたりに送信したメッセージ数 |
SendMessageCountPerInstance |
count/m |
userId, instanceId |
|
コンシューマーが 1 分あたりに受信したメッセージ数 |
ReceiveMessageCountPerInstance |
count/m |
userId, instanceId |
|
1 分あたりにスロットリングされたメッセージ送信リクエスト数 |
ThrottledSendRequestsPerInstance |
count/m |
userId, instanceId |
|
1 分あたりにスロットリングされたメッセージ受信リクエスト数 |
ThrottledReceiveRequestsPerInstance |
count/m |
userId, instanceId |
グループメトリクス
グループレベルのメトリクスは、特定のコンシューマーグループのコンシューマーパフォーマンスを測定します。これらのメトリクスを使用して、コンシューマーラグの検出、低速なコンシューマーの特定、デッドレターメッセージの生成の追跡を行います。
|
メトリクス |
メトリクス名 |
単位 |
ディメンション |
|
滞留メッセージ |
ConsumerLag |
count |
userId, instanceId, groupId |
|
メッセージ処理のレイテンシー |
ConsumerLagLatencyPerGid |
ms |
userId, instanceId, groupId |
|
準備完了メッセージ |
ReadyMessages |
count |
userId, instanceId, groupId |
|
準備完了メッセージのキュー時間 |
ReadyMessageQueueTime |
ms |
userId, instanceId, groupId |
|
コンシューマーが 1 分あたりに受信したメッセージ数 |
ReceiveMessageCountPerGid |
count/m |
userId, instanceId, groupId |
|
1 分あたりにスロットリングされたメッセージ受信リクエスト数 |
ThrottledReceiveRequestsPerGid |
count/m |
userId, instanceId, groupId |
|
1 分あたりに生成されたデッドレターメッセージ数 |
SendDLQMessageCountPerGid |
count/m |
userId, instanceId, groupId |
トピックメトリクス
トピックレベルのメトリクスは、特定のトピックのプロデューサーのスループットとスロットリングを追跡します。
|
メトリクス |
メトリクス名 |
単位 |
ディメンション |
|
プロデューサーが 1 分あたりに送信したメッセージ数 |
SendMessageCountPerTopic |
count/m |
userId, instanceId, topic |
|
1 分あたりにスロットリングされたメッセージ送信リクエスト数 |
ThrottledSendRequestsPerTopic |
count/m |
userId, instanceId, topic |
グループとトピックのメトリクス
これらのメトリクスは、特定のコンシューマーグループと特定のトピックを組み合わせて、最も詳細なビューを提供します。これらを使用して、グループ内のトピックレベルでの消費の問題を特定します。
|
メトリクス |
メトリクス名 |
単位 |
ディメンション |
|
滞留メッセージ |
ConsumerLagPerGidTopic |
count |
userId, instanceId, groupId, topic |
|
メッセージ処理のレイテンシー |
ConsumerLagLatencyPerGidTopic |
ms |
userId, instanceId, topic, groupId |
|
準備完了メッセージ |
ReadyMessagesPerGidTopic |
count |
userId, instanceId, groupId, topic |
|
準備完了メッセージのキュー時間 |
ReadyMessageQueueTimePerGidTopic |
ms |
userId, instanceId, groupId, topic |
|
コンシューマーが 1 分あたりに受信したメッセージ数 |
ReceiveMessageCountPerGidTopic |
count/m |
userId, instanceId, topic, groupId |
|
1 分あたりにスロットリングされたメッセージ受信リクエスト数 |
ThrottledReceiveRequestsPerGidTopic |
count/m |
userId, instanceId, topic, groupId |
|
1 分あたりに生成されたデッドレターメッセージ数 |
SendDLQMessageCountPerGidTopic |
count/m |
userId, instanceId, groupId, topic |
メトリックの表示
ApsaraMQ for RocketMQ コンソール にログインします。左側のナビゲーションウィンドウで、インスタンス数 をクリックします。
上部のナビゲーションバーで、中国 (杭州) などのリージョンを選択します。[インスタンス] ページで、管理するインスタンスの名前をクリックします。
左側のナビゲーションウィンドウで、モニタリングおよびアラート をクリックします。
モニタリングおよびアラート ページで、[グループ名] ドロップダウンリストからメトリックをクエリするリソースの種類を選択します。次に、クエリ時間を選択します。
このページには、リソースタイプのすべてのメトリックのチャートが自動的に表示されます。
アラートルールの作成
[インスタンス] ページで、管理するインスタンスの名前をクリックします。
左側のナビゲーションウィンドウで、モニタリングおよびアラート をクリックします。
モニタリングおよびアラート ページの右上隅にある、アラートルールの作成 をクリックします。
ページは、CloudMonitor コンソール の [アラート ルールの作成] パネルにリダイレクトされます。
[アラートルールの作成] パネルで、画面の指示に従ってルールと通知設定を構成します。次に、[OK] をクリックします。パラメータの詳細については、「アラートルールの作成」をご参照ください。
関連ドキュメント
-
リスク警告のためのモニタリングとアラート機能の設定:主要なメトリクスとビジネスメトリクスのアラートルールを設定する方法について説明します。