cat recovery API

cat APIは、コマンドラインまたはKibanaコンソールを使用して人間が消費することを目的としています。アプリケーションによる使用は意図されていません。アプリケーションでの使用には、index recovery APIを使用してください。

進行中および完了したシャードのリカバリに関する情報を返します。これは、index recovery APIに似ています。

データストリームの場合、APIはストリームのバックインデックスに関する情報を返します。

Request

GET /_cat/recovery/<target>

GET /_cat/recovery

Prerequisites

  • Elasticsearchのセキュリティ機能が有効になっている場合、このAPIを使用するにはmonitorまたはmanage cluster privilegeが必要です。また、取得するデータストリーム、インデックス、またはエイリアスに対してmonitorまたはmanage index privilegeも必要です。

Description

cat recovery APIは、進行中および完了したシャードのリカバリに関する情報を返します。これは、JSON index recovery APIのよりコンパクトなビューです。

シャードのリカバリは、シャードコピーを初期化するプロセスであり、スナップショットからプライマリシャードを復元したり、プライマリシャードからレプリカシャードを作成したりします。シャードのリカバリが完了すると、回復されたシャードは検索およびインデックス作成に利用可能になります。

リカバリは、次のプロセス中に自動的に発生します:

  • インデックスを初めて作成する時。
  • ノードがクラスターに再参加し、データパスに保持しているデータを使用して欠落しているプライマリシャードコピーを起動する時。
  • プライマリから新しいレプリカシャードコピーを作成する時。
  • 同じクラスター内の別のノードにシャードコピーを移動する時。
  • snapshot restore操作。
  • cloneshrink、またはsplit操作。

recoveryまたはcat recovery APIを使用して、シャードのリカバリの原因を特定できます。

Path parameters

  • <target>
  • (オプション、文字列) リクエストを制限するために使用されるデータストリーム、インデックス、およびエイリアスのカンマ区切りリスト。ワイルドカード(*)をサポートします。すべてのデータストリームとインデックスを対象とするには、このパラメータを省略するか、*または_allを使用します。

Query parameters

  • active_only
  • (オプション、Boolean) trueの場合、応答には進行中のシャードリカバリのみが含まれます。デフォルトはfalseです。
  • bytes
  • (オプション、バイトサイズ単位) バイト値を表示するために使用される単位。
  • detailed
  • (オプション、Boolean) trueの場合、応答にはシャードリカバリに関する詳細情報が含まれます。デフォルトはfalseです。
  • format
  • (オプション、文字列) HTTP accept headerの短縮版。有効な値にはJSON、YAMLなどが含まれます。
  • h
  • (オプション、文字列) 表示する列名のカンマ区切りリスト。
  • help
  • (オプション、Boolean) trueの場合、応答にはヘルプ情報が含まれます。デフォルトはfalseです。
  • index
  • (オプション、文字列) リクエストを制限するために使用されるインデックス名のカンマ区切りリストまたはワイルドカード式。
  • s
  • (オプション、文字列) 応答をソートするために使用される列名または列エイリアスのカンマ区切りリスト。
  • time
  • (オプション、時間単位) 時間値を表示するために使用される単位。
  • v
  • (オプション、Boolean) trueの場合、応答には列見出しが含まれます。デフォルトはfalseです。

Examples

Example with no ongoing recoveries

Python

  1. resp = client.cat.recovery(
  2. v=True,
  3. )
  4. print(resp)

Ruby

  1. response = client.cat.recovery(
  2. v: true
  3. )
  4. puts response

Js

  1. const response = await client.cat.recovery({
  2. v: "true",
  3. });
  4. console.log(response);

Console

  1. GET _cat/recovery?v=true

APIは次の応答を返します:

Txt

  1. index shard time type stage source_host source_node target_host target_node repository snapshot files files_recovered files_percent files_total bytes bytes_recovered bytes_percent bytes_total translog_ops translog_ops_recovered translog_ops_percent
  2. my-index-000001 0 13ms store done n/a n/a 127.0.0.1 node-0 n/a n/a 0 0 100% 13 0b 0b 100% 9928b 0 0 100.0%

この例の応答では、ソースノードとターゲットノードは同じです。なぜなら、リカバリタイプがstoreであり、ノードの起動時にローカルストレージから読み取られたことを意味します。

Example with a live shard recovery

インデックスのレプリカ数を増やし、レプリカをホストするために別のノードをオンラインにすることで、進行中のリカバリに関する情報を取得できます。

Python

  1. resp = client.cat.recovery(
  2. v=True,
  3. h="i,s,t,ty,st,shost,thost,f,fp,b,bp",
  4. )
  5. print(resp)

Ruby

  1. response = client.cat.recovery(
  2. v: true,
  3. h: 'i,s,t,ty,st,shost,thost,f,fp,b,bp'
  4. )
  5. puts response

Js

  1. const response = await client.cat.recovery({
  2. v: "true",
  3. h: "i,s,t,ty,st,shost,thost,f,fp,b,bp",
  4. });
  5. console.log(response);

Console

  1. GET _cat/recovery?v=true&h=i,s,t,ty,st,shost,thost,f,fp,b,bp

APIは次の応答を返します:

Txt

  1. i s t ty st shost thost f fp b bp
  2. my-index-000001 0 1252ms peer done 192.168.1.1 192.168.1.2 0 100.0% 0b 100.0%

この例の応答では、リカバリタイプがpeerであり、シャードが別のノードから回復されたことを意味します。返されたファイルとバイトはリアルタイムの測定値です。

Example with a snapshot recovery

スナップショットとリストアのAPIを使用して、インデックスのバックアップを復元できます。snapshot and restore APIを使用して、スナップショットリカバリに関する情報を取得できます。

Python

  1. resp = client.cat.recovery(
  2. v=True,
  3. h="i,s,t,ty,st,rep,snap,f,fp,b,bp",
  4. )
  5. print(resp)

Ruby

  1. response = client.cat.recovery(
  2. v: true,
  3. h: 'i,s,t,ty,st,rep,snap,f,fp,b,bp'
  4. )
  5. puts response

Js

  1. const response = await client.cat.recovery({
  2. v: "true",
  3. h: "i,s,t,ty,st,rep,snap,f,fp,b,bp",
  4. });
  5. console.log(response);

Console

  1. GET _cat/recovery?v=true&h=i,s,t,ty,st,rep,snap,f,fp,b,bp

APIは次の応答を返します。リカバリタイプはsnapshotです:

Txt

  1. i s t ty st rep snap f fp b bp
  2. my-index-000001 0 1978ms snapshot done my-repo snap-1 79 8.0% 12086 9.0%