症状
Alibaba Cloud ApsaraMQ for Kafka を使用しているときに、コンシューマーグループを削除した後でも、そのコンシューマーグループのメッセージの累積に関するアラートを受信します。
原因
メッセージの累積に関するアラートは、次の理由で報告されます。
Apache Kafka は、ブローカーバージョンが 2.2.0 より前の Message Queue for Apache Kafka インスタンスのコンシューマーグループとコンシューマーオフセットを削除できる API 操作を提供していません。 これらの Message Queue for Apache Kafka インスタンスのコンシューマーグループを削除した後、コンシューマーグループはコンソールからのみ論理的に削除されます。 コシューマーグループのコンシューマーオフセットなどの情報は、ブローカーからは削除されません。 メッセージの累積に関するアラートは、コンシューマーオフセットに基づいて処理されます。 そのため、メッセージの累積に関するアラートが引き続き受信されます。
コンシューマーグループが削除された後、コンシューマーグループ内のコンシューマースレッドが停止しないか、リバランス操作がトリガーされません。 この場合、コンシューマースレッドはメッセージの消費を続けます。 その結果、メッセージの累積に関するアラートが引き続き受信されます。
解決策
コンシューマーグループを削除した後に、そのコンシューマーグループのメッセージの累積に関するアラートを受信したくない場合は、次の操作を実行します。
ブローカーのバージョンを確認します。 次に、ブローカーのバージョンに基づいて、次の操作を実行します。
バージョン 2.2.0 以降の場合は、次の操作を実行します。
コンシューマーグループにアクティブなコンシューマースレッドが含まれていない場合は、コンシューマーグループを直接削除します。 subscribe メソッドを使用してメッセージを消費する場合、コンシューマースレッドはアクティブです。 コシューマーグループを削除した後にアラートが引き続き受信される場合は、コンシューマースレッドがコンシューマーオフセットを送信しているかどうかを確認します。
コンシューマーグループにアクティブなコンシューマースレッドが存在する場合は、メッセージの累積に対してカウントする必要のないパーティションのコンシューマーオフセットを 0 にリセットできます。 これにより、システムはパーティションのメッセージの累積に関する情報の収集を停止します。 詳細については、「コンシューマーオフセットのリセット」をご参照ください。
V2.2.0 より前のバージョンの場合は、ビジネス要件に基づいて次のいずれかの操作を実行します。
コンシューマーオフセットが期限切れになるまで待ちます。 コンシューマーオフセットの最大保存期間が経過すると、コンシューマーオフセットは期限切れになります。 V2.2.0 より前のバージョンでは、Apache Kafka はコンシューマーオフセットを削除できる API 操作を提供していません。 そのため、コンシューマーオフセットを削除することはできません。 指定された最大保存期間が経過した後、コンシューマーオフセットが更新されない場合、コンシューマーオフセットは自動的に削除されます。 コンシューマーオフセットの最大保存期間を設定する方法については、「メッセージ設定の変更」をご参照ください。
特定のシナリオでは、コンシューマーオフセットが期限切れになるまで待つことができません。 この場合、コンシューマーグループが存在することを確認し、コンソールでメッセージの累積に対してカウントする必要のないパーティションのコンシューマーオフセットを 0 にリセットします。 これにより、システムはパーティションのメッセージの累積に関する情報の収集を停止します。 詳細については、「コンシューマーオフセットのリセット」をご参照ください。
コンシューマーグループにアクティブなコンシューマースレッドが存在しない場合は、ブローカーのバージョンを 2.2.0 以降にアップグレードし、コンシューマーグループを再作成してから、コンシューマーグループを削除できます。 ブローカーのバージョンをアップグレードする方法については、「インスタンスバージョンのアップグレード」をご参照ください。
説明バージョン 2.2.0 以降では、コンシューマーグループにアクティブなコンシューマースレッドが含まれている場合、最大保存期間が経過しても、コンシューマーグループ内のコンシューマーオフセットは削除されません。 詳細については、「期限切れのコンシューマーオフセットが保持されるのはなぜですか。」をご参照ください。
問題が解決しない場合は、メッセージの累積の監視とアラートを無効にすることができます。 メッセージの累積のアラートルールを無効にする方法については、「CloudMonitor」をご参照ください。