データストリームライフサイクルの説明

1つ以上のデータストリームバックインデックスの現在のdata stream lifecycleのステータスを取得します。

前提条件

Elasticsearchのセキュリティ機能が有効になっている場合、このAPIを使用するには少なくともmanage_data_stream_lifecycleインデックス権限またはview_index_metadataインデックス権限が必要です。詳細については、Security privilegesを参照してください。

リクエスト

GET <target>/_lifecycle/explain

説明

インデックスまたはデータストリームの現在のデータストリームライフサイクル状態に関する情報を取得します。これには、インデックス作成からの時間、ロールオーバーからの時間、インデックスを管理するライフサイクル構成、またはElasticsearchがライフサイクル実行中に遭遇した可能性のあるエラーが含まれます。

パスパラメータ

  • <target>
  • (必須、文字列)インデックスまたはデータストリームのカンマ区切りリスト。

クエリパラメータ

  • include_defaults
  • (オプション、Boolean)ターゲットのライフサイクルに関連するデフォルト構成を含めます。デフォルトはfalseです。
  • master_timeout
  • (オプション、時間単位)マスターノードを待機する期間。タイムアウトが切れる前にマスターノードが利用できない場合、リクエストは失敗し、エラーが返されます。デフォルトは30sです。リクエストがタイムアウトしないことを示すために-1に設定することもできます。

データストリームのすべてのバックインデックスのライフサイクル状態を取得したい場合は、データストリーム名を使用できます。簡単のため、以下の例では1つのバックインデックス.ds-metrics-2023.03.22-000001のライフサイクル状態を取得します:

Python

  1. resp = client.indices.explain_data_lifecycle(
  2. index=".ds-metrics-2023.03.22-000001",
  3. )
  4. print(resp)

Ruby

  1. response = client.indices.explain_data_lifecycle(
  2. index: '.ds-metrics-2023.03.22-000001'
  3. )
  4. puts response

Js

  1. const response = await client.indices.explainDataLifecycle({
  2. index: ".ds-metrics-2023.03.22-000001",
  3. });
  4. console.log(response);

コンソール

  1. GET .ds-metrics-2023.03.22-000001/_lifecycle/explain

インデックスがデータストリームライフサイクルによって管理されている場合、explainmanaged_by_lifecycleフィールドがtrueに設定されていることを示し、レスポンスの残りの部分にはこのインデックスのライフサイクル実行ステータスに関する情報が含まれます:

コンソール-結果

  1. {
  2. "indices": {
  3. ".ds-metrics-2023.03.22-000001": {
  4. "index" : ".ds-metrics-2023.03.22-000001",
  5. "managed_by_lifecycle" : true,
  6. "index_creation_date_millis" : 1679475563571,
  7. "time_since_index_creation" : "843ms",
  8. "rollover_date_millis" : 1679475564293,
  9. "time_since_rollover" : "121ms",
  10. "lifecycle" : { },
  11. "generation_time" : "121ms"
  12. }
  13. }
インデックスがデータストリームライフサイクルによって管理されているかどうかを示します。インデックスがデータストリームライフサイクルによって管理されていない場合、他のフィールドは表示されません。
インデックスが作成された時刻。このタイムスタンプはロールオーバーのタイミングを決定するために使用されます。
インデックス作成からの時間(max_ageを介してインデックスをロールオーバーするタイミングを計算するために使用されます)。
インデックスがロールオーバーされた時刻。インデックスがロールオーバーされていない場合、これは表示されません。
ロールオーバーからの時間。インデックスがロールオーバーされていない場合、これは表示されません。
このインデックスに適用されるライフサイクル構成(親データストリームに設定されています)。
インデックスの世代時間は、インデックスがユーザー設定可能な/ビジネス特有のライフサイクルの部分(例:保持)に向かって進行し始めた時刻を示します。generation_timeは、存在する場合は発生日から、存在しない場合はロールオーバー日から、または両方が存在しない場合は作成日から計算されます。インデックスが書き込みインデックスである場合、generation_timeは報告されません。なぜなら、それは保持やライフサイクルの他の部分に対して適格ではないからです。
  1. [](#b4bec3a4279978704d20daf0156e1eae)
  2. #### コンソール-結果
  3. ``````console-result
  4. {
  5. "indices": {
  6. ".ds-metrics-2023.03.22-000001": {
  7. "index" : ".ds-metrics-2023.03.22-000001",
  8. "managed_by_lifecycle" : true,
  9. "index_creation_date_millis" : 1679475563571,
  10. "time_since_index_creation" : "843ms",
  11. "lifecycle" : {
  12. "enabled": true
  13. },
  14. "error": "{\"type\":\"validation_exception\",\"reason\":\"Validation Failed: 1: this action would add [2] shards, but this cluster
  15. currently has [4]/[3] maximum normal shards open;\"}"
  16. }
  17. }
  18. `
クラスタ内で許可されているシャードの数の制限により、ターゲットインデックスはロールオーバーできませんでした。