このドキュメントでは、Alibaba Cloud Elasticsearch クラスターのモニタリングデータを表示する方法、および関連するモニタリングメトリックについても詳細に説明します。

クラスターのモニタリングデータを表示する

  1. Alibaba Cloud Elasticsearch コンソールにログインします。
  2. [インスタンス ID/名前] > [クラスターモニタリング] を選択します。
  3. [クラスターモニタリング] ページで、指定した期間内に生成された詳細なモニタリングデータを表示するために、[クラスターモニタリング] の期間を選択します。クラスターモニタリングの詳細を表示する
  4. [カスタム] アイコンをクリックし、[開始日][終了日] を選択します。次に、[OK] をクリックして、カスタマイズした期間内に生成された詳細なモニタリングデータを表示します。カスタマイズした期間内のモニタリングデータを表示する
    重要 過去 30 日間に生成されたモニタリングデータを 1 分の粒度でクエリしたり、7 日間連続で生成されたモニタリングデータをクエリしたりできます。

    モニタリングメトリックの詳細については、「モニタリングメトリック」をご参照ください。

モニタリングメトリック

モニタリングメトリックの詳細

Alibaba Cloud Elasticsearch クラスターモニタリングは、 ClusterStatusClusterQueryQPS(Count/Second)ClusterIndexQPS(Count/Second)NodeCPUUtilization(%)NodeHeapMemoryUtilization(%)NodeDiskUtilization(%)NodeLoad_1mNodeStatsFullGcCollectionCount(unit)NodeStatsExceptionLogCount(unit)、および ClusterAutoSnapshotLatestStatus メトリックをサポートしています。

ClusterStatus

ClusterStatus メトリックは、Elasticsearch クラスターのステータスを示します。 0.00 の値は、クラスターのステータスが正常であることを示します。 このメトリックのアラートルールを作成する必要があります。 詳細は、「モニタリングインデックスの設定」をご参照ください。

メトリックの値が 0 でない (緑ではない) 場合、クラスターのステータスは正常ではありません。 一般的な原因は次のとおりです。
  • クラスター内のノードの CPU 使用率、またはヒープメモリ使用率が高すぎるか、100% に達した。
  • クラスター内のノードのディスク使用率が高すぎる (使用率が 85% を超えるなど) か、100% に達した。
  • 1 分 (load_1m) 以内のノードのワークロードが高すぎる。
  • クラスター内のインデックスのステータスが異常である (緑でない)。
メトリック値とその定義は次のとおりです。
ステータス 定義
2.00 Red すべてのプライマリシャードが使用できるわけではありません。 クラスター内の一部のプライマリシャードは使用できません。 これは、1 つ以上のインデックスに未割り当てのプライマリシャードあることを意味します。
1.00 Yellow すべてのプライマリシャードが使用可能です。 すべてのレプリカシャードが使用できるわけではありません。 これは、1 つ以上のインデックスに未割り当てのレプリカシャードがあることを意味します。
0.00 Green すべてのプライマリーシャードとレプリカシャードが使用可能です。 これは、クラスター内のすべてのインデックスが正常であることを意味します。 未割り当てのシャードは存在しません。

ClusterQueryQPS(Count/Second)

重要 クラスターの QPS が急上昇すると、1 分以内の CPU 使用率、ヒープメモリ使用率、またはノードのワークロードが高レベルになる場合があります。 これは、クラスターで実行しているビジネスに悪影響を与える可能性があります。 この問題を回避する必要があります。

ClusterQueryQPS(Count/Second) メトリックは、クラスターが 1 秒あたりに処理するクエリの数 を示します。

1 秒間に処理されるクエリの数は、クエリされるインデックスのプライマリシャード数の影響を受けます。 たとえば、インデックスに 5 つのプライマリシャードがある場合、クラスターは 1 秒間にこのインデックス宛の 5 つのクエリを処理できます。

ClusterIndexQPS(Count/Second)

重要 書き込み QPS が急上昇すると、1 分以内の CPU 使用率、ヒープメモリ使用率、またはノードのワークロードが高レベルになる場合があります。 これは、クラスターで実行しているビジネスに悪影響を与える可能性があります。 この問題を回避する必要があります。

ClusterIndexQPS(Count/Second) メトリックの値は、クラスターが 1 秒あたりに受信する書き込みリクエストの数と、これらのリクエストが書き込むドキュメントの数に基づいて計算されます。

クラスターが 1 秒間に 1 つの書き込みリクエストのみを受信し、リクエストが 1 つのドキュメントのみを書き込む場合、 書き込み QPS は 1 です。 メトリックの値は、1 秒あたりに受信された書き込みリクエストの数とともに増加します。

