ライフサイクル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

  1. resp = client.ilm.explain_lifecycle(
  2. index="my-index-000001",
  3. human=True,
  4. )
  5. print(resp)

Ruby

  1. response = client.ilm.explain_lifecycle(
  2. index: 'my-index-000001',
  3. human: true
  4. )
  5. puts response

Js

  1. const response = await client.ilm.explainLifecycle({
  2. index: "my-index-000001",
  3. human: "true",
  4. });
  5. console.log(response);

コンソール

  1. GET my-index-000001/_ilm/explain?human

インデックスの管理が最初にILMによって引き継がれると、explainはインデックスが管理されており、newフェーズにあることを示します:

コンソール-結果

  1. {
  2. "indices": {
  3. "my-index-000001": {
  4. "index": "my-index-000001",
  5. "index_creation_date_millis": 1538475653281,
  6. "index_creation_date": "2018-10-15T13:45:21.981Z",
  7. "time_since_index_creation": "15s",
  8. "managed": true,
  9. "policy": "my_policy",
  10. "lifecycle_date_millis": 1538475653281,
  11. "lifecycle_date": "2018-10-15T13:45:21.981Z",
  12. "age": "15s",
  13. "phase": "new",
  14. "phase_time_millis": 1538475653317,
  15. "phase_time": "2018-10-15T13:45:22.577Z",
  16. "action": "complete"
  17. "action_time_millis": 1538475653317,
  18. "action_time": "2018-10-15T13:45:22.577Z",
  19. "step": "complete",
  20. "step_time_millis": 1538475653317,
  21. "step_time": "2018-10-15T13:45:22.577Z"
  22. }
  23. }
  24. }
インデックスが作成されたとき、このタイムスタンプはロールオーバーの時期を決定するために使用されます。
インデックス作成からの時間(max_ageを介してインデックスをロールオーバーする時期を計算するために使用されます)
インデックスがILMによって管理されているかどうかを示します。インデックスがILMによって管理されていない場合、他のフィールドは表示されません。
ILMがこのインデックスに使用しているポリシーの名前
min_ageに使用されるタイムスタンプ
インデックスの年齢(次のフェーズに入る時期を計算するために使用されます)
インデックスが現在のフェーズに入った時期
インデックスが現在のアクションに入った時期
インデックスが現在のステップに入った時期

ポリシーがインデックスで実行されているとき、応答には現在のフェーズの定義を示すphase_executionオブジェクトが含まれます。基盤となるポリシーの変更は、現在のフェーズが完了するまでこのインデックスに影響を与えません。

コンソール-結果

  1. {
  2. "indices": {
  3. "test-000069": {
  4. "index": "test-000069",
  5. "index_creation_date_millis": 1538475653281,
  6. "time_since_index_creation": "25.14s",
  7. "managed": true,
  8. "policy": "my_lifecycle3",
  9. "lifecycle_date_millis": 1538475653281,
  10. "lifecycle_date": "2018-10-15T13:45:21.981Z",
  11. "age": "25.14s",
  12. "phase": "hot",
  13. "phase_time_millis": 1538475653317,
  14. "phase_time": "2018-10-15T13:45:22.577Z",
  15. "action": "rollover",
  16. "action_time_millis": 1538475653317,
  17. "action_time": "2018-10-15T13:45:22.577Z",
  18. "step": "attempt-rollover",
  19. "step_time_millis": 1538475653317,
  20. "step_time": "2018-10-15T13:45:22.577Z",
  21. "phase_execution": {
  22. "policy": "my_lifecycle3",
  23. "phase_definition": {
  24. "min_age": "0ms",
  25. "actions": {
  26. "rollover": {
  27. "max_age": "30s",
  28. "max_primary_shard_docs": 200000000,
  29. "min_docs": 1
  30. }
  31. }
  32. },
  33. "version": 3,
  34. "modified_date": "2018-10-15T13:21:41.576Z",
  35. "modified_date_in_millis": 1539609701576
  36. }
  37. }
  38. }
  39. }
インデックスがこのフェーズに入ったときに指定されたポリシーから読み込まれたJSONフェーズ定義
ロールオーバーアクションには、デフォルトのmax_primary_shard_docsおよびmin_docs条件が含まれます。詳細については、ILMロールオーバーオプションを参照してください。
読み込まれたポリシーのバージョン
読み込まれたポリシーが最後に変更された日付
読み込まれたポリシーが最後に変更されたエポック時間

