Health API
Elasticsearch クラスターの健康状態を報告する API です。
Request
GET /_health_report
GET /_health_report/<indicator>
Prerequisites
- Elasticsearch のセキュリティ機能が有効になっている場合、この API を使用するには
monitor
またはmanage
クラスター権限 が必要です。
Description
健康 API は、Elasticsearch クラスターの健康状態に関するレポートを返します。このレポートには、Elasticsearch の機能を構成する指標のリストが含まれています。
各指標には、green
、unknown
、yellow
、または red
の健康状態があります。指標は、その現在の健康状態の理由を説明するメタデータを提供します。
クラスターの状態は、最も悪い指標の状態によって制御されます。
指標の状態が非緑色の場合、健康問題によって悪影響を受ける機能の詳細を示す影響のリストが指標の結果に含まれる場合があります。各影響には、重大度レベル、影響を受けるシステムの領域、およびシステムへの影響の簡単な説明が含まれます。
一部の健康指標は、健康問題の根本原因を特定し、システムの健康を改善するために実行できる一連の手順を処方することができます。根本原因と修正手順は diagnosis
にカプセル化されています。診断には、根本原因分析の詳細を含む原因、問題を修正するために取るべき手順の簡単な説明、影響を受けるリソースのリスト(該当する場合)、および診断された問題を修正するための詳細なステップバイステップのトラブルシューティングガイドが含まれます。
健康指標は、非緑色の健康状態の根本原因分析を実行します。これは、頻繁に呼び出されると計算コストが高くなる可能性があります。健康状態の API の自動ポーリングを設定する場合は、verbose
を false
に設定して、より高価な分析ロジックを無効にします。
Path parameters
<indicator>
- (オプション、文字列) 特定の指標に返される情報を制限します。サポートされている指標は次のとおりです:
master_is_stable
- 健康リクエストを処理しているノードによってマスターと見なされるノードの安定性に関する健康問題を報告します。短期間に十分なマスターの変更が観察された場合、この指標は、検出されたクラスター形成の問題に関する有用な情報を診断して報告することを目的とします。
shards_availability
- シャードの割り当てに関する健康問題を報告します。
disk
- ディスクスペースの不足によって引き起こされる健康問題を報告します。
ilm
- インデックスライフサイクル管理に関連する健康問題を報告します。
repository_integrity
- リポジトリの整合性を追跡し、リポジトリが破損、未知、または無効になった場合に発生する健康問題を報告します。
slm
- スナップショットライフサイクル管理に関連する健康問題を報告します。
shards_capacity
- クラスターのシャード容量に関連する健康問題を報告します。
Query parameters
verbose
- (オプション、ブール値)
true
の場合、応答には各非緑色指標の状態を説明するのに役立つ追加の詳細が含まれます。これらの詳細には、追加のトラブルシューティングメトリックや、時には健康状態の根本原因分析が含まれます。デフォルトはtrue
です。 size
- (オプション、整数) 返される影響を受けるリソースの最大数。診断は複数の種類の影響を受けるリソースを返すことができるため、このパラメータは、各タイプのリソースに対して返される数を構成された値に制限します(例: 診断は
1000
の影響を受けるインデックスと1000
の影響を受けるノードを返すことができます)。デフォルトは1000
です。
Response body
cluster_name
- (文字列) クラスターの名前。
status
- (オプション、文字列) クラスターの健康状態。これは、クラスター内のすべての指標の集約された状態に基づいています。特定の指標の健康が要求されている場合、このトップレベルの状態は省略されます。状態は次のとおりです:
green
- クラスターは健康です。
unknown
- クラスターの健康状態を判断できませんでした。
yellow
- クラスターの機能が劣化しており、健康が
red
になるのを避けるために修正が必要です。 red
- クラスターは障害が発生しているか、特定の機能が使用できません。
indicators
- (オブジェクト) クラスター指標の健康に関する情報。
indicators
のプロパティ<indicator>
- (オブジェクト) 指標の健康結果を含みます。
<indicator>
のプロパティstatus
- (文字列) 指標の健康状態。状態は次のとおりです:
green
- 指標は健康です。
unknown
- 指標の健康状態を判断できませんでした。
yellow
- 指標の機能が劣化しており、健康が
red
になるのを避けるために修正が必要です。 red
- 指標は障害が発生しているか、特定の機能が使用できません。
symptom
- (文字列) 現在の健康状態に関する情報を提供するメッセージ。
details
- (オプション、オブジェクト) 現在の健康状態の結果につながったクラスターに関する追加情報を含むオブジェクト。このデータは構造化されておらず、各指標は ユニークな詳細のセット を返します。
verbose
プロパティが false に設定されている場合、詳細は計算されません。 impacts
- (オプション、配列) 健康でない状態が返された場合、指標にはこの健康状態がクラスターに与える影響のリストが含まれる場合があります。
impacts
のプロパティ severity
- (整数) この影響がクラスターの機能にどれほど重要であるか。値 1 は最も高い重大度であり、大きな値は低い重大度を示します。
description
- (文字列) クラスターへの影響の説明。
impact_areas
- (文字列の配列) この影響が及ぼすクラスター機能の領域。可能な値は次のとおりです:
search
ingest
backup
deployment_management
diagnosis
- (オプション、配列) 健康でない状態が返された場合、指標には健康問題の原因をカプセル化し、問題を修正するために取るべきアクションを含む診断のリストが含まれる場合があります。
verbose
プロパティが false の場合、診断は計算されません。diagnosis
のプロパティ cause
- (文字列) この健康問題の根本原因の説明。
action
- (文字列) 問題を修正するために取るべき手順の簡単な説明。問題を修正するための詳細なステップバイステップガイドは
help_url
フィールドによって提供されます。 affected_resources
- (オプション、オブジェクト) キーがリソースタイプ(例: インデックス、シャード)を表し、値が問題によって影響を受けた特定のリソースのリストであるオブジェクト。
help_url
- (文字列) 健康問題を修正するためのトラブルシューティングガイドへのリンク。
Indicator Details
健康 API の各健康指標は、システムの状態をさらに説明する詳細のセットを返します。詳細は、各指標に固有の内容と構造を持っています。
master_is_stable
current_master
- (オブジェクト) 現在選出されたマスターに関する情報。
current_master
のプロパティnode_id
- (文字列) 現在選出されたマスターのノード ID、またはマスターが選出されていない場合は null。
name
- (文字列) 現在選出されたマスターのノード名、またはマスターが選出されていない場合は null。
recent_masters
- (オプション、配列) 最近の時間枠でマスターとして選出されたまたは置き換えられたノードのリスト。このフィールドは、マスターが問題を引き起こすほど急速に変更されている場合に存在し、また、指標が
green
の場合に追加情報としても存在します。この配列には、選出されたマスターのみが含まれ、選出されたマスターが存在しなかった期間の空のエントリは含まれません。recent_masters
のプロパティnode_id
- (文字列) 最近アクティブなマスターノードのノード ID。
name
- (文字列) 最近アクティブなマスターノードのノード名。
exception_fetching_history
- (オプション、オブジェクト) クエリされているノードが選出されたマスターが繰り返し辞任したと見なす場合、診断目的で最近選出されたマスターノードからマスターの履歴が要求されます。このリモート履歴の取得が失敗した場合、例外情報がこの詳細フィールドに返されます。
exception_fetching_history
のプロパティmessage
- (文字列) 失敗した履歴取得操作の例外メッセージ。
stack_trace
- (文字列) 失敗した履歴取得操作のスタックトレース。
cluster_formation
- (オプション、配列) 最近選出されたマスターノードがない場合、クエリされているノードは、クラスターが形成できなかった理由、または形成された場合にクエリされているノードがクラスターに参加できなかった理由に関する情報を収集しようとします。この配列には、各マスター候補ノードのクラスター形成に関する見解のエントリが含まれる可能性があります。
cluster_formation
のプロパティnode_id
- (文字列) マスター候補ノードのノード ID
name
- (オプション、文字列) マスター候補ノードのノード名
cluster_formation_message
- (文字列) クラスター形成で何が問題だったのか、または形成された場合にこのノードがクラスターに参加できなかった理由を説明する詳細な説明。
shards_availability
unassigned_primaries
- (整数) 初期化または移動以外の理由で未割り当てのプライマリシャードの数。
initializing_primaries
- (整数) 初期化または回復中のプライマリシャードの数。
creating_primaries
- (整数) 最近作成されたため未割り当てのプライマリシャードの数。
creating_replicas
- (整数) 最近作成されたため未割り当てのレプリカシャードの数。
restarting_primaries
- (整数) ノードのシャットダウン操作のために移動中のプライマリシャードの数。
started_primaries
- (整数) システム上でアクティブで利用可能なプライマリシャードの数。
unassigned_replicas
- (整数) 初期化または移動以外の理由で未割り当てのレプリカシャードの数。
initializing_replicas
- (整数) 初期化または回復中のレプリカシャードの数。
restarting_replicas
- (整数) ノードのシャットダウン操作のために移動中のレプリカシャードの数。
started_replicas
- (整数) システム上でアクティブで利用可能なレプリカシャードの数。
disk
indices_with_readonly_block
- (整数) クラスターがスペース不足のために読み取り専用インデックスブロック (
index.blocks.read_only_allow_delete
) を強制したインデックスの数。 nodes_with_enough_disk_space
- (整数) 機能するために十分なディスクスペースを持つノードの数。
nodes_over_high_watermark
- (整数) ディスクが不足しており、スペースが不足する可能性が高いノードの数。これらのノードのディスク使用量は、高水準のしきい値 を超えています。
nodes_over_flood_stage_watermark
- (整数) ディスクが不足しているノードの数。これらのノードのディスク使用量は、洪水段階のしきい値 を超えています。
unknown_nodes
- (整数) ディスクの健康状態を判断できなかったノードの数。
repository_integrity
total_repositories
- (オプション、整数) システム上で現在構成されているリポジトリの数。リポジトリが構成されていない場合、この詳細は省略されます。
corrupted_repositories
- (オプション、整数) システム上で破損していると判断されたリポジトリの数。破損したリポジトリが検出されていない場合、この詳細は省略されます。
corrupted
- (オプション、文字列の配列) システムで破損したリポジトリが検出された場合、その名前の最大 10 件がこのフィールドに表示されます。破損したリポジトリが見つからない場合、この詳細は省略されます。
unknown_repositories
- (オプション、整数) 少なくとも 1 つのノードによって未知と判断されたリポジトリの数。未知のリポジトリが検出されていない場合、この詳細は省略されます。
invalid_repositories
- (オプション、整数) 少なくとも 1 つのノードによって無効と判断されたリポジトリの数。無効なリポジトリが検出されていない場合、この詳細は省略されます。
ilm
ilm_status
- (文字列) インデックスライフサイクル管理機能の現在の状態。
STOPPED
、STOPPING
、またはRUNNING
のいずれか。 policies
- (整数) システムが管理しているインデックスライフサイクルポリシーの数。
stagnating_indices
- (整数) インデックスライフサイクル管理によって管理されているが、期待以上に停滞しているインデックスの数。
stagnating_indices_per_action
- (オプション、マップ) 期待以上に停滞しているインデックスの数をアクションごとにグループ化した要約。
stagnating_indices_per_action
のプロパティdownsample
- (整数)
downsample
アクションで停滞しているインデックスの数。 allocate
- (整数)
allocate
アクションで停滞しているインデックスの数。 shrink
- (整数)
shrink
アクションで停滞しているインデックスの数。 searchable_snapshot
- (整数)
searchable_snapshot
アクションで停滞しているインデックスの数。 rollover
- (整数)
rollver
アクションで停滞しているインデックスの数。 forcemerge
- (整数)
forcemerge
アクションで停滞しているインデックスの数。 delete
- (整数)
delete
アクションで停滞しているインデックスの数。 migrate
- (整数)
migrate
アクションで停滞しているインデックスの数。
slm
slm_status
- (文字列) スナップショットライフサイクル管理機能の現在の状態。
STOPPED
、STOPPING
、またはRUNNING
のいずれか。 policies
- (整数) システムが管理しているスナップショットポリシーの数。
unhealthy_policies
- (マップ) いくつかの連続した失敗した呼び出しのために健康でないと見なされるポリシーに関する詳細なビュー。
count
キーは健康でないポリシーの数 (整数) を表し、invocations_since_last_success
キーは健康でないポリシー名がキーで、その対応する失敗した呼び出しの数が値となります。
shards_capacity
data
- (マップ) フローズンティアに属さないデータノードのためのシャードの現在の容量に関する情報を含むビュー。
data
のプロパティmax_shards_in_cluster
- (整数) クラスターが保持できるシャードの最大数を示します。
current_used_shards
- (オプション、整数) クラスターが保持しているシャードの総数。指標の状態が
red
またはyellow
の場合にのみ表示されます。
frozen
- (マップ) フローズンティアに属するデータノードのためのシャードの現在の容量に関する情報を含むビュー。
frozen
のプロパティmax_shards_in_cluster
- (整数) 部分的にマウントされたインデックスのためにクラスターが保持できるシャードの最大数を示します。
current_used_shards
- (オプション、整数) 部分的にマウントされたインデックスがクラスターに持つシャードの総数。指標の状態が
red
またはyellow
の場合にのみ表示されます。
Examples
Python
resp = client.health_report()
print(resp)
Ruby
response = client.health_report
puts response
Js
const response = await client.healthReport();
console.log(response);
Console
GET _health_report
API は、現在の状態に関係なくすべての指標を含む応答を返します。
Python
resp = client.health_report(
feature="shards_availability",
)
print(resp)
Ruby
response = client.health_report(
feature: 'shards_availability'
)
puts response
Js
const response = await client.healthReport({
feature: "shards_availability",
});
console.log(response);
Console
GET _health_report/shards_availability
API は、シャードの可用性指標のみの応答を返します。
Python
resp = client.health_report(
verbose=False,
)
print(resp)
Ruby
response = client.health_report(
verbose: false
)
puts response
Js
const response = await client.healthReport({
verbose: "false",
});
console.log(response);
Console
GET _health_report?verbose=false
API は、すべての健康指標を含む応答を返しますが、応答の詳細や根本原因分析は計算しません。これは、健康 API を監視したいが、各呼び出しごとに追加のトラブルシューティング詳細を計算するオーバーヘッドを避けたい場合に便利です。