クラスターが 1 秒間に複数のドキュメントを書き込む _bulk リクエストを受信した場合、書き込み QPS メトリックは、書き込まれるドキュメントの数に等しくなります。 メトリックの値は、1 秒あたりに受信される _bulk リクエストの数とともに増加します。

NodeCPUUtilization(%)

NodeCPUUtilization(%) メトリックは、クラスター内のノードの CPU 使用率を示します。 CPU 使用率が高いか、100% に近い場合、クラスターで実行しているビジネスに悪影響があります。

CPU 使用率が急上昇するか、大幅に変動し、ビジネスが影響を受ける場合は、次の原因を確認してください。
  • クラスター QPS 、 または 書き込み QPS が急上昇しているか、大幅に変動している。
  • クラスターが、いくつかのスロークエリ、またはスロー書き込みリクエストを受け取っている。

    この場合、クラスター QPS の急上昇、または変動や、書き込み QPS を見つけることができない場合があります。 Elasticsearch コンソールにログインして[ログ] ページに進みます。次に、[スロー検索ログ] タブをクリックし、ログデータを分析します。

  • クラスターには大量のインデックスまたはシャードがある。

    Elasticsearch はクラスター内のインデックスをモニタリングし、インデックスの変更をログに記録します。 クラスターのインデックスまたはシャードが多すぎる場合、1 分以内の CPU 使用率、ヒープメモリ使用率、またはノードのワークロードが高レベルになる場合があります。

  • マージ操作がクラスターで実行されている。

    マージ操作は CPU リソースを消費します。 その結果、対応するノード上のセグメントの数が大幅に減少します。 Kibana コンソール内のノードの [概要] ページ上で、セグメント数を確認できます。

  • ガベージコレクション操作がクラスターで実行されている。

    フルガベージコレクションなどのガベージコレクション操作では、メモリリソースをリリースしようとします。 CPU リソースは、ガベージコレクション中に消費されます。 その結果、CPU 使用率が急上昇する場合があります。

  • バックアップタスクやその他のカスタマイズされたタスクなどのスケジュールタスクが、クラスターで実行されている。

NodeHeapMemoryUtilization(%)

NodeHeapMemoryUtilization(%) メトリックは、クラスター内のノードのヒープメモリ使用率を示します。 ヒープメモリの使用率が高い場合、またはメモリに大きなオブジェクトが格納されている場合、クラスターで実行しているビジネスは悪影響を受けます。 これにより、ガベージコレクションもトリガーされます。

ヒープメモリの使用率が急上昇または大幅に変動し、ビジネスに影響がある場合は、次の原因を確認してください。
  • クラスター QPS または 書き込み QPS が急上昇、または大幅に変動している。
  • クラスターが、いくつかのスロークエリ、またはスロー書き込みリクエストを受け取っている。

    この場合、クラスター QPS の急上昇、または変動や、書き込み QPS を見つけることができない場合があります。 Elasticsearch コンソールにログインして [ログ] ページに進みます。次に、[スロー検索ログ] タブをクリックし、ログデータを分析します。

  • クラスターが、大量のスロークエリ、またはスロー書き込みリクエストを受け取っている。

    この場合、クラスター QPS の急上昇、または変動や、書き込み QPS を見つけることができる場合があります。 Elasticsearch コンソールにログインして [ログ] ページに進みます。次に、[スローインデックスログ] タブをクリックし、ログデータを分析します。

  • クラスターに大量のインデックスまたはシャードがある。

    Elasticsearch はクラスター内のインデックスをモニタリングし、インデックスの変更をログに記録します。 クラスターのインデックスまたはシャードが多すぎる場合、1 分以内の CPU 使用率、ヒープメモリ使用率、またはノードワークロードが高レベルに達する可能性があります。

  • マージ操作はクラスターで実行されている。

    マージ操作は CPU リソースを消費します。 その結果、対応するノード上のセグメントの数が大幅に減少します。 Kibana コンソール内のノードの [概要] ページ上で、セグメント数を確認できます。

  • ガベージコレクション操作はクラスターで実行されている。

    フルガベージコレクションなどのガベージコレクション操作は、メモリリソースをリリースしようとします。 CPU リソースは、ガベージコレクション中に消費されます。 その結果、ヒープメモリの使用率が大幅に減少します。

  • バックアップタスクやその他のカスタマイズされたタスクなどのスケジュールタスクが、クラスターで実行されている。

NodeDiskUtilization(%)

