Alibaba Cloud Elasticsearch は、実行中のクラスターに関する基本的な監視メトリクス (クラスターの健全性、クラスタークエリ QPS、ノード CPU 使用率、ノードディスク使用率など) を提供します。これらのメトリクスを使用して、クラスターの健全性をリアルタイムで監視し、潜在的なリスクに対処し、クラスターの安定性を確保します。このトピックでは、クラスターの監視詳細の表示方法を説明し、各監視メトリクスの定義、例外の一般的な原因、および推奨されるソリューションを提供します。
監視における差異
Alibaba Cloud Elasticsearch のクラスター監視によるメトリクスは、以下の理由により、Kibana やサードパーティ製の監視ツールが提供するものと異なる場合があります。
サンプリング期間の差異: クラスター監視サービスは、Kibana や他のツールとは異なるサンプリング期間を使用しているため、データに差異が生じます。
クリアルゴリズムの差異: クラスターの不安定性は、データ収集中に Alibaba Cloud Elasticsearch のクラスター監視と Kibana の両方に影響を与えます。例えば、クラスターのジッターにより、クラスター監視の QPS メトリクスでスパイク、負の値、またはデータなしが表示されることがあります。対照的に、Kibana は同じ期間に空の値を表示することがあります。
説明クラスター監視が Kibana よりも多くのメトリクスを提供する場合、両方のツールを使用してクラスターのパフォーマンスを包括的に監視することを推奨します。
データソースの差異: Kibana は Elasticsearch API からメトリクスを取得します。一方、クラスター監視は、CPU 使用率、`load_1m`、ディスク使用率などの一部のノードレベルのメトリクスを Alibaba Cloud Elasticsearch の基盤となるシステムインターフェイスから収集します。したがって、これらのメトリクスは Elasticsearch プロセスだけでなく、システム全体のリソース使用量を反映します。
クラスター監視
Alibaba Cloud Elasticsearch コンソールにログインします。
左側のナビゲーションウィンドウで、Elasticsearch クラスター を選択します。
対象のクラスターに移動します。
上部のナビゲーションバーで、クラスターが属するリソースグループとクラスターが存在するリージョンを選択します。
Elasticsearch クラスター ページで、クラスターを見つけてその ID をクリックします。
左側のナビゲーションウィンドウで、 を選択します。
監視詳細を表示します。
基本的なモニタリング の詳細を表示
基本的なモニタリング タブで、[グループ名] と時間範囲を選択して、対応する監視詳細を表示します。
説明カスタム をクリックして、カスタム時間範囲の監視詳細を表示します。
Elasticsearch インスタンスでは、モニタリングとアラートがデフォルトで有効になっています。クラスターモニタリング ページで過去の監視データを表示できます。データは 1 分の粒度で、30 日間保持されます。
基本監視メトリクスの詳細については、「基本監視メトリクスの概要」をご参照ください。
基本監視メトリクス
次の表は、クラスターの基本監視メトリクスについて説明しています。
実際の UI は異なる場合があります。
概要
メトリック名 | 説明 |
クラスターの健全性を示します。値が | |
自動バックアップ機能からのスナップショットのステータス。 値が | |
クラスター内のノードの総数。 | |
クラスター内の到達不能なノードの総数。 | |
クラスター内のインデックスの数。 | |
クラスター内のシャードの数。 | |
クラスター内のプライマリシャードの数。 | |
クラスター内のスロークエリの数。 | |
1 秒あたりにクラスターに書き込まれるドキュメントの数。 | |
クラスターによって実行される秒間クエリ数 (QPS)。クエリ QPS は、クエリ対象のインデックス内のプライマリシャードの数に依存します。 | |
各ノードの CPU 使用率。 | |
各ノードのヒープメモリ使用率。 | |
各ノードのディスク使用率。ディスク使用率のアラートしきい値は | |
各ノードの過去 | |
各ノードの受信データレート。監視期間: 1 分。単位: KiB/s。 | |
各ノードの送信データレート。監視期間: 1 分。単位: KiB/s。 | |
各ノードの受信ネットワークパケット数。監視期間: 1 分。 | |
各ノードからの送信ネットワークパケット数。監視期間: 1 分。 | |
クライアントから各ノードへの TCP 接続数。 | |
各ノードの I/O 使用率。 | |
クラスター内の各ノードから 1 秒あたりに読み取られるデータ量。 | |
クラスター内の各ノードに 1 秒あたりに書き込まれるデータ量。 | |
クラスター内の各ノードで 1 秒あたりに完了した読み取りリクエストの数。 | |
クラスター内の各ノードで 1 秒あたりに完了した書き込みリクエストの数。 |
クラスターメトリクス
メトリック名 | 説明 |
クラスターの健全性を示します。値が | |
クラスター内のノードの総数。 | |
クラスター内の到達不能なノードの総数。 | |
クラスター内のインデックスの数。 | |
クラスター内のシャードの数。 | |
クラスター内のプライマリシャードの数。 | |
クラスター内のスロークエリの数。 | |
このメトリクスは、 | |
自動バックアップ機能からのスナップショットのステータス。値が | |
1 秒あたりにクラスターに書き込まれるドキュメントの数。 | |
クラスターによって実行される秒間クエリ数 (QPS)。クエリ QPS は、クエリ対象のインデックス内のプライマリシャードの数に依存します。 | |
クラスター内の fielddata で使用されるヒープメモリの量。高い使用量は fielddata サーキットブレーカーをトリガーし、クラスターの安定性に影響を与える可能性があります。 |
インデックスメトリクス
メトリック名 | 説明 |
インデックスに対する 1 秒あたりの一括リクエスト数。 | |
インデックスの秒間クエリ数 (QPS)。QPS は、クエリ対象のインデックス内のプライマリシャードの数に依存します。 | |
インデックスの最大クエリリクエスト時間 (ミリ秒)。 |
ノードリソースメトリクス
メトリック名 | 説明 |
各ノードの CPU 使用率。高い CPU 使用率、または 100% に近い使用率は、クラスターサービスに影響を与える可能性があります。 | |
各ノードのヒープメモリ使用率。高いヒープメモリ使用率や大きなメモリ オブジェクトの存在は、クラスターサービスに影響を与え、自動的に GC 操作をトリガーする可能性があります。 | |
各ノードのディスク使用率。ディスク使用率のアラートしきい値は | |
ノードのシステムメモリ使用率。 説明 このメトリクスは、クラウドネイティブの新しいコントロールプレーン (v3) でのみサポートされています。 | |
CPU が I/O 操作を待機する時間の割合。 説明 このメトリクスは、クラウドネイティブの新しいコントロールプレーン (v3) でのみサポートされています。 | |
各ノードの過去 | |
ノード CPU 使用率_合計 (%) | ノードの合計 CPU 使用率 (アイドル時間を除く)。これは、カーネルモード、ユーザーモード、および I/O 待機状態での CPU 使用率の合計です。 説明 このメトリクスは、クラウドネイティブの新しいコントロールプレーン (v3) でのみサポートされています。 |
ノードネットワークメトリクス
メトリック名 | 説明 | 備考 |
クラスター内の各ノードの受信データレート。監視期間: 1 分。単位: KiB/s。 | N/A | |
クラスター内の各ノードの送信データレート。監視期間: 1 分。単位: KiB/s。 | N/A | |
ノードネットワーク帯域幅 (KiB/s) = ノードネットワーク帯域幅_In (KiB/s) + ノードネットワーク帯域幅_Out (KiB/s)。 | このメトリクスは、クラウドネイティブの新しいコントロールプレーン (v3) でのみサポートされています。 | |
ノードネットワーク帯域幅使用量 (%) = (ノードネットワーク帯域幅_入力 (KiB/s) + ノードネットワーク帯域幅_出力 (KiB/s)) / ノードネットワークベース帯域幅 (Gbit/s)。 | このメトリクスは、クラウドネイティブの新しいコントロールプレーン (v3) でのみサポートされています。 | |
クライアントから各ノードへの TCP 接続数。 | N/A | |
ノードのネットワークパケット再送率。 | このメトリクスは、クラウドネイティブの新しいコントロールプレーン (v3) でのみサポートされています。 | |
各ノードの受信ネットワークパケット数。監視期間: 1 分。 | N/A | |
各ノードからの送信ネットワークパケット数。監視期間: 1 分。 | N/A | |
ノードネットワークパケット (個) = ノードネットワークパケット_Out (個) + ノードネットワークパケット_In (個)。 | このメトリクスは、クラウドネイティブの新しいコントロールプレーン (v3) でのみサポートされています。 | |
ノードネットワークパケット使用率 (%) = (ノードネットワークパケット_Out (個) + ノードネットワークパケット_In (個)) / ノードネットワークパケット送受信 PPS。 | N/A |
ノードディスクメトリクス
メトリック名 | 説明 | 備考 |
クラスター内の各ノードから 1 秒あたりに読み取られるデータ量。 | N/A | |
クラスター内の各ノードに 1 秒あたりに書き込まれるデータ量。 | N/A | |
ディスク帯域幅 (MiB/s) = ディスク帯域幅_読み取り (MiB/s) + ディスク帯域幅_書き込み (MiB/s)。 | このメトリクスは、クラウドネイティブの新しいコントロールプレーン (v3) でのみサポートされています。 | |
ディスク帯域幅使用率_クラウドディスク (%) = (ディスク帯域幅_読み取り (MiB/s) + ディスク帯域幅_書き込み (MiB/s)) / ESSD の単一ディスクスループット (MiB/s)。 | このメトリクスは、クラウドネイティブの新しいコントロールプレーン (v3) でのみサポートされています。ESSD の単一ディスクスループットについては、「ESSD」をご参照ください。 | |
ディスク帯域幅使用率_ノード (%) = (ディスク帯域幅_読み取り (MiB/s) + ディスク帯域幅_書き込み (MiB/s)) / ノードのベースクラウドディスク帯域幅 (Gbit/s)。 | このメトリクスは、クラウドネイティブの新しいコントロールプレーン (v3) でのみサポートされています。 | |
各ノードの I/O 使用率。 | N/A | |
クラスター内の各ノードで 1 秒あたりに完了した読み取りリクエストの数。 | N/A | |
クラスター内の各ノードで 1 秒あたりに完了した書き込みリクエストの数。 | N/A | |
ディスク IOPS (個) = ディスク IOPS_読み取り (個) + ディスク IOPS_書き込み (個)。 | このメトリクスは、クラウドネイティブの新しいコントロールプレーン (v3) でのみサポートされています。 | |
ディスク IOPS 使用率_クラウドディスク (%) = (ディスク IOPS_読み取り (個) + ディスク IOPS_書き込み (個)) / ESSD の単一ディスク IOPS。 | このメトリクスは、クラウドネイティブの新しいコントロールプレーン (v3) でのみサポートされています。ESSD の単一ディスクスループットについては、「ESSD」をご参照ください。 | |
ディスク IOPS 使用率_ノード (%) = (ディスク IOPS_読み取り (個) + ディスク IOPS_書き込み (個)) / ノードのベースクラウドディスク IOPS。 | このメトリクスは、クラウドネイティブの新しいコントロールプレーン (v3) でのみサポートされています。 | |
平均リクエストキュー長。 | N/A |
ノード JVM メトリクス
メトリック名 | 説明 |
各ノードのヒープの Old 世代で使用されるメモリ。高い使用量や大きなオブジェクトはパフォーマンスに影響を与え、ガベージコレクション (GC) をトリガーし、長い GC の一時停止やフル GC につながる可能性があります。 | |
クラスター内で | |
各ノードでの Old 世代 GC イベントの数。Old 世代での高い使用量や大きなオブジェクトは、クラスターのパフォーマンスに影響を与え、自動的に GC をトリガーする可能性があります。大きなオブジェクトのコレクションは、長い GC の一時停止やフル GC につながる可能性があります。 | |
各ノードでの Old 世代 GC に費やされた平均時間。Old 世代での高い使用量や大きなオブジェクトは、自動的に GC をトリガーする可能性があります。大きなオブジェクトのコレクションは、長い GC の一時停止やフル GC につながる可能性があります。 |
スレッドプールメトリクス
メトリック名 | 説明 |
現在タスクを実行している検索スレッドプール内のスレッド数。 | |
クラスターの検索スレッドプールで拒否されたリクエストの数。 |
その他のメトリクス
メトリック名 | 説明 |
1 分間にクラスターのメインログに表示される WARNING レベルのログエントリの総数。 |
非推奨のメトリクス
メトリック名 | 説明 |
クエリスレッドプールで拒否されたリクエストの数を示します。このメトリクスは [SearchThreadpoolRejectedV2] メトリクスとは異なる方法で計算され、現在は非推奨です。代わりに SearchThreadpoolRejectedV2 を使用してください。 |
クラスターのステータス (値)
メトリクスの説明
このメトリクスは、クラスターの健全性ステータスを示します。値が 0.00 の場合は、クラスターが正常であることを意味します。このメトリクスに対してアラートを設定することを強く推奨します。詳細については、「クラスターアラートの設定」をご参照ください。この表は、可能な値を示しています。
値 | 色 | ステータス | 説明 |
0.00 | 緑 | すべてのプライマリシャードとレプリカシャードが割り当てられています。 | クラスター内のすべてのインデックスは正常で、未割り当てシャードはありません。 |
1.00 | 黄 | すべてのプライマリシャードは割り当てられていますが、1 つ以上のレプリカシャードが割り当てられていません。 | 少なくとも 1 つのインデックスに未割り当てのレプリカシャードがあります。 |
2.00 | 赤 | 少なくとも 1 つのプライマリシャードが割り当てられていません。 | 少なくとも 1 つのインデックスに未割り当てのプライマリシャードがあり、一部のデータが利用できないことを意味します。 |
この表の色は、インスタンスの [基本情報] ページに表示されるクラスターのステータスに対応しています。
異常ステータスの原因
値が 0.00 以外の場合は、異常なクラスター ステータスを示します。一般的な原因は次のとおりです。
1 つ以上のノードで CPU 使用率またはヒープメモリ使用量が高く、100% に達する可能性があります。
1 つ以上のノードでディスク使用率が高く、例えば 85% を超えています。
1 つ以上のノードで Load_1m が高い。
1 つ以上のインデックスの健全性ステータスが黄色または赤色である。
トラブルシューティングの推奨事項
Kibana コンソールの [監視] ページで監視情報を表示するか、インスタンスログを表示して問題の詳細を確認します。例えば、インデックスがメモリを過剰に消費している場合は、不要なインデックスを削除できます。
ディスク使用率の高さが原因でクラスターのステータスが異常な場合は、「クラスターのディスク使用率の高さと読み取り専用の問題のトラブルシューティングと解決」をご参照ください。
1 コア CPU と 2 GB メモリなどの小さなインスタンスタイプのインスタンスでは、クラスターのステータスが異常になることがあります。この場合、まず クラスターをスペックアップして、CPU 対メモリ比が 1:4 のインスタンスタイプにします。スペックアップ後もクラスターのステータスが異常な場合は、上記の 2 つの推奨事項に従って問題をトラブルシューティングしてください。
スナップショットのステータス
説明
このメトリクスは、Elasticsearch コンソールの 自動バックアップ機能のスナップショットステータスを示します。値が 0 の場合は、スナップショットが存在することを示します。このメトリクスの値は次のように定義されます。
値 | 説明 |
0 | スナップショットが存在します。 |
-1 | スナップショットが存在しません。 |
1 | スナップショットが進行中です。 |
2 | スナップショットタスクが失敗しました。 |
異常なステータスの原因
値が 2 の場合は失敗を示します。一般的な原因は次のとおりです。
1 つ以上のノードでディスク使用率が高いか、100% に近い。
クラスターが不健康である。
クラスターノード数
このメトリクスは、クラスター内のノードの総数を示します。これを使用して、ノードの規模が期待どおりであることを確認します。
切断されたノード数
クラスター内の切断されたノードの総数。切断されたノードは、シャードの再割り当てやクエリレイテンシの増加につながる可能性があります。
クラスターインデックス数
このメトリクスは、クラスター内のインデックスの数を示します。インデックスが多すぎると、リソース競合 (例: メモリ、CPU) を引き起こす可能性があります。
クラスターシャード数 (個)
このメトリクスは、クラスター内のシャードの数を示します。シャードが多すぎると、メタデータ操作などの管理オーバーヘッドが増加する一方、少なすぎると負荷が不均一になり、クエリパフォーマンスが低下する可能性があります。
クラスタープライマリシャード数
このメトリクスは、クラスター内のプライマリシャードの数を示します。プライマリシャードが少なすぎると、書き込みボトルネックが発生する可能性があります。
クラスターのスロークエリ
このメトリクスは、クラスター内のスロークエリの数を示します。これを使用して、複雑なクエリやインデックス設計の問題など、パフォーマンスボトルネックを特定します。
クラスター書き込み QPS (count/s)
書き込み QPS の急激なスパイクは、高い CPU 使用率、ヒープメモリ使用量、またはノードの分平均負荷を引き起こし、クラスターのパフォーマンスを低下させる可能性があります。クラスターの安定性を維持するために、これらのスパイクを避けてください。
このメトリクスは、1 秒あたりにクラスターに書き込まれるドキュメントの数を示します。この値は次のように計算されます。
単一ドキュメントの書き込みリクエストは、書き込み QPS として 1 とカウントされます。1 秒以内に複数のリクエストが送信された場合、それらのカウントが合計されます。
_bulk API リクエストの場合、書き込み QPS はリクエスト内のドキュメントの総数に等しくなります。1 秒以内に複数の _bulk API リクエストが送信された場合、すべてのリクエストからのドキュメント数が合計されます。
クラスタークエリ QPS (count/s)
クエリ QPS の急激なスパイクを避けてください。それらは高い CPU 使用率、ヒープメモリ使用量、または高い 1 分間の負荷平均を引き起こし、クラスターのパフォーマンスを低下させる可能性があります。
このメトリクスは、クラスターのクエリ QPS を追跡します。この値は、クエリ対象のインデックス内のプライマリシャードの数によって決まります。
例えば、インデックスに 5 つのプライマリシャードがある場合、そのインデックスへのクエリは、各プライマリシャードに対して 1 つずつ、合計 5 つの別々のクエリとしてカウントされます。
クラスターのスロークエリレイテンシ分布
メトリクスの説明
このメトリクスは、スロークエリログの index.search.slowlog.query と index.search.slowlog.fetch エントリからのデータを集約します。クエリを実行時間 (took_millis) でグループ化し、1 秒間隔 (0–1s、1–2s など、最大 10s まで) で分布を表示します。index.search.slowlog.threshold.xxx パラメーターを使用して、スロークエリと見なす独自のしきい値を定義できます。詳細については、「インデックステンプレート設定」をご参照ください。
異常値の一般的な原因
監視中に、特定の時間範囲でスロークエリの数が増加した場合、これはサービスの問題を示している可能性があります。一般的な原因は次のとおりです。
原因 | 説明 |
高い QPS | Query QPS または [書き込み QPS] の急激なスパイクまたは大幅な変動は、クラスターの負荷を増加させ、個々のクエリの実行時間を長くする可能性があります。 |
集約クエリまたはスクリプトクエリ | 集約クエリはリソースを大量に消費し、データ集計を実行するためにかなりの計算能力とメモリを消費します。注意して使用してください。 |
数値フィールドでの term クエリ | byte、short、integer、long などの数値フィールドで多数の term クエリを実行すると、遅くなることがあります。これは、ドキュメント ID コレクションのビットセットの構築に時間がかかるためです。数値フィールドで範囲クエリや集計を実行する必要がない場合は、そのタイプをキーワードタイプのフィールドに変更することを検討してください。 |
あいまい一致 | ワイルドカード、正規表現、またはあいまい一致を使用するクエリは、かなりの計算リソースを消費する可能性があります。これらのクエリは、転置インデックス内の term リストをスキャンしてすべての一致する term を見つけ、その後、対応するドキュメント ID を収集する必要があります。適切なストレステストなしでこれらのクエリを大規模に実行すると、システムに負担がかかる可能性があります。ユースケースに基づいてストレステストを実行し、適切なクエリ量を決定してください。 |
少数の個別のスロークエリまたは書き込みリクエスト | このシナリオでは、全体的なクエリおよび書き込み QPS の変動は軽微または気づかない程度かもしれません。調査するには、Alibaba Cloud Elasticsearch コンソールの [クエリログ] ページに移動し、スロー検索ログ をクリックして詳細を分析します。 |
クラスター内のインデックスまたはシャードが過剰な数 | Elasticsearch はクラスター内のすべてのインデックスを監視し、対応するログを書き込みます。インデックスまたはシャードが過剰な数になると、高い CPU 使用率、ヒープメモリ使用量、または高い 1 分間の負荷平均 (load_1m) につながる可能性があります。このオーバーヘッドは、クラスター全体のクエリパフォーマンスを低下させる可能性があります。 |
マージ操作 | マージ操作は CPU を集中的に使用し、影響を受けるノードのセグメント数を急激に減少させる可能性があります。Kibana コンソールの各ノードの [概要] ページでセグメント数を監視できます。 |
ガベージコレクション (GC) 操作 | ガベージコレクション (GC) 操作、特にフル GC は、メモリを解放しますが CPU リソースを消費します。これにより、CPU 使用率が急激にスパイクし、クエリパフォーマンスが低下する可能性があります。 |
定期タスク | データバックアップやその他のカスタムジョブなどの定期タスクは、大量の IO リソースを消費する可能性があり、クエリ速度に影響を与えることがあります。 |
クラスター Fielddata メモリ使用量 (B)
説明
このメトリクスは、クラスター内の `Fielddata` で使用されるヒープメモリの量を示します。高い値は、大量の Fielddata がヒープメモリにキャッシュされていることを示します。過剰な Fielddata の使用は、Fielddata サーキットブレーカーをトリガーし、クラスターの安定性に影響を与える可能性があります。
一般的な原因
高い `Fielddata` の使用は、かなりの量のヒープメモリを消費し、サービス例外を引き起こす可能性があります。一般的な原因は次のとおりです。
`string` (`Text`) フィールドでの頻繁なソートまたは集約操作。デフォルトでは、これらのクエリの Fielddata はクリアされません。代わりに数値フィールドタイプを使用してください。
Query QPS または [書き込み QPS] トラフィックの急激なスパイクまたは大幅な変動。これにより、`Fielddata` が頻繁にキャッシュにロードされます。
クラスター内の多数のインデックスまたは高い合計シャード数。Elasticsearch はインデックスを監視し、ログを書き込むため、過剰な数のインデックスまたはシャードは、高い CPU または `HeapMemory` 使用量、あるいは高い `Load_1m` につながる可能性があります。
一括書き込み TPS
説明
このメトリクスは、インデックスに対する 1 秒あたりの一括リクエスト数を示します。
例外の一般的な原因
このメトリクスは、以下の理由でデータが表示されない場合があります。
高いクラスター負荷が監視データ収集を妨げている。
監視データのプッシュに失敗した。
IndexSearchQPS (count/s)
説明
このメトリクスは、インデックスの秒間クエリ数 (QPS) を測定します。QPS 値は、クエリ対象のインデックス内のプライマリシャードの数に依存します。
例えば、インデックスに 5 つのプライマリシャードがある場合、そのインデックスへの単一のクエリリクエストは 5 QPS としてカウントされます。
異常値の原因
このメトリクスはデータが表示されないことがあります。一般的な理由は次のとおりです。
高いクラスター負荷が監視データ収集を妨げる可能性がある。
監視データのプッシュに失敗した。
IndexSearchQPS の急激なスパイクは、インデックスが高い CPU 使用率、ヒープメモリ使用量、または Load_1m を引き起こしていることを示している可能性があり、クラスター全体の安定性に影響を与える可能性があります。これを解決するには、インデックスの最適化を検討してください。
IndexSearchDelayMax (ms)
このメトリクスは、インデックスの最大クエリ遅延 (ミリ秒) です。
ノード CPU 使用率 (%)
メトリクスの説明
このメトリクスは、クラスター内の各ノードの CPU 使用率のパーセンテージを示します。高い CPU 使用率、特に 100% に近づくと、クラスターサービスに影響を与える可能性があります。
例外の一般的な原因
このメトリクスのスパイクまたは大幅な変動は、サービスの問題を示しています。以下は一般的な原因です。
原因 | 説明 |
QPS | Query QPS または [書き込み QPS] トラフィックの急激なスパイクまたは大きな変動。 |
スロークエリまたは書き込みリクエスト | このシナリオでは、クエリ QPS と書き込み QPS トラフィックの変動は軽微または気づかない程度です。調査するには、Alibaba Cloud Elasticsearch コンソールの [LogSearch] ページに移動し、スロー検索ログ をクリックしてログを表示および分析します。 |
過剰なインデックスまたはシャード | Elasticsearch はインデックスを監視し、ログを書き込みます。過剰な数のインデックスまたはシャードは管理オーバーヘッドを増加させ、高い CPU 使用率、高いヒープメモリ使用率、または高い Load_1m につながる可能性があります。 |
クラスターのマージ操作 | マージ操作は CPU リソースを消費し、対応するノードのセグメント数を急激に減少させる可能性があります。Kibana コンソールのノードの概要ページでセグメント数を表示できます。 |
GC 操作 | GC 操作、特にフル GC はメモリを解放しますが、CPU を集中的に使用します。これにより、CPU 使用率が急上昇する可能性があります。 |
定期タスク | データバックアップやその他のカスタムジョブなどの定期タスクの実行は、リソースを大量に消費する可能性があります。 |
ノード CPU 使用率には、システムレベルのプロセスと Elasticsearch タスクの両方からのリソース消費が含まれます。
ノードディスク使用率 (%)
このメトリクスは、クラスター内の各ノードのディスク使用率を示します。ディスク使用率を 75% 未満に保ち、85% を超えないようにすることを推奨します。データノードのディスク使用率がこれらのしきい値を超えると、クラスターサービスに影響が及ぶ可能性があります。
ディスク使用率 | 説明 |
>85% | クラスターは、ノードへの新しいシャードの割り当てを停止します。 |
>90% | クラスターは、ノードからディスク使用率の低い他のデータノードへシャードを再配置しようとします。 |
>95% | Elasticsearch は、ノード上のすべてのインデックスに |
このメトリクスの監視を設定することを推奨します。アラートがトリガーされた場合は、サービスの中断を防ぐために、速やかにディスクとノードをスケールアップするか、インデックスデータをクリアしてください。
ノードディスク使用率メトリクスには、システムレベルのプロセスと Elasticsearch タスクの両方で使用されるリソースが含まれます。
ノードヒープメモリ使用量 (ES サービス) (%)
説明
このメトリクスは、クラスター内の各ノードのヒープメモリ使用率を示します。高いヒープメモリ使用量や大きなメモリオブジェクトは、クラスターのパフォーマンスに影響を与え、自動的に GC 操作をトリガーする可能性があります。
異常値の原因
このメトリクスの急激なスパイクまたは大幅な変動は、多くの場合、サービスの異常を示します。一般的な原因は次のとおりです。
原因 | 説明 |
QPS | Query QPS または [書き込み QPS] の急激なスパイクまたは大きな変動。 |
少数のスロークエリリクエスト | このシナリオでは、クエリ QPS と書き込み QPS の変動は軽微または気づかない程度です。調査するには、Alibaba Cloud Elasticsearch コンソールの [LogSearch] ページで スロー検索ログ を分析します。 |
多数のスロー書き込みリクエスト | この場合、クエリ QPS と書き込み QPS は大幅または顕著な変動を示します。調査するには、Alibaba Cloud Elasticsearch コンソールの [LogSearch] ページで スローインデックスログ を分析します。 |
クラスターに過剰なインデックスまたは高い合計シャード数がある | 過剰なインデックスまたはシャードは管理オーバーヘッドを増加させ、高い CPU 使用率、高いヒープメモリ使用率、または高い Load_1m につながる可能性があります。 |
マージ操作 | マージ操作は CPU を集中的に使用し、ノードのセグメント数を急激に減少させます。この減少は、Kibana コンソールのノードの [概要] ページで確認できます。 |
GC 操作 | フル GC などの GC 操作はメモリを解放しますが、CPU リソースを消費します。これにより、ヒープメモリ使用量が急激に減少する可能性があります。 |
定期タスク | 例えば、データバックアップやその他のカスタムタスク。 |
ノード負荷_1m
説明
このメトリクスは、クラスター内の各ノードの 1 分間の平均負荷を表し、現在のシステムワークロードを示します。正常な値は、ノードの CPU コア数未満です。次の表は、シングルコアの Elasticsearch ノードにおけるこれらの値を説明しています。
ノード負荷_1m | 説明 |
<1 | リソースを待機しているプロセスはありません。 |
=1 | システムは完全に利用されており、追加のプロセスを受け入れる余力はありません。 |
>1 | プロセスはキューに入れられ、リソースを待機しています。 |
ノード load_1m メトリクスには、システムレベルのプロセスと Elasticsearch タスクの両方からのリソース消費が含まれます。
ノード load_1m メトリクスの変動は想定内です。より正確な分析のためには、Node CPU usage メトリクスに注目してください。
異常の原因
ノードの CPU コア数を超える値は、システムが過負荷であることを示します。一般的な原因は次のとおりです。
ノードの CPU 使用率またはヒープメモリ使用量が過度に高く、100% に達する可能性があります。
Query QPS または [書き込み QPS] の急激なスパイクまたは大幅な増加。
高負荷なスロークエリ。
Alibaba Cloud Elasticsearch コンソールで、[ログクエリ] ページを使用してこれらのログを表示および分析します。
ノード負荷_1m メトリクスには、システムレベルのプロセスと Elasticsearch タスクの両方からのリソース消費が含まれます。
ノードメモリ使用率_合計 (%)
ノードのシステムメモリ使用率を示します。
ノード CPU IO 待機率 (%)
このメトリクスは、ノードの CPU が I/O 操作を待機している時間の割合を測定します。
ノード受信パケット数 (個)
このメトリクスは、クラスター内の各ノードの受信ネットワークパケット数を示します。監視サイクル: 1 分。
ノードネットワークパケット出力 (個)
このメトリクスは、クラスター内の各ノードから 1 分あたりに送信されるパケット数を測定します。
ノード受信帯域幅 (KiB/s)
このメトリクスは、クラスター内の各ノードの受信データレートを示します。監視サイクル: 1 分。単位: KiB/s。
ノードネットワーク帯域幅_出力 (KiB/s)
このメトリクスは、クラスター内の各ノードの送信ネットワーク帯域幅 (KiB/s) を測定します。1 分ごとに更新されます。
ノード TCP 接続数
説明
このメトリクスは、クライアントからクラスター内の各ノードへの確立された TCP 接続数を示します。
異常の原因
このメトリクスのスパイクまたは大幅な変動は、サービスエラーを示している可能性があります。この問題は、クライアントが TCP 接続を迅速に解放できず、ノードの接続数が急増する場合によく発生します。これらの接続を解放するために、クライアント側のポリシーを設定してください。
IOUtil (%)
説明
このメトリクスは、クラスター内の各ノードの I/O 使用率を示します。
異常の原因
このメトリクスのスパイクまたは大幅な変動は、サービスエラーを示している可能性があります。ディスク使用率の高さは一般的な原因であり、読み取りおよび書き込み操作の平均待機時間を増加させ、I/O 使用率が最大 100% にまでスパイクする可能性があります。これを解決するには、クラスターのワークロードやその他の関連メトリクスを分析してください。例えば、クラスター構成のスペックアップが必要になる場合があります。
ノードネットワーク再送率 (%)
ノードによって再送されたネットワークパケットの割合。
ノードネットワーク帯域幅 (KiB/s)
ノードネットワーク帯域幅は、ノードネットワーク帯域幅_入力とノードネットワーク帯域幅_出力の合計です。
ノードネットワーク帯域幅使用率 (%)
ノードネットワーク帯域幅使用率 (%) = (ノードネットワーク帯域幅_入力 (KiB/s) + ノードネットワーク帯域幅_出力 (KiB/s)) / ノードネットワークベース帯域幅 (KiB/s)。
ノードネットワークパケット (個)
ノードネットワークパケット (個) は、ノードネットワークパケット_出力とノードネットワークパケット_入力の合計です。
ノードネットワークパケット使用率 (%)
ノードネットワークパケット使用率 (%) = (ノードネットワークパケット_送信 (PPS) + ノードネットワークパケット_受信 (PPS)) / 1 秒あたりの最大ネットワークパケット数 (PPS)。
ディスク帯域幅読み取り (MiB/s)
クラスター内の各ノードから 1 秒あたりに読み取られるデータ量。
ディスク帯域幅_書き込み (MiB/s)
このメトリクスは、クラスター内の各ノードの書き込み帯域幅を示します。
ディスク読み取り IOPS
クラスター内の各ノードで 1 秒あたりに完了した読み取りリクエストの数。
ディスク IOPS 書き込み
クラスター内の各ノードによって 1 秒あたりに完了した書き込みリクエストの数。
平均リクエストキュー長
リクエストキューの平均長。
ディスク帯域幅 (MiB/s)
ディスク帯域幅 (MiB/s) = ディスク帯域幅_読み取り (MiB/s) + ディスク帯域幅_書き込み (MiB/s)。
クラウドディスク帯域幅使用率 (%)
ディスク帯域幅使用率_クラウドディスク (%) = (ディスク帯域幅_読み取り (MB/s) + ディスク帯域幅_書き込み (MB/s)) / 単一ディスクスループット (MB/s)。
ディスク帯域幅使用率_ノード (%)
このメトリクスは、(ディスク帯域幅_読み取り (MiB/s) + ディスク帯域幅_書き込み (MiB/s)) / ディスク基本帯域幅 (Gbit/s) として計算されます。計算を有効にするには、すべての値を同じ単位に変換する必要があることに注意してください。
ディスク IOPS (個)
ディスク IOPS (個) = ディスク読み取り IOPS (個) + ディスク書き込み IOPS (個)。
ディスク IOPS 使用率 (クラウド) (%)
ディスク IOPS 使用率_ディスク (%) = (ディスク IOPS_読み取り (個) + ディスク IOPS_書き込み (個)) / 単一ディスク IOPS 容量。
ディスク IOPS 使用率_ノード (%)
ディスク IOPS 使用率_ノード (%) = (ディスク IOPS_読み取り (個) + ディスク IOPS_書き込み (個)) / クラウドディスク基本 IOPS
ノード Old 世代使用量 (B)
メトリクスの説明
このメトリクスは、クラスター内の各ノードで使用される Old 世代のヒープメモリの量を示します。Old 世代での高い使用量や大きなオブジェクトは、クラスターのパフォーマンスに影響を与え、自動的な GC 操作をトリガーする可能性があります。大きなオブジェクトを収集すると、長い GC の一時停止やフル GC につながる可能性があります。
メトリクス異常の原因
監視中に、このメトリクスの急激なスパイクまたは大幅な変動は、多くの場合、サービス例外を示します。一般的な原因は次のとおりです。
原因 | 説明 |
QPS | Query QPS または [書き込み QPS] の急激なスパイクまたは大幅な変動。 |
集約クエリまたはスクリプトクエリ | 集約クエリはリソースを大量に消費し、かなりの計算リソースとメモリを消費します。注意して使用してください。 |
数値フィールドでの term クエリ | byte、short、integer、long などの数値フィールドで多数の term クエリを実行すると、遅くなることがあります。これは、ドキュメント ID コレクションのビットセットの構築に時間がかかるためです。数値フィールドで範囲クエリや集計を実行する必要がない場合は、そのタイプをキーワードタイプのフィールドに変更することを検討してください。 |
あいまい一致 | ワイルドカード文字、正規表現、またはあいまい一致を使用するクエリは、かなりの計算リソースを消費します。これらのクエリは、転置インデックス内の term リストをスキャンしてすべての一致する term を見つけ、その後、対応するドキュメント ID を収集する必要があります。適切なストレステストなしでこれらのクエリを大規模に実行すると、システムに負担がかかる可能性があります。ユースケースに基づいてストレステストを実行し、適切なクエリ量を決定してください。 |
少数のスロークエリ | このシナリオでは、クエリおよび書き込み QPS の変動は軽微または気づかない程度かもしれません。調査するには、Alibaba Cloud Elasticsearch コンソールの [クエリログ] ページに移動し、スロー検索ログ をクリックします。 |
少数のスロー書き込みリクエスト | このシナリオでは、クエリおよび書き込み QPS の変動は軽微または気づかない程度です。調査するには、Alibaba Cloud Elasticsearch コンソールの [クエリログ] ページに移動し、スローインデックスログ をクリックします。 |
クラスター内のインデックスまたはシャードが過剰な数 | 過剰な数のインデックスまたはシャードは、高い CPU 使用率、高いヒープメモリ使用率、または高い load_1m を引き起こす可能性があります。 |
マージ操作 | マージ操作は CPU を集中的に使用し、影響を受けるノードのセグメント数を急激に減少させる可能性があります。これは、Kibana コンソールの各ノードの [概要] ページで監視できます。 |
GC 操作 | フル GC などの GC 操作はメモリを解放しますが、CPU リソースを消費します。これにより、ヒープメモリ使用量が急激に減少する可能性があります。 |
定期タスク | データバックアップまたはその他のカスタムタスク。 |
フル GC 回数
頻繁なフル GC イベントは、クラスターのパフォーマンスを低下させる可能性があります。
説明
このメトリクスは、クラスター内で 1 分あたりに発生するフル GC イベントの数を測定します。
異常の原因
ゼロより大きい値は、サービス例外を示します。一般的な原因は次のとおりです。
高いヒープメモリ使用率。
大きなメモリオブジェクト。
ノード Old GC 回数
説明
このメトリクスは、クラスター内の各ノードでの Old 世代のガベージコレクションをカウントします。Old 世代での高い使用量や大きなメモリオブジェクトは、自動的なガベージコレクションをトリガーする可能性があり、クラスターサービスに影響を与えることがあります。大きなオブジェクトを収集すると、長い GC の一時停止やフル GC が発生する可能性があります。
基本監視のフル GC メトリクスはログから取得されますが、高度な監視のメモリメトリクスは ES エンジンによって収集されます。これらの異なるデータソースを考慮に入れるために、利用可能なすべてのメトリクスを組み合わせてクラスターのパフォーマンスを評価してください。
一般的な原因
詳細については、「ノード Old 世代使用量 (B)」をご参照ください。
ノード Old GC 持続時間 (ms)
メトリクス
このメトリクスは、クラスター内の各ノードの Old 世代でのガベージコレクションの平均持続時間を示します。Old 世代の使用率が高い場合や大きなオブジェクトが存在する場合、GC 操作が自動的にトリガーされます。大きなオブジェクトを収集すると、GC の持続時間が長くなったり、フル GC が発生したりする可能性があります。
異常値の原因
JVMMemoryOldUsedBytes の異常値の一般的な原因の詳細については、そちらをご参照ください。
検索スレッドプールのアクティブスレッド数 (個)
クラスターのクエリスレッドプール内のアクティブなスレッド数。
クエリスレッドプールで拒否されたリクエスト (個)
この非推奨のメトリクスは、クラスターのクエリスレッドプールで拒否されたリクエストをカウントします。代わりに SearchThreadpoolRejectedV2 を使用してください。
拒否されたクエリリクエスト
このメトリクスは、クラスターのクエリスレッドプールで拒否されたリクエストをカウントします。スレッドプールがいっぱいになると、クラスターは新しいクエリリクエストを拒否し、例外をスローします。
例外数
メトリクスの説明
このメトリクスは、1 分間の期間内にクラスターログに表示される警告レベルのログエントリの総数を示します。
異常値の原因
値が 0 以外の場合は、サービス例外を示します。一般的な原因は次のとおりです。
異常なクエリリクエスト。
異常な書き込みリクエスト。
Elasticsearch タスクのエラー。
ガベージコレクション操作。
トラブルシューティング
Alibaba Cloud Elasticsearch コンソールで、[クエリログ] ページに移動し、インスタンスログ をクリックします。インスタンスログ ページで、対応する時間の例外詳細を確認して根本原因を見つけます。
インスタンスログ に GC レコードが含まれている場合、これらのレコードは [NodeStatsExceptionLogCount] メトリクスにも含まれます。