cat shards API
cat APIは、コマンドラインまたはKibanaコンソールを使用して人間が消費することを目的としています。アプリケーションによる使用は意図されていません。
データストリームの場合、APIはストリームのバックインデックスに関する情報を返します。
## Request
`````GET /_cat/shards/<target>
GET /_cat/shards
Prerequisites
- Elasticsearchのセキュリティ機能が有効になっている場合、このAPIを使用するには
monitor
またはmanage
クラスタ特権が必要です。また、取得するデータストリーム、インデックス、またはエイリアスに対してmonitor
またはmanage
インデックス特権も必要です。
Path parameters
<target>
- (オプション、文字列) リクエストを制限するために使用されるデータストリーム、インデックス、およびエイリアスのカンマ区切りリスト。ワイルドカード(
*
)をサポートします。すべてのデータストリームとインデックスを対象とするには、このパラメータを省略するか、*
または_all
を使用します。
Query parameters
bytes
- (オプション、バイトサイズ単位) バイト値を表示するために使用される単位。
format
- (オプション、文字列) HTTP受け入れヘッダーの短縮版。 有効な値にはJSON、YAMLなどが含まれます。
h
- (オプション、文字列) 表示する列名のカンマ区切りリスト。
列を指定しない場合、APIは以下にリストされたデフォルトの列を返します。1つ以上の列を明示的に指定した場合、指定された列のみを返します。
有効な列は:index
,i
,idx
- (デフォルト) インデックスの名前。
shard
,s
,sh
- (デフォルト) シャードの名前。
prirep
,p
,pr
,primaryOrReplica
- (デフォルト) シャードタイプ。返される値は
primary
またはreplica
です。 state
,st
- (デフォルト) シャードの状態。返される値は:
INITIALIZING
: シャードがピアシャードまたはゲートウェイから回復中です。RELOCATING
: シャードが移動中です。STARTED
: シャードが開始されました。UNASSIGNED
: シャードがどのノードにも割り当てられていません。
docs
,d
,dc
- (デフォルト) シャード内のドキュメントの数、例えば
25
。 store
,sto
- (デフォルト) シャードによって使用されるディスクスペース、例えば
5kb
。 dataset.size
- (デフォルト) シャードのデータセットによって使用されるディスクスペース。これはディスク上のサイズである場合もあれば、そうでない場合もありますが、オブジェクトストレージ上のシャードによって使用されるスペースを含みます。サイズ値として
5kb
のように報告されます。 ip
- (デフォルト) ノードのIPアドレス、例えば
127.0.1.1
。 id
- (デフォルト) ノードのID、例えば
k0zy
。 node
,n
- (デフォルト) ノード名、例えば
I8hydUG
。 completion.size
,cs
,completionSize
- 完了のサイズ、例えば
0b
。 dense_vector.value_count
,dvc
,denseVectorCount
- インデックスされた密なベクトルの数。
fielddata.memory_size
,fm
,fielddataMemory
- 使用されたフィールドデータキャッシュメモリ、例えば
0b
。 fielddata.evictions
,fe
,fielddataEvictions
- フィールドデータキャッシュの排出、例えば
0
。 flush.total
,ft
,flushTotal
- フラッシュの数、例えば
1
。 flush.total_time
,ftt
,flushTotalTime
- フラッシュに費やした時間、例えば
1
。 get.current
,gc
,getCurrent
- 現在の取得操作の数、例えば
0
。 get.time
,gti
,getTime
- 取得に費やした時間、例えば
14ms
。 get.total
,gto
,getTotal
- 取得操作の数、例えば
2
。 get.exists_time
,geti
,getExistsTime
- 成功した取得に費やした時間、例えば
14ms
。 get.exists_total
,geto
,getExistsTotal
- 成功した取得操作の数、例えば
2
。 get.missing_time
,gmti
,getMissingTime
- 失敗した取得に費やした時間、例えば
0s
。 get.missing_total
,gmto
,getMissingTotal
- 失敗した取得操作の数、例えば
1
。 indexing.delete_current
,idc
,indexingDeleteCurrent
- 現在の削除操作の数、例えば
0
。 indexing.delete_time
,idti
,indexingDeleteTime
- 削除に費やした時間、例えば
2ms
。 indexing.delete_total
,idto
,indexingDeleteTotal
- 削除操作の数、例えば
2
。 indexing.index_current
,iic
,indexingIndexCurrent
- 現在のインデックス作成操作の数、例えば
0
。 indexing.index_time
,iiti
,indexingIndexTime
- インデックス作成に費やした時間、例えば
134ms
。 indexing.index_total
,iito
,indexingIndexTotal
- インデックス作成操作の数、例えば
1
。 indexing.index_failed
,iif
,indexingIndexFailed
- 失敗したインデックス作成操作の数、例えば
0
。 merges.current
,mc
,mergesCurrent
- 現在のマージ操作の数、例えば
0
。 merges.current_docs
,mcd
,mergesCurrentDocs
- 現在のマージドキュメントの数、例えば
0
。 merges.current_size
,mcs
,mergesCurrentSize
- 現在のマージのサイズ、例えば
0b
。 merges.total
,mt
,mergesTotal
- 完了したマージ操作の数、例えば
0
。 merges.total_docs
,mtd
,mergesTotalDocs
- マージされたドキュメントの数、例えば
0
。 merges.total_size
,mts
,mergesTotalSize
- 現在のマージのサイズ、例えば
0b
。 merges.total_time
,mtt
,mergesTotalTime
- ドキュメントのマージに費やした時間、例えば
0s
。 query_cache.memory_size
,qcm
,queryCacheMemory
- 使用されたクエリキャッシュメモリ、例えば
0b
。 query_cache.evictions
,qce
,queryCacheEvictions
- クエリキャッシュの排出、例えば
0
。 recoverysource.type
,rs
- 回復ソースのタイプ。
refresh.total
,rto
,refreshTotal
- リフレッシュの数、例えば
16
。 refresh.time
,rti
,refreshTime
- リフレッシュに費やした時間、例えば
91ms
。 search.fetch_current
,sfc
,searchFetchCurrent
- 現在のフェッチフェーズ操作、例えば
0
。 search.fetch_time
,sfti
,searchFetchTime
- フェッチフェーズに費やした時間、例えば
37ms
。 search.fetch_total
,sfto
,searchFetchTotal
- フェッチ操作の数、例えば
7
。 search.open_contexts
,so
,searchOpenContexts
- オープンサーチコンテキスト、例えば
0
。 search.query_current
,sqc
,searchQueryCurrent
- 現在のクエリフェーズ操作、例えば
0
。 search.query_time
,sqti
,searchQueryTime
- クエリフェーズに費やした時間、例えば
43ms
。 search.query_total
,sqto
,searchQueryTotal
- クエリ操作の数、例えば
9
。 search.scroll_current
,scc
,searchScrollCurrent
- オープンスクロールコンテキスト、例えば
2
。 search.scroll_time
,scti
,searchScrollTime
- スクロールコンテキストがオープンされている時間、例えば
2m
。 search.scroll_total
,scto
,searchScrollTotal
- 完了したスクロールコンテキスト、例えば
1
。 segments.count
,sc
,segmentsCount
- セグメントの数、例えば
4
。 segments.memory
,sm
,segmentsMemory
- セグメントによって使用されるメモリ、例えば
1.4kb
。 segments.index_writer_memory
,siwm
,segmentsIndexWriterMemory
- インデックスライターによって使用されるメモリ、例えば
18mb
。 segments.version_map_memory
,svmm
,segmentsVersionMapMemory
- バージョンマップによって使用されるメモリ、例えば
1.0kb
。 segments.fixed_bitset_memory
,sfbm
,fixedBitsetMemory
- ネストされたオブジェクトフィールドタイプおよび
join
フィールドで参照されるタイプフィルターのための固定ビットセットによって使用されるメモリ、例えば1.0kb
。 seq_no.global_checkpoint
,sqg
,globalCheckpoint
- グローバルチェックポイント。
seq_no.local_checkpoint
,sql
,localCheckpoint
- ローカルチェックポイント。
seq_no.max
,sqm
,maxSeqNo
- 最大シーケンス番号。
sparse_vector.value_count
,svc
,sparseVectorCount
- インデックスされたsparse vectorsの数。
suggest.current
,suc
,suggestCurrent
- 現在のサジェスト操作の数、例えば
0
。 suggest.time
,suti
,suggestTime
- サジェストに費やした時間、例えば
0
。 suggest.total
,suto
,suggestTotal
- サジェスト操作の数、例えば
0
。 sync_id
- シャードの同期ID。
unassigned.at
,ua
- シャードが協調世界時(UTC)で未割り当てになった時刻。
unassigned.details
,ud
- シャードが未割り当てになった理由に関する詳細。これは、シャードが現在未割り当てである理由を説明するものではありません。シャードが割り当てられていない理由を理解するには、クラスタ割り当ての説明 APIを使用してください。
unassigned.for
,uf
- シャードが協調世界時(UTC)で未割り当てにするよう要求された時刻。
unassigned.reason
,ur
- この未割り当てシャードの状態の最後の変更の理由を示します。これは、シャードが現在未割り当てである理由を説明するものではありません。シャードが割り当てられていない理由を理解するには、クラスタ割り当ての説明 APIを使用してください。返される値には次のものが含まれます:
ALLOCATION_FAILED
: シャードの割り当ての失敗の結果として未割り当て。CLUSTER_RECOVERED
: クラスタの回復が完了した結果として未割り当て。DANGLING_INDEX_IMPORTED
: ダングリングインデックスのインポートの結果として未割り当て。EXISTING_INDEX_RESTORED
: 閉じたインデックスへの復元の結果として未割り当て。FORCED_EMPTY_PRIMARY
: シャードの割り当てが、クラスタの再ルート APIを使用して空のプライマリを強制することによって最後に変更されました。INDEX_CLOSED
: インデックスが閉じられたため未割り当て。INDEX_CREATED
: APIによるインデックスの作成の結果として未割り当て。INDEX_REOPENED
: 閉じたインデックスを開くことの結果として未割り当て。MANUAL_ALLOCATION
: シャードの割り当てが、クラスタの再ルート APIによって最後に変更されました。NEW_INDEX_RESTORED
: 新しいインデックスへの復元の結果として未割り当て。NODE_LEFT
: ホスティングしているノードがクラスタを離れた結果として未割り当て。NODE_RESTARTING
:NODE_LEFT
に似ていますが、ノードはノードシャットダウンAPIを使用して再起動中として登録されました。PRIMARY_FAILED
: シャードがレプリカとして初期化中でしたが、プライマリシャードが初期化を完了する前に失敗しました。REALLOCATED_REPLICA
: より良いレプリカの場所が特定され、既存のレプリカの割り当てがキャンセルされます。REINITIALIZED
: シャードが開始から初期化に戻るとき。REPLICA_ADDED
: レプリカの明示的な追加の結果として未割り当て。REROUTE_CANCELLED
: 明示的なキャンセル再ルートコマンドの結果として未割り当て。
help
- (オプション、ブール値)
true
の場合、応答にはヘルプ情報が含まれます。デフォルトはfalse
です。 master_timeout
- (オプション、時間単位) マスターノードを待つ期間。タイムアウトが切れる前にマスターノードが利用できない場合、リクエストは失敗し、エラーが返されます。デフォルトは
30s
です。リクエストが決してタイムアウトしないことを示すために-1
に設定することもできます。 s
- (オプション、文字列) 応答をソートするために使用される列名または列エイリアスのカンマ区切りリスト。
time
- (オプション、時間単位) 時間値を表示するために使用される単位。
v
- (オプション、ブール値)
true
の場合、応答には列見出しが含まれます。デフォルトはfalse
です。
Examples
Example with a single data stream or index
Python
resp = client.cat.shards()
print(resp)
Ruby
response = client.cat.shards
puts response
Js
const response = await client.cat.shards();
console.log(response);
Console
GET _cat/shards
APIは次の応答を返します:
Txt
my-index-000001 0 p STARTED 3014 31.1mb 192.168.56.10 H5dfFeA
Example with a wildcard pattern
クラスターに多くのシャードがある場合、<target>
パスパラメータにワイルドカードパターンを使用してAPIリクエストを制限できます。
次のリクエストは、my-index-
で始まるデータストリームまたはインデックスに関する情報を返します。
Python
resp = client.cat.shards(
index="my-index-*",
)
print(resp)
Ruby
response = client.cat.shards(
index: 'my-index-*'
)
puts response
Js
const response = await client.cat.shards({
index: "my-index-*",
});
console.log(response);
Console
GET _cat/shards/my-index-*
APIは次の応答を返します:
Txt
my-index-000001 0 p STARTED 3014 31.1mb 192.168.56.10 H5dfFeA
Example with a relocating shard
Python
resp = client.cat.shards()
print(resp)
Ruby
response = client.cat.shards
puts response
Js
const response = await client.cat.shards();
console.log(response);
Console
GET _cat/shards
APIは次の応答を返します:
Txt
my-index-000001 0 p RELOCATING 3014 31.1mb 192.168.56.10 H5dfFeA -> -> 192.168.56.30 bGG90GE
### Example with a shard states
シャードが使用可能になる前に、`````INITIALIZING`````状態を経ます。cat shards APIを使用して、初期化中のシャードを確認できます。
#### Python
``````python
resp = client.cat.shards()
print(resp)
`
Ruby
response = client.cat.shards
puts response
Js
const response = await client.cat.shards();
console.log(response);
Console
GET _cat/shards
APIは次の応答を返します:
Txt
my-index-000001 0 p STARTED 3014 31.1mb 192.168.56.10 H5dfFeA
my-index-000001 0 r INITIALIZING 0 14.3mb 192.168.56.30 bGG90GE
Example with reasons for unassigned shards
次のリクエストは、シャードが未割り当てである理由を示すunassigned.reason
列を返します。
Python
resp = client.cat.shards(
h="index,shard,prirep,state,unassigned.reason",
)
print(resp)
Ruby
response = client.cat.shards(
h: 'index,shard,prirep,state,unassigned.reason'
)
puts response
Js
const response = await client.cat.shards({
h: "index,shard,prirep,state,unassigned.reason",
});
console.log(response);
Console
GET _cat/shards?h=index,shard,prirep,state,unassigned.reason
APIは次の応答を返します:
Txt
my-index-000001 0 p STARTED 3014 31.1mb 192.168.56.10 H5dfFeA
my-index-000001 0 r STARTED 3014 31.1mb 192.168.56.30 bGG90GE
my-index-000001 0 r STARTED 3014 31.1mb 192.168.56.20 I8hydUG
my-index-000001 0 r UNASSIGNED ALLOCATION_FAILED