ILMがステップの完了を待機している場合、応答にはインデックスで実行されているステップのステータス情報が含まれます。

コンソール-結果

  1. {
  2. "indices": {
  3. "test-000020": {
  4. "index": "test-000020",
  5. "index_creation_date_millis": 1538475653281,
  6. "time_since_index_creation": "4.12m",
  7. "managed": true,
  8. "policy": "my_lifecycle3",
  9. "lifecycle_date_millis": 1538475653281,
  10. "lifecycle_date": "2018-10-15T13:45:21.981Z",
  11. "age": "4.12m",
  12. "phase": "warm",
  13. "phase_time_millis": 1538475653317,
  14. "phase_time": "2018-10-15T13:45:22.577Z",
  15. "action": "allocate",
  16. "action_time_millis": 1538475653317,
  17. "action_time": "2018-10-15T13:45:22.577Z",
  18. "step": "check-allocation",
  19. "step_time_millis": 1538475653317,
  20. "step_time": "2018-10-15T13:45:22.577Z",
  21. "step_info": {
  22. "message": "Waiting for all shard copies to be active",
  23. "shards_left_to_allocate": -1,
  24. "all_shards_active": false,
  25. "number_of_replicas": 2
  26. },
  27. "phase_execution": {
  28. "policy": "my_lifecycle3",
  29. "phase_definition": {
  30. "min_age": "0ms",
  31. "actions": {
  32. "allocate": {
  33. "number_of_replicas": 2,
  34. "include": {
  35. "box_type": "warm"
  36. },
  37. "exclude": {},
  38. "require": {}
  39. },
  40. "forcemerge": {
  41. "max_num_segments": 1
  42. }
  43. }
  44. },
  45. "version": 2,
  46. "modified_date": "2018-10-15T13:20:02.489Z",
  47. "modified_date_in_millis": 1539609602489
  48. }
  49. }
  50. }
  51. }
進行中のステップのステータス。

インデックスがERRORステップにある場合、ポリシーのステップを実行中に何かがうまくいかなかったため、インデックスが次のステップに進むためにはアクションを取る必要があります。特定の状況では、自動的に再試行するのが安全なステップもあります。問題を診断するのに役立つように、説明応答には失敗したステップ、エラーに関する情報を提供するステップ情報、および失敗したステップに対して実行された再試行の情報が表示されます。

コンソール-結果

  1. {
  2. "indices": {
  3. "test-000056": {
  4. "index": "test-000056",
  5. "index_creation_date_millis": 1538475653281,
  6. "time_since_index_creation": "50.1d",
  7. "managed": true,
  8. "policy": "my_lifecycle3",
  9. "lifecycle_date_millis": 1538475653281,
  10. "lifecycle_date": "2018-10-15T13:45:21.981Z",
  11. "age": "50.1d",
  12. "phase": "hot",
  13. "phase_time_millis": 1538475653317,
  14. "phase_time": "2018-10-15T13:45:22.577Z",
  15. "action": "rollover",
  16. "action_time_millis": 1538475653317,
  17. "action_time": "2018-10-15T13:45:22.577Z",
  18. "step": "ERROR",
  19. "step_time_millis": 1538475653317,
  20. "step_time": "2018-10-15T13:45:22.577Z",
  21. "failed_step": "check-rollover-ready",
  22. "is_auto_retryable_error": true,
  23. "failed_step_retry_count": 1,
  24. "step_info": {
  25. "type": "cluster_block_exception",
  26. "reason": "index [test-000057/H7lF9n36Rzqa-KfKcnGQMg] blocked by: [FORBIDDEN/5/index read-only (api)",
  27. "index_uuid": "H7lF9n36Rzqa-KfKcnGQMg",
  28. "index": "test-000057"
  29. },
  30. "phase_execution": {
  31. "policy": "my_lifecycle3",
  32. "phase_definition": {
  33. "min_age": "0ms",
  34. "actions": {
  35. "rollover": {
  36. "max_age": "30s"
  37. }
  38. }
  39. },
  40. "version": 3,
  41. "modified_date": "2018-10-15T13:21:41.576Z",
  42. "modified_date_in_millis": 1539609701576
  43. }
  44. }
  45. }
  46. }
エラーを引き起こしたステップ
失敗したステップを再試行することでエラーを克服できるかどうかを示します。これが真であれば、ILMは失敗したステップを自動的に再試行します。
失敗したステップを実行するために試みられた自動再試行の回数を示します。
何がうまくいかなかったか