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
resp = client.cat.allocation(
v=True,
)
print(resp)
Ruby
response = client.cat.allocation(
v: true
)
puts response
Js
const response = await client.cat.allocation({
v: "true",
});
console.log(response);
Console
GET /_cat/allocation?v=true
APIは次のレスポンスを返します:
Txt
shards shards.undesired write_load.forecast disk.indices.forecast disk.indices disk.used disk.avail disk.total disk.percent host ip node node.role
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つのノードに割り当てられていることを示しています。