cat allocation API

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

各データノードに割り当てられたシャードの数とそのディスクスペースのスナップショットを提供します。

Request

GET /_cat/allocation/<node_id>

GET /_cat/allocation

Prerequisites

  • Elasticsearchのセキュリティ機能が有効になっている場合、このAPIを使用するにはmonitorまたはmanage クラスタ特権が必要です。

Path parameters

  • <node_id>
  • (オプション、文字列)返される情報を制限するために使用されるノードIDまたは名前のカンマ区切りリスト。

Query parameters

  • bytes
  • (オプション、バイトサイズ単位)バイト値を表示するために使用される単位。
  • format
  • (オプション、文字列)HTTP受け入れヘッダーの短縮版。 有効な値にはJSON、YAMLなどが含まれます。
  • local
  • (オプション、ブール値)trueの場合、リクエストはローカルノードからのみ情報を取得します。 デフォルトはfalseで、これはマスターノードから情報が取得されることを意味します。
  • master_timeout
  • (オプション、時間単位)マスターノードを待機する期間。 タイムアウトが切れる前にマスターノードが利用できない場合、リクエストは失敗し、エラーが返されます。 デフォルトは30sです。 リクエストが決してタイムアウトしないことを示すために-1に設定することもできます。
  • h
  • (オプション、文字列)表示する列名のカンマ区切りリスト。
  • help
  • (オプション、ブール値)trueの場合、レスポンスにはヘルプ情報が含まれます。 デフォルトはfalseです。
  • s
  • (オプション、文字列)レスポンスをソートするために使用される列名または列エイリアスのカンマ区切りリスト。
  • v
  • (オプション、ブール値)trueの場合、レスポンスには列見出しが含まれます。 デフォルトはfalseです。

Response body

  • shards
  • ノードに割り当てられたプライマリおよびレプリカシャードの数。
  • shards.undesired
  • クラスタ内の他の場所に移動する予定のシャードの量、または-1は希望するバランスアロケーターが使用されていることを示します。
  • write_load.forecast
  • インデックス書き込み負荷予測の合計
  • disk.indices.forecast
  • シャードサイズ予測の合計
  • disk.indices
  • ノードのシャードによって使用されるディスクスペース。 translogや未割り当てシャードのディスクスペースは含まれません。
    このメトリックは、縮小分割、またはクローンインデックスを作成する際に作成されたハードリンクファイルのディスクスペースを二重計上します。
  • disk.used
  • 使用中の総ディスクスペース。 Elasticsearchはこのメトリックをノードのオペレーティングシステム(OS)から取得します。 メトリックには次のディスクスペースが含まれます:
    • Elasticsearch、translogおよび未割り当てシャード
    • ノードのOS
    • ノード上の他のアプリケーションまたはファイル
      disk.indicesとは異なり、このメトリックはハードリンクファイルのディスクスペースを二重計上しません。
  • disk.avail
  • Elasticsearchに利用可能な空きディスクスペース。 ElasticsearchはこのメトリックをノードのOSから取得します。ディスクベースのシャード割り当ては、このメトリックを使用して利用可能なディスクスペースに基づいてシャードをノードに割り当てます。
  • disk.total
  • ノードの総ディスクスペース、使用中のスペースと利用可能なスペースを含みます。
  • disk.percent
  • 使用中のディスクスペースの総割合。 disk.used / disk.totalとして計算されます。
  • host
  • ノードのネットワークホスト。 network.hostを使用して設定されます。
  • ip
  • ノードのIPアドレスとポート。
  • node
  • ノードの名前。 node.nameを使用して設定されます。
  • node.role, r, role, nodeRole
  • ノードの役割

Examples

Python

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

Ruby

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

Js

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

Console

  1. GET /_cat/allocation?v=true

APIは次のレスポンスを返します:

Txt

  1. shards shards.undesired write_load.forecast disk.indices.forecast disk.indices disk.used disk.avail disk.total disk.percent host ip node node.role
  2. 1 0 0.0 260b 260b 47.3gb 43.4gb 100.7gb 46 127.0.0.1 127.0.0.1 CSUXak2 himrst

このレスポンスは、1つのシャードが利用可能な1つのノードに割り当てられていることを示しています。