2013-08-28 19:24:34 -04:00
[[cluster-state]]
== Cluster State
The cluster state API allows to get a comprehensive state information of
the whole cluster.
[source,js]
--------------------------------------------------
2017-08-28 05:23:09 -04:00
GET /_cluster/state
2013-08-28 19:24:34 -04:00
--------------------------------------------------
2017-08-28 05:23:09 -04:00
// CONSOLE
2013-08-28 19:24:34 -04:00
2017-03-02 14:20:29 -05:00
The response provides the cluster name, the total compressed size
of the cluster state (its size when serialized for transmission over
the network), and the cluster state itself, which can be filtered to
only retrieve the parts of interest, as described below.
2013-08-28 19:24:34 -04:00
By default, the cluster state request is routed to the master node, to
ensure that the latest cluster state is returned.
For debugging purposes, you can retrieve the cluster state local to a
particular node by adding `local=true` to the query string.
[float]
=== Response Filters
2014-01-08 03:20:56 -05:00
As the cluster state can grow (depending on the number of shards and indices, your mapping, templates),
it is possible to filter the cluster state response specifying the parts in the URL.
2013-08-28 19:24:34 -04:00
2014-01-08 03:20:56 -05:00
[source,js]
--------------------------------------------------
2017-08-28 05:23:09 -04:00
GET /_cluster/state/{metrics}/{indices}
2014-01-08 03:20:56 -05:00
--------------------------------------------------
2017-08-28 05:23:09 -04:00
// CONSOLE
2014-01-08 03:20:56 -05:00
`metrics` can be a comma-separated list of
2014-02-09 20:24:03 -05:00
`version`::
Shows the cluster state version.
`master_node`::
Shows the elected `master_node` part of the response
2014-01-08 03:20:56 -05:00
`nodes`::
Shows the `nodes` part of the response
2013-08-28 19:24:34 -04:00
2014-02-09 20:24:03 -05:00
`routing_table`::
2014-01-08 03:20:56 -05:00
Shows the `routing_table` part of the response. If you supply a comma separated list of indices, the returned output will only contain the indices listed.
2013-08-28 19:24:34 -04:00
2014-01-08 03:20:56 -05:00
`metadata`::
Shows the `metadata` part of the response. If you supply a comma separated list of indices, the returned output will only contain the indices listed.
2013-08-28 19:24:34 -04:00
2014-01-08 03:20:56 -05:00
`blocks`::
Shows the `blocks` part of the response
2013-08-28 19:24:34 -04:00
2017-08-28 05:23:09 -04:00
The following example returns only `metadata` and `routing_table` data for the `foo` and `bar` indices:
2013-08-28 19:24:34 -04:00
[source,js]
--------------------------------------------------
2017-08-28 05:23:09 -04:00
GET /_cluster/state/metadata,routing_table/foo,bar
--------------------------------------------------
// CONSOLE
The next example returns everything for the `foo` and `bar` indices:
2014-01-08 03:20:56 -05:00
2017-08-28 05:23:09 -04:00
[source,js]
--------------------------------------------------
GET /_cluster/state/_all/foo,bar
--------------------------------------------------
// CONSOLE
2014-01-08 03:20:56 -05:00
2017-08-28 05:23:09 -04:00
And this example return only `blocks` data:
[source,js]
2013-08-28 19:24:34 -04:00
--------------------------------------------------
2017-08-28 05:23:09 -04:00
GET /_cluster/state/blocks
--------------------------------------------------
// CONSOLE
2014-01-08 03:20:56 -05:00