ApsaraMQ for RocketMQ では、Cloud Monitor を使用してアラートルールを設定することで、インスタンスの実行ステータスと主要なビジネスメトリックをリアルタイムで監視し、異常発生時にタイムリーにアラート通知を受信して、本番環境の早期リスク警告を有効にすることができます。
背景情報
ApsaraMQ for RocketMQ はフルマネージドのメッセージングサービスです。 各インスタンス仕様には、明確な サービスレベルアグリーメント (SLA) が定められています。 インスタンスの購入後、メッセージング TPS、メッセージストレージ、ネットワークスループットといったメトリックのパフォーマンスが、その仕様を満たすことが保証されます。
インスタンスのパフォーマンスについて心配する必要はありません。ただし、本番環境では、実際のビジネスでの消費量と規模がインスタンスの仕様上の上限に近づいていないか監視する必要があります。ApsaraMQ for RocketMQ は、CloudMonitor と連携して、以下の問題に対応するモニタリングおよびアラートサービスを、無料で標準提供しています。
インスタンス仕様ウォーターマークの早期警告
リソース使用量がインスタンスの仕様上限を超えると、ApsaraMQ for RocketMQ はスロットリングを実施します。事前に仕様のウォーターマークに関するアラートを設定することで、上限を超えるリスクを早期に検出し、インスタンスの設定を迅速にアップグレードして、スロットリングに起因するビジネス上の障害を回避できます。
ビジネスロジックエラーの早期警告
メッセージの送受信時にエラーが発生する場合があります。呼び出しエラーのアラートを設定することで、ビジネス側から報告される前に例外を検出できます。これにより、エラーの原因を特定し、速やかに修正できます。
ビジネスパフォーマンスメトリクスの早期警告
メッセージパイプラインに応答時間 (RT) やメッセージレイテンシーなどの特定のパフォーマンス要件がある場合、これらのビジネスメトリクスのアラートを設定することで、ビジネスリスクを積極的に管理できます。
アラート設定の原則
ApsaraMQ for RocketMQ は、豊富なメトリクスとアラート項目を提供します。これらの項目は、実行ウォーターマーク、メッセージングパフォーマンス、および例外イベントの 3 つのタイプに分類できます。
本番環境での豊富な経験に基づき、以下のアラートを設定することを推奨します。
以下の主要なモニタリング項目は、基本的な推奨事項です。 ApsaraMQ for RocketMQ は包括的なモニタリングメトリックを提供しており、お客様のビジネスニーズに基づいて、よりきめ細かく包括的なアラートを設定できます。 詳細については、「モニタリングとアラート」をご参照ください。
アラートカテゴリ | 主要なアラート項目 | 設定タイミング | 対象ロール |
インスタンスリソースウォーターマークと使用量メトリクス |
|
| リソース運用エンジニア |
メッセージングパフォーマンスメトリクス |
|
|
|
メッセージング例外イベント |
|
|
|
アラート設定のエントリーポイント
ApsaraMQ for RocketMQ コンソールにログインし、左側のナビゲーションバーでインスタンス数をクリックします。
トップメニューバーで、中国 (杭州) などのリージョンを選択し、次にインスタンスリストで対象のインスタンス名をクリックします。
左側のナビゲーションペインで、モニタリングおよびアラート をクリックし、次に アラートルールの作成 をクリックします。
ベストプラクティス
インスタンス API 呼び出しのピーク TPS アラートの設定
背景: ApsaraMQ for RocketMQ 5.0 インスタンス仕様では、メッセージの送受信に対する基本 TPS 上限 (API 呼び出しレート) が定義されています。 インスタンスのピーク API 呼び出し TPS がこの上限を超えた場合、インスタンスはスロットリングされます。 基本 TPS 上限の詳細については、「クォータと制限」をご参照ください。
設定しない場合のリスク:このアラートがないと、API 呼び出しレートが上限を超える前に警告を受け取れず、スロットリングが開始されると一部のメッセージ送受信リクエストが失敗します。
設定タイミング:インスタンス作成後、送信と受信のリクエスト比率を設定した後に、このアラートを設定することを推奨します。比率を調整するには、次の手順に従います。
インスタンスの詳細 ページで、基本情報 タブをクリックします。
編集 をクリックすると、[設定の変更] パネルが開き、送受信リクエスト比率を調整できます。
インスタンス送信 API 呼び出し
推奨しきい値:インスタンスのピーク送信 TPS 上限の 70% にしきい値を設定します。たとえば、ピーク送信 TPS 上限が 5,000 の場合、しきい値を 3,500 に設定します。
Professional Edition および Enterprise Platinum Edition インスタンスは、トラフィックバースト用のエラスティック TPS をサポートしています。この機能を有効にする場合は、しきい値をエラスティック仕様上限 (ピーク送信 TPS + エラスティック送信 TPS) の 70% に設定します。
サーバーレスインスタンス は適応型エラスティシティをサポートしています。しきい値をインスタンスのエラスティックピーク送信 TPS の 70% に設定します。
コンソールのインスタンスの詳細ページで、インスタンスのピーク送信 TPS 上限と弾性送信 TPS を確認できます。
対応:インスタンス送信 API 呼び出しレートのアラートを受信した場合は、次の手順に従います。
インスタンスの詳細 ページで、ダッシュボード タブをクリックします。
[スロットリング関連メトリクス] セクションで、[プロダクション TPS ウォーターマーク] チャートの [プロダクション TPS 最大値] 曲線を確認し、しきい値に達した時刻を特定します。
[インスタンス概要] セクションで、[プロデューサーからサーバーへのメッセージ送信レート (メッセージ/分)] チャートを確認します。しきい値に達した時刻とトピックアクティビティを関連付けて、異常なトラフィックのソースを特定し、その曲線を分析してトラフィック変化が想定内のものか判断します。
トラフィック変化が想定外の場合は、ビジネスチームに連絡してさらに分析します。
トラフィック変化が想定内である場合、現在のインスタンス仕様では不十分です。直ちにインスタンス設定をアップグレードして、メッセージング計算仕様を調整します。
インスタンス受信 API 呼び出し
推奨しきい値:インスタンスのピーク受信 TPS 上限の 70% にしきい値を設定します。たとえば、ピーク受信 TPS 上限が 5,000 の場合、しきい値を 3,500 に設定します。
Professional Edition および Enterprise Platinum Edition インスタンスは、トラフィックバースト用のエラスティック TPS をサポートしています。この機能を有効にする場合は、しきい値をエラスティック仕様上限 (ピーク受信 TPS + エラスティック受信 TPS) の 70% に設定します。
サーバーレスインスタンス は適応型エラスティシティをサポートしています。しきい値をインスタンスのエラスティックピーク受信 TPS の 70% に設定します。
コンソールのインスタンスの詳細 ページで、インスタンスのピーク受信 TPS 上限と弾性受信 TPS を表示できます。
対応:インスタンス受信 API 呼び出しレートのアラートを受信した場合は、次の手順に従います。
インスタンスの詳細 ページで、ダッシュボード タブをクリックします。
[スロットリング関連メトリクス] セクションで、[コンサンプション TPS ウォーターマーク] チャートの [コンサンプション TPS 最大値] 曲線を確認し、しきい値に達した時刻を特定します。
[インスタンス概要] セクションで、[サーバーからコンシューマーへのメッセージ配信レート (メッセージ/分)] チャートを確認します。しきい値に達した時刻とコンシューマーグループアクティビティを関連付けて、異常な消費のソースを特定し、その曲線を分析してトラフィック変化が想定内のものか判断します。
トラフィック変化が想定外の場合は、ビジネスチームに連絡してさらに分析します。
トラフィック変化が想定内である場合、現在のインスタンス仕様では不十分です。直ちにインスタンス設定をアップグレードして、メッセージング計算仕様を調整します。
分あたりのメッセージ数のアラート設定
背景: ApsaraMQ for RocketMQ を使用すると、トピックおよびコンシューマーグループレベルでメッセージの送受信 TPS を監視できます。これらのメトリックにアラートを設定することで、特定のビジネスサービスのトラフィック量をプロアクティブに監視できます。
設定しない場合のリスク:トピックのメッセージ送受信 TPS は、ビジネスの呼び出し頻度を反映します。このアラートがないと、トラフィックが突然ゼロに低下したり、予期しないスパイクが発生したりしても気づかず、ビジネスリスクにつながる可能性があります。
設定タイミング:ビジネスが稼働し、トラフィックが安定した後に、このアラートを設定することを推奨します。
プロデューサーが送信したメッセージ
推奨しきい値:ビジネスが稼働し、トラフィックが安定した後の実際のトラフィックに基づいて、アラートしきい値を推定します。
対応:メッセージ送信 TPS アラートを受信した場合は、次の手順に従います。
トピックの管理 ページで、アラートルールで指定されているトピック名をクリックします。
[トピック詳細] ページで、ダッシュボード タブをクリックします。
[メッセージ量 (メッセージ/分)] チャートの [プロダクション] 曲線を確認します。ビジネスモデルに基づいて、曲線の変動が妥当かどうかを判断し、異常を分析します。
コンシューマーが受信したメッセージ
推奨しきい値:ビジネスが稼働し、トラフィックが安定した後の実際のトラフィックに基づいて、アラートしきい値を推定します。
対応:メッセージ受信 TPS アラートを受信した場合は、次の手順に従います。
グループ管理 ページで、アラートルールで指定されたコンシューマーグループの ID をクリックします。
グループの詳細 ページで、ダッシュボード タブをクリックします。
[メッセージ生成および消費レートトレンド (メッセージ/分)] チャートの [消費レート (メッセージ/分)] 曲線を確認します。ビジネスモデルに基づいて、曲線の変動が妥当かどうかを判断し、異常を分析します。
インターネットアウトバウンド帯域幅のアラート設定
背景: ApsaraMQ for RocketMQ 5.0 シリーズインスタンスはインターネットアクセスをサポートしていますが、このアクセスはインターネットアウトバウンド帯域幅によって制限されます。仕様の帯域幅制限を超えると、インターネットアクセスに支障をきたします。
設定しない場合のリスク:このアラートがないと、インスタンスのインターネットトラフィックが帯域幅上限を超えても警告を受け取れず、パケットロス、クライアント呼び出しタイムアウト、または障害につながる可能性があります。
設定のタイミング: 非サーバーレス インスタンスが作成され、インターネット アクセスが有効になった後に、このアラートを設定します。
説明サーバーレスインスタンスは伸縮自在な帯域幅をサポートしているため、このアラートを設定する必要はありません。
推奨しきい値: しきい値を仕様上の上限の 35% に設定します。 この値が推奨されるのは、上限の 70% でアラートを出すことを目標としているのに対し、監視ツールは実際のトラフィックの約 50% にあたるデータしか収集しないためです (70% × 50% = 35%)。 たとえば、帯域幅が 1 Mbit/s のインスタンスを購入した場合、推奨されるアラートしきい値は 43,750 B/s です。 インスタンスのインターネット帯域幅情報は、インスタンスの詳細 ページの 基本情報 タブにある 実行情報 セクションで確認できます。
説明しきい値を見積もる際は、計算する前に Mbit/s を B/s に変換します。例:
1 Mbit/s = 1×10^6 bits/s = (1×10^6)/8 B/s = 125,000 B/s。推奨されるしきい値は125,000 B/s × 0.7 × 0.5 = 43,750 B/sです。対応:インターネットアウトバウンド帯域幅のアラートを受信した場合は、次の手順に従います。
インスタンスの詳細 ページで、ダッシュボード タブをクリックします。
[課金メトリクス概要] セクションで、[インターネットアウトバウンドトラフィック帯域幅] チャートの [アウトバウンド帯域幅] 曲線を確認し、しきい値に達した時刻を特定します。チャートの単位がアラートしきい値の単位と一致していることを確認します。
[インスタンス概要] セクションで、[プロデューサーからサーバーへのメッセージ送信レート (メッセージ/分)] および [サーバーからコンシューマーへのメッセージ配信レート (メッセージ/分)] チャートを確認します。しきい値に達した時刻と関連付けて、異常なデータを持つトピックまたはコンシューマーグループを特定し、曲線を分析してトラフィック変化が想定内のものか判断します。
トラフィック変化が想定外の場合は、ビジネスチームに連絡してさらに分析します。
トラフィック変化が想定内である場合、現在のインスタンス仕様では不十分です。直ちにインスタンス設定をアップグレードして、インターネットアウトバウンド帯域幅仕様を調整します。
メッセージ蓄積のアラート設定
メッセージ蓄積の統計は変動する可能性があり、不正確な場合があります。数十件のメッセージの蓄積に対してアラートしきい値を設定することは推奨しません。ビジネスが少量のバックログにも非常に敏感な場合は、代わりに消費遅延時間を監視してください。
背景: ApsaraMQ for RocketMQ では、コンシューマーグループレベルでメッセージの蓄積を監視し、ダウンストリームでの消費バックログについてアラートを出すことができます。
未設定の場合のリスク: メッセージの蓄積は ApsaraMQ for RocketMQ の標準機能ですが、リアルタイム処理では、消費の滞留によるビジネスへの影響を避けるために、未処理メッセージの量を監視および制御する必要があります。
設定タイミング:ビジネスが稼働し、トラフィックが安定した後に、このアラートを設定することを推奨します。
推奨しきい値:ビジネスが稼働した後のビジネス許容範囲に基づいて、アラートしきい値を推定します。
対応:メッセージ蓄積のアラートを受信した場合は、次の手順に従います。
グループ管理ページで、アラートルールで指定されたコンシューマーグループの ID をクリックします。
グループの詳細 ページで、ダッシュボード タブをクリックします。
[蓄積関連メトリクス] チャートの [蓄積メッセージ] 曲線を確認します。蓄積の傾向を分析して、蓄積が始まった時刻を特定します。
ビジネスの変化とアプリケーションログに基づいて、蓄積が始まった時点での要因を分析し、原因を特定します。メッセージ消費の原則の詳細については、「コンシューマータイプ」をご参照ください。
原因に基づいて、コンシューマーアプリケーションをスケールアウトするか、消費ロジックの欠陥を修正するかを決定します。
消費遅延時間のアラート設定
消費遅延時間は、現在のコンシューマーグループ内のすべての未消費メッセージの中で最も古いメッセージに基づいて計算されるため、累積的で敏感なメトリクスです。消費遅延時間のアラートを受信した場合、まず遅延が少数のスタックしたメッセージによるものか、全体的な消費能力の不足によるものかを判断する必要があります。
背景: ApsaraMQ for RocketMQ では、コンシューマーグループレベルで消費遅延時間を監視し、消費バックログシナリオを分析するためのより具体的なメトリックを提供します。
設定しない場合のリスク: メッセージの蓄積は ApsaraMQ for RocketMQ の標準機能ですが、リアルタイム処理では、消費の遅延がビジネスに影響を与えないように、滞留メッセージの遅延を監視および制御する必要があります。
設定タイミング:ビジネスが稼働し、トラフィックが安定した後に、このアラートを設定することを推奨します。
推奨しきい値:ビジネスが稼働した後のビジネス許容範囲に基づいて、アラートしきい値を推定します。
対応:消費遅延時間のアラートを受信した場合は、次の手順に従います。
グループ管理 ページで、アラートルールで指定されたコンシューマーグループの ID をクリックします。
グループの詳細 ページで、ダッシュボード タブをクリックします。
[蓄積関連メトリクス] チャートで [消費遅延時間 (秒)] 曲線を確認し、遅延が一時的なものか、継続的に増加しているかを分析します。
次に [蓄積メッセージ] 曲線を確認し、蓄積が始まった時刻を特定します。その時刻におけるビジネスの変化やアプリケーションログを基に原因を特定します。メッセージ消費の原則の詳細については、「コンシューマータイプ」をご参照ください。
原因に基づいて、コンシューマーアプリケーションをスケールアウトするか、消費ロジックの欠陥を修正するかを決定します。
スロットリングイベントのアラート設定
背景: ApsaraMQ for RocketMQ は、特定のインスタンスのスロットリングイベントを監視します。スロットリングイベントの数を監視することで、現在のビジネスへの影響を把握できます。
設定しない場合のリスク:スロットリングイベント数が多い場合、インスタンス仕様が大幅に超過していることを示します。速やかにインスタンス設定をアップグレードする必要があります。
設定タイミング:ビジネスが稼働し、トラフィックが安定した後。
インスタンスレベルのスロットリング数:インスタンス作成後にアラートを設定します。
トピックおよびコンシューマーグループレベルのスロットリング数:ビジネスが稼働し、トラフィックが安定した後にアラートを設定します。
推奨しきい値:ビジネスが稼働した後のビジネス許容範囲に基づいて、アラートしきい値を推定します。
対応:スロットリングイベントのアラートを受信した場合は、次の手順に従います。
インスタンスの詳細 ページで、ダッシュボード タブをクリックします。
[スロットリング関連メトリクス] セクションで、[スロットルされたリクエスト分布 (プロダクション)] チャートを確認し、スロットリングイベントのタイミングとパターンを分析します。
[インスタンス概要] セクションで、[プロデューサーからサーバーへのメッセージ送信レート (メッセージ/分)] メトリクスを確認します。スロットリングイベントのタイミングに基づいて、異常なデータを持つトピックを特定し、その曲線を確認してトラフィック増加が想定内のものか判断します。
この分析に基づいて、トラフィック増加が想定内であればインスタンス設定をアップグレードします。想定外の場合は、異常なトラフィックのソースを調査します。