ApsaraMQ for Confluent クラスターは、ブローカー、Topic、コンシューマーグループ全体でメトリックを生成します。コントロールセンターは、定義されたしきい値に対してこれらのメトリックを評価し、異常が発生したときにメール、Slack、またはPagerDuty を介して通知を送信します。これにより、本番ワークロードに影響を与える前に、ブローカー障害、コンシューマーラグの急増、またはクラスター停止を検出できます。
仕組み
アラートは次の2つの部分で構成されます。
[トリガー]: メトリックをしきい値に対して評価するルールです。条件が満たされると、トリガーが発動します。
[アクション]: トリガーが発動したときに送信される通知です。各トリガーには1つ以上のアクションを設定できます。
アラートを設定するには、次の手順を実行します。
メトリック、条件 (「より大きい」など)、およびしきい値を指定して、トリガーを作成します。
通知チャネル (メール、Slack、またはPagerDuty) を指定するアクションを作成し、それをトリガーに関連付けます。
メトリックがトリガー条件を満たすと、関連付けられているすべてのアクションが実行され、通知が送信されます。
トリガーの作成
コントロールセンターにログインします。
トップナビゲーションバーで、
アイコンをクリックします。[概要] ページで、[トリガー] タブをクリックし、次に [トリガーの追加] をクリックします。
「[新規トリガー]」ページで、トリガー名とトリガー条件を指定し、「[保存]」をクリックします。
トリガーを作成した後、[トリガー] タブでトリガー名をクリックすると、それを変更または削除できます。
アクションの作成
アクションは、トリガーが発動したときに通知がどのように配信されるかを定義します。
[概要]ページで、[操作]タブをクリックし、次に[操作を追加]をクリックします。
[新規アクション] ページで、以下のパラメーターを設定し、[保存] をクリックします。
パラメーター 説明 アクション名 アクションの名前。 トリガー このアクションに関連付けるトリガー。 アクション 通知チャネル。有効な値:
- メールを送信:メールで通知を配信します。
- PagerDuty 通知を送信:PagerDuty を通じて通知を配信します。設定の詳細については、「サービスとインテグレーション」をご参照ください。
- Slack 通知を送信:Slack の受信 Webhook を通じて通知を配信します。設定の詳細については、「受信 Webhook を使用したメッセージの送信」をご参照ください。件名 1 つ以上のアラート連絡先のメールアドレスをコンマ区切りで入力します。アクションが メールを送信 に設定されている場合にのみ必須です。アクションが実行されるたびに、指定されたアドレスにメールが送信されます。 最大送信レート 特定の頻度内でアクションが実行される最大回数。頻度 パラメーターと組み合わせて使用します。たとえば、このパラメーターを 1に、頻度 を1 日あたりに設定すると、通知は 1 日 1 回に制限されます。頻度 送信レート制限の時間間隔。有効な値:1 分あたり、1 時間あたり、4 時間あたり、8 時間あたり、1 日あたり。デフォルト:1 時間あたり。
操作を作成した後、[操作] タブで操作名をクリックすると、変更または削除できます。
すべてのアラートアクションの一時停止と再開
メンテナンス中またはトラブルシューティング中に、すべてのアラートアクションを一時停止して、通知を一時的に抑制できます。一時停止しても、個々のアクション設定は変更されません。各アクションは、有効または無効の状態を保持します。
一時停止中は、満たされたトリガー条件は無視され、それらのトリガーに関連付けられているすべての有効なアクションは抑制されます。
アクションを再開すると、条件が再度満たされたときにトリガーが発動し、通知が送信されます。
ApsaraMQ for Confluent またはコントロールセンターを停止して再起動すると、一時停止されたアクションは自動的に再開され、アクティブになります。
すべてのアクションの一時停止
[概要] ページで、[アクション] タブをクリックします。
[すべての操作を一時停止] スイッチをオンにします。
確認メッセージを読み、[確認] をクリックします。
すべてのアクションの再開
[概要]ページで、[アクション]タブをクリックします。
「すべての操作を一時停止」スイッチをオフにします。
確認メッセージを読み、[確認] をクリックします。
アラートアクションの無効化または有効化
アクションは、作成時にデフォルトで有効になります。アクションを削除せずに実行されないようにするには、アクションを無効にします。一時停止と再開は無効状態を尊重します。一時停止されたアラートを再開しても、無効化されたアクションは再アクティブ化されません。
[概要] ページで、[アクション] タブをクリックします。
管理するアクションをクリックします。
操作の詳細ページで、[編集] をクリックし、[有効] スイッチをオフにします。
操作を再有効化するには、これらの手順を繰り返して、[有効] スイッチを有効にします。
アラートメトリックリファレンス
コントロールセンターは、4つのカテゴリのトリガーメトリックを提供します。各メトリックは、Kafka インフラストラクチャの特定の側面を監視します。
ブローカーメトリック
ブローカートリガーは、個々のブローカーのパフォーマンスを監視します。
| メトリック | 説明 |
|---|---|
| 受信バイト数 | 1秒あたりに生成されたバイト数。 |
| 送信バイト数 | 1秒あたりにフェッチされたバイト数。内部レプリケーショントラフィックは除外されます。 |
| フェッチリクエストレイテンシー | 中央値、95パーセンタイル、99パーセンタイル、または99.9パーセンタイルでのフェッチリクエストのレイテンシー。単位: ミリ秒。 |
| プロダクションリクエスト数 | 1分あたりのプロダクションリクエストの合計数。 |
| プロダクションリクエストレイテンシー | 中央値、95パーセンタイル、99パーセンタイル、または99.9パーセンタイルでのプロダクションリクエストのレイテンシー。単位: ミリ秒。 |
クラスターメトリック
クラスターのトリガーは、クラスター全体の健全性と可用性を監視します。
| メトリック | 説明 | 推奨しきい値 |
|---|---|---|
| クラスター停止 | 監視対象のクラスターがシャットダウンされているかどうか。 | -- |
| リーダー選出レート | パーティションリーダー選出の数。 | -- |
| オフラインのTopicパーティション | クラスター内でオフラインになっているTopicパーティションの合計数。レプリカを持つブローカーが停止している場合、または不正なリーダー選出が無効になっていて同期済みレプリカがリーダーとして選出できない場合に、パーティションはオフラインになります。後者の場合、メッセージが失われないようにしてください。 | 0より大きい |
| 不正な選出数 | 前回の間隔で報告された不正なパーティションリーダー選出の数。以前のリーダーが失われる前にメッセージが同期されていなかった場合、データ損失が発生する可能性があります。不正な選出数が0より大きい場合は、ブローカーログをクエリしてリーダーが再選出された理由を特定し、警告メッセージまたはエラーメッセージを検索してください。同期外レプリカがリーダーとして選出されるのを防ぐために、ブローカー構成パラメーター unclean.leader.election.enable を false に設定することを推奨します。 | 0と等しくない |
| レプリケーション不足のTopicパーティション | 同期済みレプリカの数がレプリケーション係数よりも少ないTopicパーティションの合計数。 | 0より大きい |
| ZK切断 | ブローカーがZooKeeperに接続できるかどうか。有効な値: オフライン、オンライン。 | -- |
| ZooKeeper 有効期限切れレート | ブローカー全体でZooKeeperセッションの有効期限が発生するレート。 | -- |
コンシューマーグループメトリック
コンシューマーグループのトリガーは、消費遅延とパフォーマンス低下を検出します。
| メトリック | 説明 |
|---|---|
| 平均レイテンシー | コンシューマーグループの平均レイテンシー。コンシューマーグループ内のクライアント用に Confluent Monitoring Interceptor が構成されている必要があります。単位: ミリ秒。 |
| コンシューマーラグ | コンシューマーアプリケーションがプロデューサーからどれだけ遅れているか。終了オフセットと現在のオフセットの差として計算されます。 |
| コンシューマーリード | コンシューマーアプリケーションが最も古い利用可能なメッセージからどれだけ進んでいるか。現在のオフセットと開始オフセットの差として計算されます。たとえば、オフセット0から始まるパーティションのオフセット15にあるコンシューマーは、リードが15です。リードの縮小は、消費が最も古い利用可能なデータに近づいていることを示し、データ損失が発生したかどうかを判断するために使用できます。 |
| 消費差分 | 特定の期間内の予想消費値と実際の消費値の差。リアルタイムに近い小さなギャップは正常であり、時間の経過とともに減少します。 |
| 最大レイテンシー | コンシューマーグループの最大レイテンシー。コンシューマーグループ内のクライアント用に Confluent Monitoring Interceptor が構成されている必要があります。単位: ミリ秒。 |
Topicメトリック
Topicのトリガーは、特定のTopicのデータフローとレプリケーションの健全性を監視します。
| メトリック | 説明 |
|---|---|
| 受信バイト数 | 1秒あたりにTopicに入ってくるバイト数。 |
| 送信バイト数 | 1秒あたりにTopicから出ていくバイト数。内部レプリケーショントラフィックは除外されます。 |
| 同期外レプリカ数 | クラスター内のリーダーと同期しているTopicパーティションレプリカの合計数。この値は、TopicパーティションにTopicレプリケーション係数を乗算した積です。 |
| プロダクションリクエスト数 | クラスター内のTopicへのプロダクションリクエスト数。 |
| レプリケーション不足のTopicパーティション | レプリケーション不足のTopicパーティションの数。このメトリックを使用して、Kafkaブローカーのクラッシュが特定のTopicパーティションによって引き起こされたかどうかを判断します。 |
トリガー条件
トリガーは、検出されたメトリック値がしきい値に対して構成された条件を満たしたときに発動します。
| 条件 | 発生条件 |
|---|---|
| 等しい | メトリック値がしきい値と等しい場合。 |
| より大きい | メトリック値がしきい値を超えています。 |
| より小さい | メトリック値がしきい値を下回る場合。 |
| 等しくない | メトリック値がしきい値と異なる場合。 |
関連情報
コントロールセンターのアラート機能の詳細については、「Control Center Alerts for Confluent Platform」をご参照ください。