cat shards API

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

  1. データストリームの場合、APIはストリームのバックインデックスに関する情報を返します。
  2. ## Request
  3. `````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

  1. resp = client.cat.shards()
  2. print(resp)

Ruby

  1. response = client.cat.shards
  2. puts response

Js

  1. const response = await client.cat.shards();
  2. console.log(response);

Console

  1. GET _cat/shards

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

Txt

  1. my-index-000001 0 p STARTED 3014 31.1mb 192.168.56.10 H5dfFeA

Example with a wildcard pattern

クラスターに多くのシャードがある場合、<target>パスパラメータにワイルドカードパターンを使用してAPIリクエストを制限できます。

次のリクエストは、my-index-で始まるデータストリームまたはインデックスに関する情報を返します。

Python

  1. resp = client.cat.shards(
  2. index="my-index-*",
  3. )
  4. print(resp)

Ruby

  1. response = client.cat.shards(
  2. index: 'my-index-*'
  3. )
  4. puts response

Js

  1. const response = await client.cat.shards({
  2. index: "my-index-*",
  3. });
  4. console.log(response);

Console

  1. GET _cat/shards/my-index-*

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

Txt

  1. my-index-000001 0 p STARTED 3014 31.1mb 192.168.56.10 H5dfFeA

Example with a relocating shard

Python

  1. resp = client.cat.shards()
  2. print(resp)

Ruby

  1. response = client.cat.shards
  2. puts response

Js

  1. const response = await client.cat.shards();
  2. console.log(response);

Console

  1. GET _cat/shards

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

Txt

  1. my-index-000001 0 p RELOCATING 3014 31.1mb 192.168.56.10 H5dfFeA -> -> 192.168.56.30 bGG90GE
  1. ### Example with a shard states
  2. シャードが使用可能になる前に、`````INITIALIZING`````状態を経ます。cat shards APIを使用して、初期化中のシャードを確認できます。
  3. #### Python
  4. ``````python
  5. resp = client.cat.shards()
  6. print(resp)
  7. `

Ruby

  1. response = client.cat.shards
  2. puts response

Js

  1. const response = await client.cat.shards();
  2. console.log(response);

Console

  1. GET _cat/shards

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

Txt

  1. my-index-000001 0 p STARTED 3014 31.1mb 192.168.56.10 H5dfFeA
  2. my-index-000001 0 r INITIALIZING 0 14.3mb 192.168.56.30 bGG90GE

Example with reasons for unassigned shards

次のリクエストは、シャードが未割り当てである理由を示すunassigned.reason列を返します。

Python

  1. resp = client.cat.shards(
  2. h="index,shard,prirep,state,unassigned.reason",
  3. )
  4. print(resp)

Ruby

  1. response = client.cat.shards(
  2. h: 'index,shard,prirep,state,unassigned.reason'
  3. )
  4. puts response

Js

  1. const response = await client.cat.shards({
  2. h: "index,shard,prirep,state,unassigned.reason",
  3. });
  4. console.log(response);

Console

  1. GET _cat/shards?h=index,shard,prirep,state,unassigned.reason

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

Txt

  1. my-index-000001 0 p STARTED 3014 31.1mb 192.168.56.10 H5dfFeA
  2. my-index-000001 0 r STARTED 3014 31.1mb 192.168.56.30 bGG90GE
  3. my-index-000001 0 r STARTED 3014 31.1mb 192.168.56.20 I8hydUG
  4. my-index-000001 0 r UNASSIGNED ALLOCATION_FAILED