スナップショットステータスAPI
スナップショットに参加している各シャードの現在の状態の詳細な説明を取得します。このAPIは、進行中のスナップショットに対する詳細なシャードレベルの情報を取得するためのものであることに注意してください。この詳細が必要ない場合、または1つ以上の既存のスナップショットに関する情報を取得したい場合は、スナップショット取得APIを使用してください。
Python
resp = client.snapshot.status()
print(resp)
Ruby
response = client.snapshot.status
puts response
Js
const response = await client.snapshot.status();
console.log(response);
コンソール
GET _snapshot/_status
リクエスト
GET _snapshot/_status
GET _snapshot/<repository>/_status
GET _snapshot/<repository>/<snapshot>/_status
前提条件
- Elasticsearchのセキュリティ機能が有効になっている場合、このAPIを使用するには、
monitor_snapshot
、create_snapshot
、またはmanage
クラスター権限が必要です。
説明
スナップショットに参加しているシャードに関する詳細情報を取得するには、スナップショットステータスAPIを使用します。
必要に応じて、`````<repository>`````および`````<snapshot>`````を指定して、現在実行中でない特定のスナップショットに関する情報を取得できます。
現在実行中のスナップショット以外のスナップショットのステータスを返すためにAPIを使用することは高コストになる可能性があります。APIは、各スナップショットの各シャードに対してリポジトリからの読み取りを必要とします。たとえば、100のスナップショットがそれぞれ1,000のシャードを持っている場合、すべてのスナップショットを含むAPIリクエストは100,000回の読み取りを必要とします(100スナップショット * 1,000シャード)。
ストレージのレイテンシに応じて、そのようなリクエストは結果を返すのに非常に長い時間がかかることがあります。これらのリクエストはマシンリソースにも負担をかけ、クラウドストレージを使用する場合は高い処理コストが発生する可能性があります。
## パスパラメータ
- `````<repository>
- (オプション、文字列) リクエストを制限するために使用されるスナップショットリポジトリ名。
<snapshot>
が指定されていない場合、ワイルドカード(*
)をサポートします。 <snapshot>
- (オプション、文字列) ステータスを取得するスナップショットのカンマ区切りリスト。デフォルトは現在実行中のスナップショットです。ワイルドカード(
*
)はサポートされていません。
クエリパラメータ
master_timeout
- (オプション、時間単位) マスターノードを待機する期間。タイムアウトが切れる前にマスターノードが利用できない場合、リクエストは失敗し、エラーを返します。デフォルトは
30s
です。リクエストが決してタイムアウトしないことを示すために-1
に設定することもできます。 ignore_unavailable
- (オプション、ブール値)
false
の場合、リクエストは利用できないスナップショットに対してエラーを返します。デフォルトはfalse
です。true
の場合、リクエストは破損しているか一時的に返せないスナップショットなど、利用できないスナップショットを無視します。
レスポンスボディ
repository
- (文字列) スナップショットを含むリポジトリの名前。
snapshot
- (文字列) スナップショットの名前。
uuid
- (文字列) スナップショットのユニバーサルユニーク識別子(UUID)。
state
- (文字列) 現在のスナップショットの状態を示します。
- `````FAILED
- スナップショットがエラーで終了し、データを保存できませんでした。
STARTED
- スナップショットが現在実行中です。
SUCCESS
- スナップショットが完了しました。
include_global_state
(ブール値) 現在のクラスター状態がスナップショットに含まれているかどうかを示します。
shards_stats
(オブジェクト) スナップショット内のシャードのカウントを含みます。
- `````initializing
- (整数) まだ初期化中のシャードの数。
started
- (整数) 開始されたが最終化されていないシャードの数。
finalizing
- (整数) 最終化中だが完了していないシャードの数。
done
- (整数) 初期化、開始、最終化が成功したシャードの数。
failed
- (整数) スナップショットに含まれることに失敗したシャードの数。
total
- (整数) スナップショットに含まれるシャードの総数。
stats
- (オブジェクト) スナップショットに含まれるファイルの数(
file_count
)とサイズ(size_in_bytes
)の詳細を提供します。- `````incremental
- (オブジェクト) 増分スナップショットの一部としてまだコピーする必要があるファイルの数とサイズ。
完了したスナップショットの場合、このプロパティはリポジトリにまだ存在しないファイルの数とサイズを示します。 processed
- (オブジェクト) スナップショットにすでにアップロードされたファイルの数とサイズ。ファイルがアップロードされると、処理された
file_count
およびsize_in_bytes
がstats
でインクリメントされます。 total
- (オブジェクト) スナップショットによって参照されるファイルの総数とサイズ。
start_time_in_millis
- (長整数) スナップショット作成プロセスが開始された時刻(ミリ秒単位)。
time_in_millis
- (長整数) スナップショットプロセスが完了するのにかかった総時間(ミリ秒単位)。
<index>
- (オブジェクトのリスト) スナップショットに含まれるインデックスに関する情報を含むオブジェクトのリスト。
- `````shards_stats
- (オブジェクト)
shards_stats
を参照してください。 stats
- (オブジェクト)
stats
を参照してください。 shards
- (オブジェクトのリスト) スナップショットを含むシャードに関する情報を含むオブジェクトのリスト。
- `````stage
- (文字列) スナップショットを含むシャードの現在の状態を示します。
stage
のプロパティ DONE
- リポジトリに正常に保存されたスナップショット内のシャードの数。
FAILURE
- リポジトリに正常に保存されなかったスナップショット内のシャードの数。
FINALIZE
- リポジトリに保存される最終化段階にあるスナップショット内のシャードの数。
INIT
- リポジトリに保存される初期化段階にあるスナップショット内のシャードの数。
STARTED
- リポジトリに保存される開始段階にあるスナップショット内のシャードの数。
stats
- (オブジェクト)
stats
を参照してください。 total
- (オブジェクト) スナップショットによって参照されるファイルの総数とサイズ。
start_time_in_millis
- (長整数)
start_time_in_millis
を参照してください。 time_in_millis
- (長整数)
time_in_millis
を参照してください。
例
次のリクエストは、my_repository
リポジトリ内のsnapshot_2
の詳細なステータス情報を返します。このレスポンスには、シャードのステータスやファイル統計など、スナップショット取得APIを超える追加情報が含まれています。
Python
resp = client.snapshot.status(
repository="my_repository",
snapshot="snapshot_2",
)
print(resp)
Ruby
response = client.snapshot.status(
repository: 'my_repository',
snapshot: 'snapshot_2'
)
puts response
Js
const response = await client.snapshot.status({
repository: "my_repository",
snapshot: "snapshot_2",
});
console.log(response);
コンソール
GET _snapshot/my_repository/snapshot_2/_status
コンソール-結果
{
"snapshots" : [
{
"snapshot" : "snapshot_2",
"repository" : "my_repository",
"uuid" : "lNeQD1SvTQCqqJUMQSwmGg",
"state" : "SUCCESS",
"include_global_state" : false,
"shards_stats" : {
"initializing" : 0,
"started" : 0,
"finalizing" : 0,
"done" : 1,
"failed" : 0,
"total" : 1
},
"stats" : {
"incremental" : {
"file_count" : 3,
"size_in_bytes" : 5969
},
"total" : {
"file_count" : 4,
"size_in_bytes" : 6024
},
"start_time_in_millis" : 1594829326691,
"time_in_millis" : 205
},
"indices" : {
"index_1" : {
"shards_stats" : {
"initializing" : 0,
"started" : 0,
"finalizing" : 0,
"done" : 1,
"failed" : 0,
"total" : 1
},
"stats" : {
"incremental" : {
"file_count" : 3,
"size_in_bytes" : 5969
},
"total" : {
"file_count" : 4,
"size_in_bytes" : 6024
},
"start_time_in_millis" : 1594829326896,
"time_in_millis" : 0
},
"shards" : {
"0" : {
"stage" : "DONE",
"stats" : {
"incremental" : {
"file_count" : 3,
"size_in_bytes" : 5969
},
"total" : {
"file_count" : 4,
"size_in_bytes" : 6024
},
"start_time_in_millis" : 1594829326896,
"time_in_millis" : 0
}
}
}
}
}
}
]
}