ApsaraMQ for RocketMQでは、CloudMonitorを使用してアラートルールを設定できます。 これにより、インスタンスのステータスと主要なメトリックをリアルタイムで監視でき、実稼働環境でリスク警告を実装するための最も早い機会に例外通知を受け取ることができます。
背景情報
ApsaraMQ for RocketMQは、インスタンスエディションごとにフルマネージドメッセージングサービスとサービスレベルアグリーメント (SLA) を提供します。 ApsaraMQ for RocketMQインスタンスを購入すると、1秒あたりのメッセージングトランザクション (TPS) やメッセージストレージ機能など、インスタンスの機能が保証されます。
インスタンスのパフォーマンスについて心配する必要はありません。 ただし、本番環境でインスタンスの使用状況を監視して、インスタンスに指定されているしきい値を超えないようにする必要があります。 ApsaraMQ for RocketMQはCloudMonitorと統合され、モニタリングおよびアラートサービスを無料で提供し、すぐに使用できます。 サービスを使用して, 次の项目を监视できます。
インスタンスの使用状況
実際のインスタンス使用量が仕様の制限を超えている場合、ApsaraMQ for RocketMQはインスタンスを強制的にスロットルします。 インスタンススロットリングによって引き起こされる障害を防ぐために、事前にインスタンス使用アラートを設定し、過剰な使用リスクが検出されたときにインスタンス設定をアップグレードできます。
ビジネス論理エラー
メッセージの送受信時にエラーが発生することがあります。 呼び出しエラーアラートを設定して、エラーを検出および修正し、ビジネスへの悪影響を防ぐことができます。
パフォーマンスメトリクス
応答時間 (RT) やメッセージ遅延などのパフォーマンスメトリックがメッセージシステムに必要な場合は、ビジネスリスクを防ぐために、対応するメトリックアラートを事前に設定できます。
アラートを設定するためのルール
ApsaraMQ for RocketMQは、さまざまなメトリクスとモニタリングおよびアラート項目を提供します。 詳細については、「ダッシュボード」および「モニタリングとアラート」をご参照ください。 モニタリング項目は、リソース使用量、メッセージングパフォーマンス、およびメッセージング例外に分類できます。
本番環境で蓄積されたベストプラクティスに基づいて、次の表に記載されているルールに従ってアラートを設定することをお勧めします。
以下のモニタリング項目は、Alibaba Cloudが推奨する基本設定です。 ApsaraMQ for RocketMQには、その他のモニタリング項目もあります。 ビジネス要件に基づいてきめ細かいアラートを設定できます。 詳細については、「モニタリングとアラート」をご参照ください。
カテゴリ | モニタリングアイテム | 設定のタイミングと理由 | 関连担当者 |
リソース使用量 | インスタンスのAPI呼び出し |
| リソース演算子 |
メッセージングのパフォーマンス |
|
|
|
メッセージングエラー |
|
|
|
インスタンスのAPI呼び出し数に関するアラートを設定するためのベストプラクティス
背景: ApsaraMQ for RocketMQでは、インスタンスでメッセージを送受信するために開始できるAPI呼び出しの数は、TPSのメッセージングによって測定されます。 ピークメッセージングTPSは、各インスタンスに対して指定される。 インスタンスのメッセージングTPSが仕様の制限を超えた場合、インスタンスはスロットルされます。 たとえば、Standard Editionインスタンスの場合、5,000のピークTPSが指定されます。 制限を超えた場合、インスタンスはスロットルされます。
アラートを設定しないことによるリスク: アラートを設定しない場合、API呼び出しの数が仕様の制限を超えるまではアラートを受信できません。 その結果、インスタンスが抑制され、特定のメッセージの送受信に失敗します。
設定のタイミング: インスタンスの作成後にアラートを設定することを推奨します。
推奨しきい値: アラートしきい値を仕様制限の70% に設定することを推奨します。 たとえば、購入したインスタンスのピークメッセージングTPSが10,000の場合、アラートしきい値を7,000に設定します。
アラート処理: API呼び出しの数に関するアラートを受け取った後、次の手順を実行してアラートを処理することを推奨します。
ApsaraMQ for RocketMQコンソールのダッシュボードページに移動し、メッセージの送信に使用されるトラフィックの変更傾向を表示し、ビジネスの変更が正常かどうかを確認します。
ビジネスの変化が異常な場合は、ユーザーに連絡してさらに分析してください。
ビジネスの変更が正常な場合、インスタンスのコンピューティング仕様は正常なビジネス操作を維持するには不十分です。 この場合、インスタンス設定をアップグレードすることを推奨します。 詳細については、「インスタンス設定のアップグレードまたはダウングレード」をご参照ください。
トピックでTPSを送信するメッセージ、またはコンシューマーグループで受信するメッセージに関するアラートを構成するためのベストプラクティス
背景: ApsaraMQ for RocketMQは、トピックおよび消費者グループごとにメッセージングTPSを監視するためのメトリックを提供します。 メトリックを使用して、特定のビジネスアイテムのメッセージングTPSを監視し、ビジネス規模を把握できます。
アラートを設定しないことによるリスク: トピック内のメッセージングTPSは、トピック内のメッセージを送受信するために開始できるAPI呼び出しの数を指定します。 アラートを設定しない場合、トラフィックがゼロになるまで、またはトラフィックのスパイクが発生するまで、アラートを受信できません。 これは予期しないリスクを引き起こす可能性があります。
設定のタイミング: ビジネスが安定した後にアラートを設定することを推奨します。
推奨しきい値: ビジネスが安定した後のトラフィック量に基づいてしきい値を設定することを推奨します。
アラート処理: メッセージングTPSに関するアラートを受信した後、次の手順を実行してアラートを処理することを推奨します。
ApsaraMQ for RocketMQコンソールのダッシュボードページに移動し、指定されたトピックまたはグループのメッセージングTPS曲線を表示し、トラフィックの変更が正常かどうかを確認します。
ビジネスモデルに基づいて、トラフィックの変更が正常かどうかを判断します。
メッセージ蓄積アラートを設定するためのベストプラクティス
変動およびエラーは、メッセージ蓄積に関する統計に存在し得る。 蓄積されたメッセージのしきい値を100未満に設定しないことを推奨します。 蓄積されたメッセージの数が少なくてもビジネスに影響がある場合は、メッセージの蓄積を監視するように消費遅延時間アラートを設定することを推奨します。
背景: ApsaraMQ for RocketMQを使用すると、コンシューマーグループごとにメッセージの蓄積を監視できます。 メッセージ蓄積アラートを使用すると、メッセージの蓄積によって引き起こされる障害を防ぐことができます。
アラートを設定しないことによるリスク: メッセージの蓄積は、ApsaraMQ for RocketMQの典型的なシナリオと機能です。 メッセージをリアルタイムで処理する必要があるシナリオでは、メッセージの蓄積によるビジネスへの悪影響を防ぐために、蓄積されたメッセージの数を監視および管理する必要があります。
設定のタイミング: ビジネスが安定した後にアラートを設定することを推奨します。
推奨しきい値: ビジネスの実際のパフォーマンスに基づいてしきい値を設定することを推奨します。
アラート処理: メッセージの蓄積に関するアラートを受け取った後、次の手順を実行してアラートを処理することを推奨します。
ApsaraMQ for RocketMQコンソールのダッシュボードページに移動し、指定されたコンシューマーグループのメッセージ累積曲線の変化傾向を表示し、メッセージの累積が開始された時刻を確認します。
ビジネスの変更とアプリケーションログに基づいて、メッセージの蓄積の原因を分析します。 詳細については、「」をご参照ください。蓄積されたメッセージをどのように処理できますか?
メッセージの蓄積の原因に基づいて、コンシューマアプリケーションをスケールアウトするか、消費ロジックの欠陥を修正するかを決定します。
消費遅延時間アラートを設定するためのベストプラクティス
消費遅延時間は、消費者グループ内の最初の消費されていないメッセージの遅延時間に基づいて計算される。 消費遅延時間は累積的であり、ビジネスの変化に敏感です。 消費遅延時間に関するアラートを受信した後、少数のメッセージまたはすべてのメッセージが遅延しているかどうかを判断する必要があります。
背景: ApsaraMQ for RocketMQを使用すると、消費者グループごとに消費遅延を監視できます。 消費遅延時間アラートは、メッセージ蓄積を分析するための詳細なメトリックを提供します。
アラートを設定しないことによるリスク: メッセージの蓄積は、ApsaraMQ for RocketMQの典型的なシナリオと機能です。 メッセージをリアルタイムで処理する必要があるシナリオでは、メッセージの蓄積によるビジネスへの悪影響を防ぐために、蓄積されたメッセージの数と消費遅延時間を監視および管理する必要があります。
設定のタイミング: ビジネスが安定した後にアラートを設定することを推奨します。
推奨しきい値: ビジネスの実際のパフォーマンスに基づいてしきい値を設定することを推奨します。
アラート処理: 消費遅延時間に関するアラートを受け取った後、次の手順を実行してアラートを処理することを推奨します。
ApsaraMQ for RocketMQコンソールのダッシュボードページに移動し、指定したグループのメッセージ累積曲線の変化傾向を表示して、メッセージの累積が開始された時刻を確認します。
ビジネスの変更とアプリケーションログに基づいて、メッセージの蓄積の原因を分析します。 詳細については、「」をご参照ください。蓄積されたメッセージをどのように処理できますか?
メッセージの蓄積の原因に基づいて、コンシューマアプリケーションをスケールアウトするか、消費ロジックの欠陥を修正するかを決定します。
着信拒否メッセージアラートを設定するためのベストプラクティス
背景: ApsaraMQ for RocketMQは、デッドレターメッセージをサポートしています。 指定された最大リトライ回数に達した後に消費されないメッセージは、デットレターキューに送信されます。 デッドレターメッセージを管理できます。 デッドレターメッセージの数を監視して、ビジネスで予期しない問題や例外を検出することができます。
アラートを設定しないことによるリスク: デッドレターメッセージは、コンシューマーが正しく処理できないメッセージです。 消費アプリケーションは、デットレターメッセージを処理する必要があります。 無効メッセージアラートを設定しないと、メッセージの消費が不完全になる可能性があります。
設定のタイミング: ビジネスが安定した後にアラートを設定することを推奨します。
推奨しきい値: ビジネスが安定した後のトラフィック量に基づいてしきい値を設定することを推奨します。
アラートの処理: 無効メッセージに関するアラートを受信した後、次の手順を実行してアラートを処理することを推奨します。
デッドレターメッセージを照会し、元のメッセージを分析します。 詳細については、「Dead-letterキュー」をご参照ください。
メッセージの消費トレースを照会し、トピックとメッセージIDに基づいて消費失敗の原因を分析します。 詳細については、「クエリメッセージトレース」をご参照ください。
メッセージ消費失敗の原因に基づいて、適切なソリューションを決定します。
スロットリングの発生回数に関するアラートを構成するためのベストプラクティス
背景: ApsaraMQ for RocketMQでは、特定のインスタンスでスロットルをトリガーするイベントをアラートメトリックとして使用できます。 これは、ビジネスへの悪影響を理解するのに役立ちます。
アラートを設定しないことによるリスク: スロットリングが発生する回数が多い場合は、トラフィックの使用量が仕様の制限を頻繁に超えていることを示します。 この場合、インスタンス設定をアップグレードすることを推奨します。
設定のタイミング: ビジネスが安定した後にアラートを設定することを推奨します。
インスタンスの作成後にインスタンスでスロットリングが発生する回数に関するアラートを設定することを推奨します。
ビジネスが安定した後、トピックまたはコンシューマーグループでスロットリングが発生する回数に関するアラートを構成することをお勧めします。
推奨しきい値: ビジネスの実際のパフォーマンスに基づいてしきい値を設定することを推奨します。
アラート処理: スロットリングの発生回数に関するアラートを受信した後、次の手順を実行してアラートを処理することを推奨します。
ApsaraMQ for RocketMQコンソールのダッシュボードページに移動し、指定されたインスタンス、トピック、またはコンシューマーグループのメッセージングTPS曲線を表示してから、スロットリングが発生した時刻とスロットリングパターンを分析します。
ダッシュボードの統計に基づいて、TPSを最も多く使用するトピックまたは消費者グループを確認して、トラフィックの増加がビジネス要件を満たしているかどうかを判断します。
トラフィックの増加がビジネス要件を満たしている場合は、インスタンス設定をアップグレードします。 それ以外の場合は、問題のトラブルシューティングを行います。