ライフサイクルAPIの説明
1つ以上のインデックスの現在のlifecycleステータスを取得します。データストリームの場合、APIはストリームのバックインデックスの現在のライフサイクルステータスを取得します。
リクエスト
GET <target>/_ilm/explain
前提条件
- Elasticsearchのセキュリティ機能が有効になっている場合、このAPIを使用するには、管理対象のインデックスに対して
view_index_metadata
またはmanage_ilm
、またはその両方の権限が必要です。詳細については、セキュリティ権限を参照してください。
説明
インデックスの現在のライフサイクル状態に関する情報を取得します。たとえば、現在実行中のフェーズ、アクション、およびステップなどです。インデックスが各フェーズに入った時期、実行中のフェーズの定義、および失敗に関する情報を示します。
パスパラメータ
<target>
- (必須、文字列) 対象とするデータストリーム、インデックス、およびエイリアスのカンマ区切りリスト。ワイルドカード(
*
)をサポートします。すべてのデータストリームとインデックスを対象とするには、*
または_all
を使用します。
クエリパラメータ
only_managed
- (オプション、Boolean) 戻されるインデックスをILMによって管理されているインデックスのみにフィルタリングします。
only_errors
- (オプション、Boolean) 戻されるインデックスをILMによって管理されているインデックスのうち、ポリシーの実行中にエラーが発生したか、存在しないポリシーを使用しようとしたためにエラー状態にあるインデックスのみにフィルタリングします。
master_timeout
- (オプション、時間単位) マスターノードを待機する期間。タイムアウトが切れる前にマスターノードが利用できない場合、リクエストは失敗し、エラーが返されます。デフォルトは
30s
です。リクエストがタイムアウトしないことを示すために-1
に設定することもできます。
例
次の例は、my-index-000001
のライフサイクル状態を取得します:
Python
resp = client.ilm.explain_lifecycle(
index="my-index-000001",
human=True,
)
print(resp)
Ruby
response = client.ilm.explain_lifecycle(
index: 'my-index-000001',
human: true
)
puts response
Js
const response = await client.ilm.explainLifecycle({
index: "my-index-000001",
human: "true",
});
console.log(response);
コンソール
GET my-index-000001/_ilm/explain?human
インデックスの管理が最初にILMによって引き継がれると、explain
はインデックスが管理されており、new
フェーズにあることを示します:
コンソール-結果
{
"indices": {
"my-index-000001": {
"index": "my-index-000001",
"index_creation_date_millis": 1538475653281,
"index_creation_date": "2018-10-15T13:45:21.981Z",
"time_since_index_creation": "15s",
"managed": true,
"policy": "my_policy",
"lifecycle_date_millis": 1538475653281,
"lifecycle_date": "2018-10-15T13:45:21.981Z",
"age": "15s",
"phase": "new",
"phase_time_millis": 1538475653317,
"phase_time": "2018-10-15T13:45:22.577Z",
"action": "complete"
"action_time_millis": 1538475653317,
"action_time": "2018-10-15T13:45:22.577Z",
"step": "complete",
"step_time_millis": 1538475653317,
"step_time": "2018-10-15T13:45:22.577Z"
}
}
}
インデックスが作成されたとき、このタイムスタンプはロールオーバーの時期を決定するために使用されます。 | |
インデックス作成からの時間(max_age を介してインデックスをロールオーバーする時期を計算するために使用されます) |
|
インデックスがILMによって管理されているかどうかを示します。インデックスがILMによって管理されていない場合、他のフィールドは表示されません。 | |
ILMがこのインデックスに使用しているポリシーの名前 | |
min_age に使用されるタイムスタンプ |
|
インデックスの年齢(次のフェーズに入る時期を計算するために使用されます) | |
インデックスが現在のフェーズに入った時期 | |
インデックスが現在のアクションに入った時期 | |
インデックスが現在のステップに入った時期 |
ポリシーがインデックスで実行されているとき、応答には現在のフェーズの定義を示すphase_execution
オブジェクトが含まれます。基盤となるポリシーの変更は、現在のフェーズが完了するまでこのインデックスに影響を与えません。
コンソール-結果
{
"indices": {
"test-000069": {
"index": "test-000069",
"index_creation_date_millis": 1538475653281,
"time_since_index_creation": "25.14s",
"managed": true,
"policy": "my_lifecycle3",
"lifecycle_date_millis": 1538475653281,
"lifecycle_date": "2018-10-15T13:45:21.981Z",
"age": "25.14s",
"phase": "hot",
"phase_time_millis": 1538475653317,
"phase_time": "2018-10-15T13:45:22.577Z",
"action": "rollover",
"action_time_millis": 1538475653317,
"action_time": "2018-10-15T13:45:22.577Z",
"step": "attempt-rollover",
"step_time_millis": 1538475653317,
"step_time": "2018-10-15T13:45:22.577Z",
"phase_execution": {
"policy": "my_lifecycle3",
"phase_definition": {
"min_age": "0ms",
"actions": {
"rollover": {
"max_age": "30s",
"max_primary_shard_docs": 200000000,
"min_docs": 1
}
}
},
"version": 3,
"modified_date": "2018-10-15T13:21:41.576Z",
"modified_date_in_millis": 1539609701576
}
}
}
}
インデックスがこのフェーズに入ったときに指定されたポリシーから読み込まれたJSONフェーズ定義 | |
ロールオーバーアクションには、デフォルトのmax_primary_shard_docs およびmin_docs 条件が含まれます。詳細については、ILMロールオーバーオプションを参照してください。 |
|
読み込まれたポリシーのバージョン | |
読み込まれたポリシーが最後に変更された日付 | |
読み込まれたポリシーが最後に変更されたエポック時間 |
ILMがステップの完了を待機している場合、応答にはインデックスで実行されているステップのステータス情報が含まれます。
コンソール-結果
{
"indices": {
"test-000020": {
"index": "test-000020",
"index_creation_date_millis": 1538475653281,
"time_since_index_creation": "4.12m",
"managed": true,
"policy": "my_lifecycle3",
"lifecycle_date_millis": 1538475653281,
"lifecycle_date": "2018-10-15T13:45:21.981Z",
"age": "4.12m",
"phase": "warm",
"phase_time_millis": 1538475653317,
"phase_time": "2018-10-15T13:45:22.577Z",
"action": "allocate",
"action_time_millis": 1538475653317,
"action_time": "2018-10-15T13:45:22.577Z",
"step": "check-allocation",
"step_time_millis": 1538475653317,
"step_time": "2018-10-15T13:45:22.577Z",
"step_info": {
"message": "Waiting for all shard copies to be active",
"shards_left_to_allocate": -1,
"all_shards_active": false,
"number_of_replicas": 2
},
"phase_execution": {
"policy": "my_lifecycle3",
"phase_definition": {
"min_age": "0ms",
"actions": {
"allocate": {
"number_of_replicas": 2,
"include": {
"box_type": "warm"
},
"exclude": {},
"require": {}
},
"forcemerge": {
"max_num_segments": 1
}
}
},
"version": 2,
"modified_date": "2018-10-15T13:20:02.489Z",
"modified_date_in_millis": 1539609602489
}
}
}
}
進行中のステップのステータス。 |
インデックスがERRORステップにある場合、ポリシーのステップを実行中に何かがうまくいかなかったため、インデックスが次のステップに進むためにはアクションを取る必要があります。特定の状況では、自動的に再試行するのが安全なステップもあります。問題を診断するのに役立つように、説明応答には失敗したステップ、エラーに関する情報を提供するステップ情報、および失敗したステップに対して実行された再試行の情報が表示されます。
コンソール-結果
{
"indices": {
"test-000056": {
"index": "test-000056",
"index_creation_date_millis": 1538475653281,
"time_since_index_creation": "50.1d",
"managed": true,
"policy": "my_lifecycle3",
"lifecycle_date_millis": 1538475653281,
"lifecycle_date": "2018-10-15T13:45:21.981Z",
"age": "50.1d",
"phase": "hot",
"phase_time_millis": 1538475653317,
"phase_time": "2018-10-15T13:45:22.577Z",
"action": "rollover",
"action_time_millis": 1538475653317,
"action_time": "2018-10-15T13:45:22.577Z",
"step": "ERROR",
"step_time_millis": 1538475653317,
"step_time": "2018-10-15T13:45:22.577Z",
"failed_step": "check-rollover-ready",
"is_auto_retryable_error": true,
"failed_step_retry_count": 1,
"step_info": {
"type": "cluster_block_exception",
"reason": "index [test-000057/H7lF9n36Rzqa-KfKcnGQMg] blocked by: [FORBIDDEN/5/index read-only (api)",
"index_uuid": "H7lF9n36Rzqa-KfKcnGQMg",
"index": "test-000057"
},
"phase_execution": {
"policy": "my_lifecycle3",
"phase_definition": {
"min_age": "0ms",
"actions": {
"rollover": {
"max_age": "30s"
}
}
},
"version": 3,
"modified_date": "2018-10-15T13:21:41.576Z",
"modified_date_in_millis": 1539609701576
}
}
}
}
エラーを引き起こしたステップ | |
失敗したステップを再試行することでエラーを克服できるかどうかを示します。これが真であれば、ILMは失敗したステップを自動的に再試行します。 | |
失敗したステップを実行するために試みられた自動再試行の回数を示します。 | |
何がうまくいかなかったか |