NodeDiskUtilization(%) メトリックは、クラスター内のノードのディスク使用率を示します。 ディスク使用率は 85% 未満に制御する必要があります。 このメトリックのアラートルールを設定することを推奨します。 そうしないと、クラスターで実行しているビジネスが次の状況で悪影響を受ける可能性があります。
  • デフォルトでは、データノードのディスク使用率が 85% を超えると、新しいシャードをデータノードに割り当てることができません。 これは、ビジネスに悪影響を与える可能性があります。
  • デフォルトでは、データノードのディスク使用率が 90% を超えると、Elastcsearch はこのノード上のシャードをディスク使用率の低いデータノードに移動しようとします。 これは、ビジネスに悪影響を与える可能性があります。
  • デフォルトでは、データノードのディスク使用量が 95% を超えると、Elasticsearch は read_only_allow_delete 属性をクラスター内のすべてのインデックスに追加します。 これは、インデックスを書き込むことができないことを意味します。 読み取りまたは削除のみ可能です。 これは、ビジネスに悪影響を与える可能性があります。
重要 ディスク使用率のアラートしきい値を 80% を超える値に設定しないでください。 しきい値を 75% 未満の値に設定することを推奨します。 このようにした場合、アラートがトリガーされたときに、ディスクの拡張、ノードの追加、またはインデックスデータの削除を行って、ビジネスへの影響を回避できます。

NodeLoad_1m

NodeLoad_1m メトリックは、1 分以内のノードのワークロードを示します。 このメトリックを参照して、ノードがビジーかどうかを判断できます。 この値をノードの CPU コアの数よりも低くして、ビジネスが正常に実行されることを保証する必要があります。

この値がノードの CPU コアの数を超えると、ビジネスに悪影響が及びます。 一般的な原因は次のとおりです。
  • CPU 使用率またはヒープメモリ使用率が高いか、100% に達した。
  • クラスター QPS または 書き込み QPS が急上昇、または大幅に変動している。
  • 処理に長時間を要するスロークエリが受信された。

    少数または大量のスロークエリが受信されています。 Elasticsearch コンソールにログインして [ログ] ページに進みます。次に、対応するタブをクリックし、ログデータを分析してください。

シングルコアノードを例にとると、このメトリックの値と定義は次のとおりです。
  • Load < 1: 保留中のプロセスは存在しません。
  • Load = 1: システムには、より多くのプロセスを実行するための追加リソースがありません。
  • Load> 1:プロセスはリソースを待機してキューに入れられます。

NodeStatsFullGcCollectionCount(unit)

警告 フルガベージコレクションが頻繁にトリガーされると、クラスターで実行しているビジネスに悪影響が及びます。

NodeStatsFullGcCollectionCount(unit) メトリックは、1 分以内にトリガーされたフルガベージコレクションの回数を示します。

この値が 0 でない場合、ビジネスに影響があります。 一般的な原因は次のとおりです。

  • ヒープメモリの使用率が高い。
  • 大きなオブジェクトがメモリに格納されている。

NodeStatsExceptionLogCount(unit)

NodeStatsExceptionLogCount(unit) メトリックは、1 分以内にインスタンスログで生成された警告レベルエントリの数を示します。

この値が 0 でない場合、ビジネスに影響があります。 一般的な原因は次のとおりです。

  • 異常なクラスタークエリが受信された。
  • 異常な書き込みリクエストが受信された。
  • クラスターがタスクを実行するとエラーが発生する。
  • ガベージコレクションがトリガーされた。
  • Elastcisearch コンソールにログインし、 [ログ] ページに移動します。[インスタンスログ] タブをクリックします。 [インスタンスログ] タブで、特定の時間に発生した例外を探し、原因を分析します。
  • NodeStatsExceptionLogCount(unit) メトリックは、 [インスタンスログ] に記録されたガベージコレクション回数もカウントします。

ClusterAutoSnapshotLatestStatus

ClusterAutoSnapshotLatestStatus メトリックは、クラスターの自動スナップショット機能のステータスを示します。 値が -1 または 0 の場合、自動スナップショットは正常に実行されています。

値が 2 の場合は、自動スナップショットでエラーが発生しています。 一般的な原因は次のとおりです。

  • ノードのディスク使用率が高いか、100% に近い。
  • クラスターのステータスが正常ではない。
このメトリックの値とその定義は次のとおりです。
  • 0:スナップショットが作成されます。
  • -1:スナップショットは作成されません。
  • 1:システムはスナップショットを作成しています。
  • 2:システムはスナップショットの作成に失敗しました。