[[cluster-nodes-stats]]
=== Nodes stats API
++++
Nodes stats
++++
Returns cluster nodes statistics.
[[cluster-nodes-stats-api-request]]
==== {api-request-title}
`GET /_nodes/stats` +
`GET /_nodes//stats` +
`GET/_nodes/stats/` +
`GET/_nodes//stats/` +
`GET /_nodes/stats//` +
`GET /_nodes//stats//`
[[cluster-nodes-stats-api-desc]]
==== {api-description-title}
You can use the cluster nodes stats API to retrieve statistics for nodes in a cluster.
All the nodes selective options are explained <>.
By default, all stats are returned. You can limit the returned information by
using metrics.
[[cluster-nodes-stats-api-path-params]]
==== {api-path-parms-title}
``::
(Optional, string) Limits the information returned to the specific metrics.
A comma-separated list of the following options:
+
--
`adaptive_selection`::
Statistics about <>.
`breaker`::
Statistics about the field data circuit breaker.
`discovery`::
Statistics about the discovery.
`fs`::
File system information, data path, free disk space, read/write
stats.
`http`::
HTTP connection information.
`indices`::
Indices stats about size, document count, indexing and deletion times,
search times, field cache size, merges and flushes.
`ingest`::
Statistics about ingest preprocessing.
`jvm`::
JVM stats, memory pool information, garbage collection, buffer
pools, number of loaded/unloaded classes.
`os`::
Operating system stats, load average, mem, swap.
`process`::
Process statistics, memory consumption, cpu usage, open
file descriptors.
`thread_pool`::
Statistics about each thread pool, including current size, queue and
rejected tasks.
`transport`::
Transport statistics about sent and received bytes in cluster
communication.
--
``::
(Optional, string) Limit the information returned for `indices` metric to
the specific index metrics. It can be used only if `indices` (or `all`)
metric is specified. Supported metrics are:
+
--
* `completion`
* `docs`
* `fielddata`
* `flush`
* `get`
* `indexing`
* `merge`
* `query_cache`
* `recovery`
* `refresh`
* `request_cache`
* `search`
* `segments`
* `store`
* `translog`
* `warmer`
--
include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=node-id]
[[cluster-nodes-stats-api-query-params]]
==== {api-query-parms-title}
include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=completion-fields]
include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=fielddata-fields]
include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=fields]
include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=groups]
include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=level]
`types`::
(Optional, string) A comma-separated list of document types for the
`indexing` index metric.
include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=timeoutparms]
include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=include-segment-file-sizes]
[role="child_attributes"]
[[cluster-nodes-stats-api-response-body]]
==== {api-response-body-title}
`_nodes`::
(object)
Contains statistics about the number of nodes selected by the request.
+
.Properties of `_nodes`
[%collapsible%open]
====
`total`::
(integer)
Total number of nodes selected by the request.
`successful`::
(integer)
Number of nodes that responded successfully to the request.
`failed`::
(integer)
Number of nodes that rejected the request or failed to respond. If this value
is not `0`, a reason for the rejection or failure is included in the response.
====
`cluster_name`::
(string)
Name of the cluster. Based on the <> setting.
`nodes`::
(object)
Contains statistics for the nodes selected by the request.
+
.Properties of `nodes`
[%collapsible%open]
====
``::
(object)
Contains statistics for the node.
+
.Properties of ``
[%collapsible%open]
=====
`timestamp`::
(integer)
Time the node stats were collected for this response. Recorded in milliseconds
since the https://en.wikipedia.org/wiki/Unix_time[Unix Epoch].
`name`::
(string)
Human-readable identifier for the node. Based on the <> setting.
`transport_address`::
(string)
Host and port for the <>, used for internal
communication between nodes in a cluster.
`host`::
(string)
Network host for the node, based on the <> setting.
`ip`::
(string)
IP address and port for the node.
`roles`::
(array of strings)
Roles assigned to the node. See <>.
`attributes`::
(object)
Contains a list of attributes for the node.
[[cluster-nodes-stats-api-response-body-indices]]
`indices`::
(object)
Contains statistics about indices with shards assigned to the node.
+
.Properties of `indices`
[%collapsible%open]
======
`docs`::
(object)
Contains statistics about documents across all primary shards assigned to the
node.
+
.Properties of `docs`
[%collapsible%open]
=======
`count`::
(integer)
include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=docs-count]
`deleted`::
(integer)
include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=docs-deleted]
=======
`store`::
(object)
Contains statistics about the size of shards assigned to the node.
+
.Properties of `store`
[%collapsible%open]
=======
`size`::
(<>)
Total size of all shards assigned to the node.
`size_in_bytes`::
(integer)
Total size, in bytes, of all shards assigned to the node.
`reserved`::
(<>)
A prediction of how much larger the shard stores on this node will eventually
grow due to ongoing peer recoveries, restoring snapshots, and similar
activities. A value of `-1b` indicates that this is not available.
`reserved_in_bytes`::
(integer)
A prediction, in bytes, of how much larger the shard stores on this node will
eventually grow due to ongoing peer recoveries, restoring snapshots, and
similar activities. A value of `-1` indicates that this is not available.
=======
`indexing`::
(object)
Contains statistics about indexing operations for the node.
+
.Properties of `indexing`
[%collapsible%open]
=======
`index_total`::
(integer)
Total number of indexing operations.
`index_time`::
(<>)
Total time spent performing indexing operations.
`index_time_in_millis`::
(integer)
Total time in milliseconds
spent performing indexing operations.
`index_current`::
(integer)
Number of indexing operations currently running.
`index_failed`::
(integer)
Number of failed indexing operations.
`delete_total`::
(integer)
Total number of deletion operations.
`delete_time`::
(<>)
Time spent performing deletion operations.
`delete_time_in_millis`::
(integer)
Time in milliseconds
spent performing deletion operations.
`delete_current`::
(integer)
Number of deletion operations currently running.
`noop_update_total`::
(integer)
Total number of noop operations.
`is_throttled`::
(boolean)
Number of times
operations were throttled.
`throttle_time`::
(<>)
Total time spent throttling operations.
`throttle_time_in_millis`::
(integer)
Total time in milliseconds
spent throttling operations.
=======
`get`::
(object)
Contains statistics about get operations for the node.
+
.Properties of `get`
[%collapsible%open]
=======
`total`::
(integer)
Total number of get operations.
`getTime`::
(<>)
Time spent performing get operations.
`time_in_millis`::
(integer)
Time in milliseconds
spent performing get operations.
`exists_total`::
(integer)
Total number of successful get operations.
`exists_time`::
(<>)
Time spent performing successful get operations.
`exists_time_in_millis`::
(integer)
Time in milliseconds
spent performing successful get operations.
`missing_total`::
(integer)
Total number of failed get operations.
`missing_time`::
(<>)
Time spent performing failed get operations.
`missing_time_in_millis`::
(integer)
Time in milliseconds
spent performing failed get operations.
`current`::
(integer)
Number of get operations currently running.
=======
`search`::
(object)
Contains statistics about search operations for the node.
+
.Properties of `search`
[%collapsible%open]
=======
`open_contexts`::
(integer)
Number of open search contexts.
`query_total`::
(integer)
Total number of query operations.
`query_time`::
(<>)
Time spent performing query operations.
`query_time_in_millis`::
(integer)
Time in milliseconds
spent performing query operations.
`query_current`::
(integer)
Number of query operations currently running.
`fetch_total`::
(integer)
Total number of fetch operations.
`fetch_time`::
(<>)
Time spent performing fetch operations.
`fetch_time_in_millis`::
(integer)
Time in milliseconds
spent performing fetch operations.
`fetch_current`::
(integer)
Number of fetch operations currently running.
`scroll_total`::
(integer)
Total number of scroll operations.
`scroll_time`::
(<>)
Time spent performing scroll operations.
`scroll_time_in_millis`::
(integer)
Time in milliseconds
spent performing scroll operations.
`scroll_current`::
(integer)
Number of scroll operations currently running.
`suggest_total`::
(integer)
Total number of suggest operations.
`suggest_time`::
(<>)
Time spent performing suggest operations.
`suggest_time_in_millis`::
(integer)
Time in milliseconds
spent performing suggest operations.
`suggest_current`::
(integer)
Number of suggest operations currently running.
=======
`merges`::
(object)
Contains statistics about merge operations for the node.
+
.Properties of `merges`
[%collapsible%open]
=======
`current`::
(integer)
Number of merge operations currently running.
`current_docs`::
(integer)
Number of document merges currently running.
`current_size`::
(<>)
Memory used performing current document merges.
`current_size_in_bytes`::
(integer)
Memory, in bytes, used performing current document merges.
`total`::
(integer)
Total number of merge operations.
`total_time`::
(<>)
Total time spent performing merge operations.
`total_time_in_millis`::
(integer)
Total time in milliseconds
spent performing merge operations.
`total_docs`::
(integer)
Total number of merged documents.
`total_size`::
(<>)
Total size of document merges.
`total_size_in_bytes`::
(integer)
Total size of document merges in bytes.
`total_stopped_time`::
(<>)
Total time spent stopping merge operations.
`total_stopped_time_in_millis`::
(integer)
Total time in milliseconds
spent stopping merge operations.
`total_throttled_time`::
(<>)
Total time spent throttling merge operations.
`total_throttled_time_in_millis`::
(integer)
Total time in milliseconds
spent throttling merge operations.
`total_auto_throttle`::
(<>)
Size of automatically throttled merge operations.
`total_auto_throttle_in_bytes`::
(integer)
Size, in bytes, of automatically throttled merge operations.
=======
`refresh`::
(object)
Contains statistics about refresh operations for the node.
+
.Properties of `refresh`
[%collapsible%open]
=======
`total`::
(integer)
Total number of refresh operations.
`total_time`::
(<>)
Total time spent performing refresh operations.
`total_time_in_millis`::
(integer)
Total time in milliseconds
spent performing refresh operations.
`external_total`::
(integer)
Total number of external refresh operations.
`external_total_time`::
(<>)
Total time spent performing external operations.
`external_total_time_in_millis`::
(integer)
Total time in milliseconds
spent performing external operations.
`listeners`::
(integer)
Number of refresh listeners.
=======
`flush`::
(object)
Contains statistics about flush operations for the node.
+
.Properties of `flush`
[%collapsible%open]
=======
`total`::
(integer)
Number of flush operations.
`periodic`::
(integer)
Number of flush periodic operations.
`total_time`::
(<>)
Total time spent performing flush operations.
`total_time_in_millis`::
(integer)
Total time in milliseconds
spent performing flush operations.
=======
`warmer`::
(object)
Contains statistics about index warming operations for the node.
+
.Properties of `warmer`
[%collapsible%open]
=======
`current`::
(integer)
Number of active index warmers.
`total`::
(integer)
Total number of index warmers.
`total_time`::
(<>)
Total time spent performing index warming operations.
`total_time_in_millis`::
(integer)
Total time in milliseconds
spent performing index warming operations.
=======
`query_cache`::
(object)
Contains statistics about the query cache across all shards assigned to the
node.
+
.Properties of `query_cache`
[%collapsible%open]
=======
`memory_size`::
(<>)
Total amount of memory used for the query cache across all shards assigned to
the node.
`memory_size_in_bytes`::
(integer)
Total amount of memory, in bytes, used for the query cache across all shards
assigned to the node.
`total_count`::
(integer)
Total count of hits, misses, and cached queries
in the query cache.
`hit_count`::
(integer)
Number of query cache hits.
`miss_count`::
(integer)
Number of query cache misses.
`cache_size`::
(integer)
Size, in bytes, of the query cache.
`cache_count`::
(integer)
Count of queries
in the query cache.
`evictions`::
(integer)
Number of query cache evictions.
=======
`fielddata`::
(object)
Contains statistics about the field data cache across all shards
assigned to the node.
+
.Properties of `fielddata`
[%collapsible%open]
=======
`memory_size`::
(<>)
Total amount of memory used for the field data cache across all shards
assigned to the node.
`memory_size_in_bytes`::
(integer)
Total amount of memory, in bytes, used for the field data cache across all
shards assigned to the node.
`evictions`::
(integer)
Number of fielddata evictions.
=======
`completion`::
(object)
Contains statistics about completions across all shards assigned to the node.
+
.Properties of `completion`
[%collapsible%open]
=======
`size`::
(<>)
Total amount of memory used for completion across all shards assigned to
the node.
`size_in_bytes`::
(integer)
Total amount of memory, in bytes, used for completion across all shards assigned
to the node.
=======
`segments`::
(object)
Contains statistics about segments across all shards assigned to the node.
+
.Properties of `segments`
[%collapsible%open]
=======
`count`::
(integer)
Number of segments.
`memory`::
(<>)
Total amount of memory used for segments across all shards assigned to the
node.
`memory_in_bytes`::
(integer)
Total amount of memory, in bytes, used for segments across all shards assigned
to the node.
`terms_memory`::
(<>)
Total amount of memory used for terms across all shards assigned to the node.
`terms_memory_in_bytes`::
(integer)
Total amount of memory, in bytes, used for terms across all shards assigned to
the node.
`stored_fields_memory`::
(<>)
Total amount of memory used for stored fields across all shards assigned to
the node.
`stored_fields_memory_in_bytes`::
(integer)
Total amount of memory, in bytes, used for stored fields across all shards
assigned to the node.
`term_vectors_memory`::
(<>)
Total amount of memory used for term vectors across all shards assigned to
the node.
`term_vectors_memory_in_bytes`::
(integer)
Total amount of memory, in bytes, used for term vectors across all shards
assigned to the node.
`norms_memory`::
(<>)
Total amount of memory used for normalization factors across all shards assigned
to the node.
`norms_memory_in_bytes`::
(integer)
Total amount of memory, in bytes, used for normalization factors across all
shards assigned to the node.
`points_memory`::
(<>)
Total amount of memory used for points across all shards assigned to the node.
`points_memory_in_bytes`::
(integer)
Total amount of memory, in bytes, used for points across all shards assigned to
the node.
`doc_values_memory`::
(<>)
Total amount of memory used for doc values across all shards assigned to
the node.
`doc_values_memory_in_bytes`::
(integer)
Total amount of memory, in bytes, used for doc values across all shards assigned
to the node.
`index_writer_memory`::
(<>)
Total amount of memory used by all index writers across all shards assigned to
the node.
`index_writer_memory_in_bytes`::
(integer)
Total amount of memory, in bytes, used by all index writers across all shards
assigned to the node.
`version_map_memory`::
(<>)
Total amount of memory used by all version maps across all shards assigned to
the node.
`version_map_memory_in_bytes`::
(integer)
Total amount of memory, in bytes, used by all version maps across all shards
assigned to the node.
`fixed_bit_set`::
(<>)
Total amount of memory used by fixed bit sets across all shards assigned to
the node.
+
Fixed bit sets are used for nested object field types and
type filters for <> fields.
`fixed_bit_set_memory_in_bytes`::
(integer)
Total amount of memory, in bytes, used by fixed bit sets across all shards
assigned to the node.
+
Fixed bit sets are used for nested object field types and
type filters for <> fields.
`max_unsafe_auto_id_timestamp`::
(integer)
Time of the most recently retried indexing request. Recorded in milliseconds
since the https://en.wikipedia.org/wiki/Unix_time[Unix Epoch].
`file_sizes`::
(object)
Contains statistics about the size of the segment file.
+
.Properties of `file_sizes`
[%collapsible%open]
========
`size`::
(<>)
Size of the segment file.
`size_in_bytes`::
(integer)
Size, in bytes,
of the segment file.
`description`::
(string)
Description of the segment file.
========
=======
`translog`::
(object)
Contains statistics about transaction log operations for the node.
+
.Properties of `translog`
[%collapsible%open]
=======
`operations`::
(integer)
Number of transaction log operations.
`size`::
(<>)
Size of the transaction log.
`size_in_bytes`::
(integer)
Size, in bytes, of the transaction log.
`uncommitted_operations`::
(integer)
Number of uncommitted transaction log operations.
`uncommitted_size`::
(<>)
Size of uncommitted transaction log operations.
`uncommitted_size_in_bytes`::
(integer)
Size, in bytes, of uncommitted transaction log operations.
`earliest_last_modified_age`::
(integer)
Earliest last modified age
for the transaction log.
=======
`request_cache`::
(object)
Contains statistics about the request cache across all shards assigned to the
node.
+
.Properties of `request_cache`
[%collapsible%open]
=======
`memory_size`::
(<>)
Memory used by the request cache.
`memory_size_in_bytes`::
(integer)
Memory, in bytes, used by the request cache.
`evictions`::
(integer)
Number of request cache operations.
`hit_count`::
(integer)
Number of request cache hits.
`miss_count`::
(integer)
Number of request cache misses.
=======
`recovery`::
(object)
Contains statistics about recovery operations for the node.
+
.Properties of `recovery`
[%collapsible%open]
=======
`current_as_source`::
(integer)
Number of recoveries
that used an index shard as a source.
`current_as_target`::
(integer)
Number of recoveries
that used an index shard as a target.
`throttle_time`::
(<>)
Time by which recovery operations were delayed due to throttling.
`throttle_time_in_millis`::
(integer)
Time in milliseconds
recovery operations were delayed due to throttling.
=======
======
[[cluster-nodes-stats-api-response-body-os]]
`os`::
(object)
Contains statistics about the operating system for the node.
+
.Properties of `os`
[%collapsible%open]
======
`timestamp`::
(integer)
Last time the operating system statistics were refreshed. Recorded in
milliseconds since the https://en.wikipedia.org/wiki/Unix_time[Unix Epoch].
`cpu`::
(object)
Contains statistics about CPU usage for the node.
+
.Properties of `cpu`
[%collapsible%open]
=======
`percent`::
(integer)
Recent CPU usage for the whole system, or `-1` if not supported.
`load_average`::
(object)
Contains statistics about load averages on the system.
+
.Properties of `load_average`
[%collapsible%open]
========
`1m`::
(float)
One-minute load average on the system (field is not present if one-minute load
average is not available).
`5m`::
(float)
Five-minute load average on the system (field is not present if five-minute load
average is not available).
`15m`::
(float)
Fifteen-minute load average on the system (field is not present if
fifteen-minute load average is not available).
========
=======
`mem`::
(object)
Contains statistics about memory usage for the node.
+
.Properties of `mem`
[%collapsible%open]
=======
`total`::
(<>)
Total amount of physical memory.
`total_in_bytes`::
(integer)
Total amount of physical memory in bytes.
`free`::
(<>)
Amount of free physical memory.
`free_in_bytes`::
(integer)
Amount of free physical memory in bytes.
`used`::
(<>)
Amount of used physical memory.
`used_in_bytes`::
(integer)
Amount of used physical memory in bytes.
`free_percent`::
(integer)
Percentage of free memory.
`used_percent`::
(integer)
Percentage of used memory.
=======
`swap`::
(object)
Contains statistics about swap space for the node.
+
.Properties of `swap`
[%collapsible%open]
=======
`total`::
(<>)
Total amount of swap space.
`total_in_bytes`::
(integer)
Total amount of swap space in bytes.
`free`::
(<>)
Amount of free swap space.
`free_in_bytes`::
(integer)
Amount of free swap space in bytes.
`used`::
(<>)
Amount of used swap space.
`used_in_bytes`::
(integer)
Amount of used swap space in bytes.
=======
`cgroup` (Linux only)::
(object)
Contains cgroup statistics for the node.
+
NOTE: For the cgroup stats to be visible, cgroups must be compiled into the
kernel, the `cpu` and `cpuacct` cgroup subsystems must be configured and stats
must be readable from `/sys/fs/cgroup/cpu` and `/sys/fs/cgroup/cpuacct`.
+
.Properties of `cgroup`
[%collapsible%open]
=======
`cpuacct` (Linux only)::
(object)
Contains statistics about `cpuacct` control group for the node.
+
.Properties of `cpuacct`
[%collapsible%open]
========
`control_group` (Linux only)::
(string)
The `cpuacct` control group to which the {es} process belongs.
`usage_nanos` (Linux only)::
(integer)
The total CPU time (in nanoseconds) consumed by all tasks in the same cgroup
as the {es} process.
========
`cpu` (Linux only)::
(object)
Contains statistics about `cpu` control group for the node.
+
.Properties of `cpu`
[%collapsible%open]
========
`control_group` (Linux only)::
(string)
The `cpu` control group to which the {es} process belongs.
`cfs_period_micros` (Linux only)::
(integer)
The period of time (in microseconds) for how regularly all tasks in the same
cgroup as the {es} process should have their access to CPU resources
reallocated.
`cfs_quota_micros` (Linux only)::
(integer)
The total amount of time (in microseconds) for which all tasks in
the same cgroup as the {es} process can run during one period
`cfs_period_micros`.
`stat` (Linux only)::
(object)
Contains CPU statistics for the node.
+
.Properties of `stat`
[%collapsible%open]
=========
`number_of_elapsed_periods` (Linux only)::
(integer)
The number of reporting periods (as specified by
`cfs_period_micros`) that have elapsed.
`number_of_times_throttled` (Linux only)::
(integer)
The number of times all tasks in the same cgroup as the {es} process have
been throttled.
`time_throttled_nanos` (Linux only)::
(integer)
The total amount of time (in nanoseconds) for which all tasks in the same
cgroup as the {es} process have been throttled.
=========
========
`memory` (Linux only)::
(object)
Contains statistics about the `memory` control group for the node.
+
.Properties of `memory`
[%collapsible%open]
========
`control_group` (Linux only)::
(string)
The `memory` control group to which the {es} process belongs.
`limit_in_bytes` (Linux only)::
(string)
The maximum amount of user memory (including file cache) allowed for all
tasks in the same cgroup as the {es} process. This value can be too big to
store in a `long`, so is returned as a string so that the value returned can
exactly match what the underlying operating system interface returns. Any
value that is too large to parse into a `long` almost certainly means no
limit has been set for the cgroup.
`usage_in_bytes` (Linux only)::
(string)
The total current memory usage by processes in the cgroup (in bytes) by all
tasks in the same cgroup as the {es} process. This value is stored as a
string for consistency with `limit_in_bytes`.
========
=======
======
[[cluster-nodes-stats-api-response-body-process]]
`process`::
(object)
Contains process statistics for the node.
+
.Properties of `process`
[%collapsible%open]
======
`timestamp`::
(integer)
Last time the statistics were refreshed. Recorded in milliseconds
since the https://en.wikipedia.org/wiki/Unix_time[Unix Epoch].
`open_file_descriptors`::
(integer)
Number of opened file descriptors associated with the current or
`-1` if not supported.
`max_file_descriptors`::
(integer)
Maximum number of file descriptors allowed on the system, or `-1` if not
supported.
`cpu`::
(object)
Contains CPU statistics for the node.
+
.Properties of `cpu`
[%collapsible%open]
=======
`percent`::
(integer)
CPU usage in percent, or `-1` if not known at the time the stats are
computed.
`total`::
(<>)
CPU time used by the process on which the Java virtual machine is running.
`total_in_millis`::
(integer)
CPU time (in milliseconds) used by the process on which the Java virtual
machine is running, or `-1` if not supported.
=======
`mem`::
(object)
Contains virtual memory statistics for the node.
+
.Properties of `mem`
[%collapsible%open]
=======
`total_virtual`::
(<>)
Size of virtual memory that is guaranteed to be available to the
running process.
`total_virtual_in_bytes`::
(integer)
Size in bytes of virtual memory that is guaranteed to be available to the
running process.
=======
======
[[cluster-nodes-stats-api-response-body-jvm]]
`jvm`::
(object)
Contains Java Virtual Machine (JVM) statistics for the node.
+
.Properties of `jvm`
[%collapsible%open]
======
`timestamp`::
(integer)
Last time JVM statistics were refreshed.
`uptime`::
(<>)
JVM uptime.
`uptime_in_millis`::
(integer)
JVM uptime in milliseconds.
`mem`::
(object)
Contains JVM memory usage statistics for the node.
+
.Properties of `mem`
[%collapsible%open]
=======
`heap_used`::
(<>)
Memory currently in use by the heap.
`heap_used_in_bytes`::
(integer)
Memory, in bytes, currently in use by the heap.
`heap_used_percent`::
(integer)
Percentage of memory currently in use by the heap.
`heap_committed`::
(<>)
Amount of memory available for use by the heap.
`heap_committed_in_bytes`::
(integer)
Amount of memory, in bytes, available for use by the heap.
`heap_max`::
(<>)
Maximum amount of memory available for use by the heap.
`heap_max_in_bytes`::
(integer)
Maximum amount of memory, in bytes, available for use by the heap.
`non_heap_used`::
(<>)
Non-heap memory used.
`non_heap_used_in_bytes`::
(integer)
Non-heap memory used, in bytes.
`non_heap_committed`::
(<>)
Amount of non-heap memory available.
`non_heap_committed_in_bytes`::
(integer)
Amount of non-heap memory available, in bytes.
`pools`::
(object)
Contains statistics about heap memory usage for the node.
+
.Properties of `pools`
[%collapsible%open]
========
`young`::
(object)
Contains statistics about memory usage by the young generation heap for the
node.
+
.Properties of `young`
[%collapsible%open]
=========
`used`::
(<>)
Memory used by the young generation heap.
`used_in_bytes`::
(integer)
Memory, in bytes, used by the young generation heap.
`max`::
(<>)
Maximum amount of memory available for use by the young generation heap.
`max_in_bytes`::
(integer)
Maximum amount of memory, in bytes, available for use by the young generation
heap.
`peak_used`::
(<>)
Largest amount of memory historically used by the young generation heap.
`peak_used_in_bytes`::
(integer)
Largest amount of memory, in bytes, historically used by the young generation
heap.
`peak_max`::
(<>)
Largest amount of memory historically used by the young generation heap.
`peak_max_in_bytes`::
(integer)
Largest amount of memory, in bytes, historically used by the young generation
heap.
=========
`survivor`::
(object)
Contains statistics about memory usage by the survivor space for the node.
+
.Properties of `survivor`
[%collapsible%open]
=========
`used`::
(<>)
Memory used by the survivor space.
`used_in_bytes`::
(integer)
Memory, in bytes, used by the survivor space.
`max`::
(<>)
Maximum amount of memory available for use by the survivor space.
`max_in_bytes`::
(integer)
Maximum amount of memory, in bytes, available for use by the survivor space.
`peak_used`::
(<>)
Largest amount of memory historically used by the survivor space.
`peak_used_in_bytes`::
(integer)
Largest amount of memory, in bytes, historically used by the survivor space.
`peak_max`::
(<>)
Largest amount of memory historically used by the survivor space.
`peak_max_in_bytes`::
(integer)
Largest amount of memory, in bytes, historically used by the survivor space.
=========
`old`::
(object)
Contains statistics about memory usage by the old generation heap for the node.
+
.Properties of `old`
[%collapsible%open]
=========
`used`::
(<>)
Memory used by the old generation heap.
`used_in_bytes`::
(integer)
Memory, in bytes, used by the old generation heap.
`max`::
(<>)
Maximum amount of memory available for use by the old generation heap.
`max_in_bytes`::
(integer)
Maximum amount of memory, in bytes, available for use by the old generation
heap.
`peak_used`::
(<>)
Largest amount of memory historically used by the old generation heap.
`peak_used_in_bytes`::
(integer)
Largest amount of memory, in bytes, historically used by the old generation
heap.
`peak_max`::
(<>)
Highest memory limit historically available for use by the old generation heap.
`peak_max_in_bytes`::
(integer)
Highest memory limit, in bytes, historically available for use by the old
generation heap.
=========
========
=======
`threads`::
(object)
Contains statistics about JVM thread usage for the node.
+
.Properties of `threads`
[%collapsible%open]
=======
`count`::
(integer)
Number of active threads in use by JVM.
`peak_count`::
(integer)
Highest number of threads used by JVM.
=======
`gc`::
(object)
Contains statistics about JVM garbage collectors for the node.
+
.Properties of `gc`
[%collapsible%open]
=======
`collectors`::
(object)
Contains statistics about JVM garbage collectors for the node.
+
.Properties of `collectors`
[%collapsible%open]
========
`young`::
(object)
Contains statistics about JVM garbage collectors that collect young generation
objects for the node.
+
.Properties of `young`
[%collapsible%open]
=========
`collection_count`::
(integer)
Number of JVM garbage collectors that collect young generation objects.
`collection_time`::
(<>)
Total time spent by JVM collecting young generation objects.
`collection_time_in_millis`::
(integer)
Total time in milliseconds spent by JVM collecting young generation objects.
=========
`old`::
(object)
Contains statistics about JVM garbage collectors that collect old generation
objects for the node.
+
.Properties of `old`
[%collapsible%open]
=========
`collection_count`::
(integer)
Number of JVM garbage collectors that collect old generation objects.
`collection_time`::
(<>)
Total time spent by JVM collecting old generation objects.
`collection_time_in_millis`::
(integer)
Total time in milliseconds spent by JVM collecting old generation objects.
=========
========
=======
`buffer_pools`::
(object)
Contains statistics about JVM buffer pools for the node.
+
.Properties of `buffer_pools`
[%collapsible%open]
=======
`mapped`::
(object)
Contains statistics about mapped JVM buffer pools for the node.
+
.Properties of `mapped`
[%collapsible%open]
========
`count`::
(integer)
Number of mapped buffer pools.
`used`::
(<>)
Size of mapped buffer pools.
`used_in_bytes`::
(integer)
Size, in bytes, of mapped buffer pools.
`total_capacity`::
(<>)
Total capacity of mapped buffer pools.
`total_capacity_in_bytes`::
(integer)
Total capacity, in bytes, of mapped buffer pools.
========
`direct`::
(object)
Contains statistics about direct JVM buffer pools for the node.
+
.Properties of `direct`
[%collapsible%open]
========
`count`::
(integer)
Number of direct buffer pools.
`used`::
(<>)
Size of direct buffer pools.
`used_in_bytes`::
(integer)
Size, in bytes, of direct buffer pools.
`total_capacity`::
(<>)
Total capacity of direct buffer pools.
`total_capacity_in_bytes`::
(integer)
Total capacity, in bytes, of direct buffer pools.
========
=======
`classes`::
(object)
Contains statistics about classes loaded by JVM for the node.
+
.Properties of `classes`
[%collapsible%open]
=======
`current_loaded_count`::
(integer)
Number of classes currently loaded by JVM.
`total_loaded_count`::
(integer)
Total number of classes loaded since the JVM started.
`total_unloaded_count`::
(integer)
Total number of classes unloaded since the JVM started.
=======
======
[[cluster-nodes-stats-api-response-body-threadpool]]
`thread_pool`::
(object)
Contains thread pool statistics for the node
+
.Properties of `thread_pool`
[%collapsible%open]
======
``::
(object)
Contains statistics about the thread pool for the node.
+
.Properties of ``
[%collapsible%open]
=======
`threads`::
(integer)
Number of threads in the thread pool.
`queue`::
(integer)
Number of tasks in queue for the thread pool.
`active`::
(integer)
Number of active threads in the thread pool.
`rejected`::
(integer)
Number of tasks rejected by the thread pool executor.
`largest`::
(integer)
Highest number of active threads in the thread pool.
`completed`::
(integer)
Number of tasks completed by the thread pool executor.
=======
======
[[cluster-nodes-stats-api-response-body-fs]]
`fs`::
(object)
Contains file store statistics for the node.
+
.Properties of `fs`
[%collapsible%open]
======
`timestamp`::
(integer)
Last time the file stores statistics were refreshed. Recorded in
milliseconds since the https://en.wikipedia.org/wiki/Unix_time[Unix Epoch].
`total`::
(object)
Contains statistics for all file stores of the node.
+
.Properties of `total`
[%collapsible%open]
=======
`total`::
(<>)
Total size of all file stores.
`total_in_bytes`::
(integer)
Total size (in bytes) of all file stores.
`free`::
(<>)
Total unallocated disk space in all file stores.
`free_in_bytes`::
(integer)
Total number of unallocated bytes in all file stores.
`available`::
(<>)
Total disk space available to this Java virtual machine on all file
stores. Depending on OS or process level restrictions, this might appear
less than `free`. This is the actual amount of free disk
space the {es} node can utilise.
`available_in_bytes`::
(integer)
Total number of bytes available to this Java virtual machine on all file
stores. Depending on OS or process level restrictions, this might appear
less than `free_in_bytes`. This is the actual amount of free disk
space the {es} node can utilise.
=======
[[cluster-nodes-stats-fs-data]]
`data`::
(array of objects)
List of all file stores.
+
.Properties of `data`
[%collapsible%open]
=======
`path`::
(string)
Path to the file store.
`mount`::
(string)
Mount point of the file store (ex: /dev/sda2).
`type`::
(string)
Type of the file store (ex: ext4).
`total`::
(<>)
Total size of the file store.
`total_in_bytes`::
(integer)
Total size (in bytes) of the file store.
`free`::
(<>)
Total amount of unallocated disk space in the file store.
`free_in_bytes`::
(integer)
Total number of unallocated bytes in the file store.
`available`::
(<>)
Total amount of disk space available to this Java virtual machine on this file
store.
`available_in_bytes`::
(integer)
Total number of bytes available to this Java virtual machine on this file
store.
=======
`io_stats` (Linux only)::
(objects)
Contains I/O statistics for the node.
+
.Properties of `io_stats`
[%collapsible%open]
=======
`devices` (Linux only)::
(array)
Array of disk metrics for each device that is backing an {es} data path.
These disk metrics are probed periodically and averages between the last
probe and the current probe are computed.
+
.Properties of `devices`
[%collapsible%open]
========
`device_name` (Linux only)::
(string)
The Linux device name.
`operations` (Linux only)::
(integer)
The total number of read and write operations for the device completed since
starting {es}.
`read_operations` (Linux only)::
(integer)
The total number of read operations for the device completed since starting
{es}.
`write_operations` (Linux only)::
(integer)
The total number of write operations for the device completed since starting
{es}.
`read_kilobytes` (Linux only)::
(integer)
The total number of kilobytes read for the device since starting {es}.
`write_kilobytes` (Linux only)::
(integer)
The total number of kilobytes written for the device since starting {es}.
========
`operations` (Linux only)::
(integer)
The total number of read and write operations across all devices used by
{es} completed since starting {es}.
`read_operations` (Linux only)::
(integer)
The total number of read operations for across all devices used by {es}
completed since starting {es}.
`write_operations` (Linux only)::
(integer)
The total number of write operations across all devices used by {es}
completed since starting {es}.
`read_kilobytes` (Linux only)::
(integer)
The total number of kilobytes read across all devices used by {es} since
starting {es}.
`write_kilobytes` (Linux only)::
(integer)
The total number of kilobytes written across all devices used by {es} since
starting {es}.
=======
======
[[cluster-nodes-stats-api-response-body-transport]]
`transport`::
(object)
Contains transport statistics for the node.
+
.Properties of `transport`
[%collapsible%open]
======
`server_open`::
(integer)
Number of open TCP connections used for internal communication between nodes.
`rx_count`::
(integer)
Total number of RX (receive) packets received by the node during internal
cluster communication.
`rx_size`::
(<>)
Size of RX packets received by the node during internal cluster communication.
`rx_size_in_bytes`::
(integer)
Size, in bytes, of RX packets received by the node during internal cluster
communication.
`tx_count`::
(integer)
Total number of TX (transmit) packets sent by the node during internal cluster
communication.
`tx_size`::
(<>)
Size of TX packets sent by the node during internal cluster communication.
`tx_size_in_bytes`::
(integer)
Size, in bytes, of TX packets sent by the node during internal cluster
communication.
======
[[cluster-nodes-stats-api-response-body-http]]
`http`::
(object)
Contains http statistics for the node.
+
.Properties of `http`
[%collapsible%open]
======
`current_open`::
(integer)
Current number of open HTTP connections for the node.
`total_opened`::
(integer)
Total number of HTTP connections opened for the node.
======
[[cluster-nodes-stats-api-response-body-breakers]]
`beakers`::
(object)
Contains circuit breaker statistics for the node.
+
.Properties of `breakers`
[%collapsible%open]
======
``::
(object)
Contains statistics for the circuit breaker.
+
.Properties of ``
[%collapsible%open]
=======
`limit_size_in_bytes`::
(integer)
Memory limit, in bytes, for the circuit breaker.
`limit_size`::
(<>)
Memory limit for the circuit breaker.
`estimated_size_in_bytes`::
(integer)
Estimated memory used, in bytes, for the operation.
`estimated_size`::
(<>)
Estimated memory used for the operation.
`overhead`::
(float)
A constant that all estimates for the circuit breaker are multiplied with to
calculate a final estimate.
`tripped`::
(integer)
Total number of times the circuit breaker has been triggered and prevented an
out of memory error.
=======
======
[[cluster-nodes-stats-api-response-body-script]]
`script`::
(object)
Contains script statistics for the node.
+
.Properties of `script`
[%collapsible%open]
======
`compilations`::
(integer)
Total number of inline script compilations performed by the node.
`cache_evictions`::
(integer)
Total number of times the script cache has evicted old data.
`compilation_limit_triggered`::
(integer)
Total number of times the <> circuit breaker has limited inline script compilations.
======
[[cluster-nodes-stats-api-response-body-discovery]]
`discovery`::
(object)
Contains node discovery statistics for the node.
+
.Properties of `discovery`
[%collapsible%open]
======
`cluster_state_queue`::
(object)
Contains statistics for the cluster state queue of the node.
+
.Properties of `cluster_state_queue`
[%collapsible%open]
=======
`total`::
(integer)
Total number of cluster states in queue.
`pending`::
(integer)
Number of pending cluster states in queue.
`committed`::
(integer)
Number of committed cluster states in queue.
=======
`published_cluster_states`::
(object)
Contains statistics for the published cluster states of the node.
+
.Properties of `published_cluster_states`
[%collapsible%open]
=======
`full_states`::
(integer)
Number of published cluster states.
`incompatible_diffs`::
(integer)
Number of incompatible differences between published cluster states.
`compatible_diffs`::
(integer)
Number of compatible differences between published cluster states.
=======
======
[[cluster-nodes-stats-api-response-body-ingest]]
`ingest`::
(object)
Contains ingest statistics for the node.
+
.Properties of `ingest`
[%collapsible%open]
======
`total`::
(object)
Contains statistics about ingest operations for the node.
+
.Properties of `total`
[%collapsible%open]
=======
`count`::
(integer)
Total number of documents ingested during the lifetime of this node.
`time`::
(<>)
Total time spent preprocessing ingest documents during the lifetime of this
node.
`time_in_millis`::
(integer)
Total time, in milliseconds, spent preprocessing ingest documents during the
lifetime of this node.
`current`::
(integer)
Total number of documents currently being ingested.
`failed`::
(integer)
Total number of failed ingest operations during the lifetime of this node.
=======
`pipelines`::
(object)
Contains statistics about ingest pipelines for the node.
+
.Properties of `pipelines`
[%collapsible%open]
=======
``::
(object)
Contains statistics about the ingest pipeline.
+
.Properties of ``
[%collapsible%open]
========
`count`::
(integer)
Number of documents preprocessed by the ingest pipeline.
`time`::
(<>)
Total time spent preprocessing documents in the ingest pipeline.
`time_in_millis`::
(integer)
Total time, in milliseconds, spent preprocessing documents in the ingest
pipeline.
`failed`::
(integer)
Total number of failed operations for the ingest pipeline.
`processors`::
(array of objects)
Contains statistics for the ingest processors for the ingest pipeline.
+
.Properties of `processors`
[%collapsible%open]
=========
``::
(object)
Contains statistics for the ingest processor.
+
.Properties of ``
[%collapsible%open]
==========
`count`::
(integer)
Number of documents transformed by the processor.
`time`::
(<>)
Time spent by the processor transforming documents.
`time_in_millis`::
(integer)
Time, in milliseconds, spent by the processor transforming documents.
`current`::
(integer)
Number of documents currently being transformed by the processor.
`failed`::
(integer)
Number of failed operations for the processor.
==========
=========
========
=======
======
[[cluster-nodes-stats-api-response-body-adaptive-selection]]
`adaptive_selection`::
(object)
Contains adaptive selection statistics for the node.
+
.Properties of `adaptive_selection`
[%collapsible%open]
======
`outgoing_searches`::
(integer)
The number of outstanding search requests from the node these stats are for
to the keyed node.
`avg_queue_size`::
(integer)
The exponentially weighted moving average queue size of search requests on
the keyed node.
`avg_service_time`::
(<>)
The exponentially weighted moving average service time of search requests on
the keyed node.
`avg_service_time_ns`::
(integer)
The exponentially weighted moving average service time, in nanoseconds, of
search requests on the keyed node.
`avg_response_time`::
(<>)
The exponentially weighted moving average response time of search requests
on the keyed node.
`avg_response_time_ns`::
(integer)
The exponentially weighted moving average response time, in nanoseconds, of
search requests on the keyed node.
`rank`::
(string)
The rank of this node; used for shard selection when routing search
requests.
======
=====
====
[[cluster-nodes-stats-api-example]]
==== {api-examples-title}
[source,console]
--------------------------------------------------
# return just indices
GET /_nodes/stats/indices
# return just os and process
GET /_nodes/stats/os,process
# return just process for node with IP address 10.0.0.1
GET /_nodes/10.0.0.1/stats/process
--------------------------------------------------
All stats can be explicitly requested via `/_nodes/stats/_all` or
`/_nodes/stats?metric=_all`.
You can get information about indices stats on `node`, `indices`, or `shards`
level.
[source,console]
--------------------------------------------------
# Fielddata summarized by node
GET /_nodes/stats/indices/fielddata?fields=field1,field2
# Fielddata summarized by node and index
GET /_nodes/stats/indices/fielddata?level=indices&fields=field1,field2
# Fielddata summarized by node, index, and shard
GET /_nodes/stats/indices/fielddata?level=shards&fields=field1,field2
# You can use wildcards for field names
GET /_nodes/stats/indices/fielddata?fields=field*
--------------------------------------------------
You can get statistics about search groups for searches executed
on this node.
[source,console]
--------------------------------------------------
# All groups with all stats
GET /_nodes/stats?groups=_all
# Some groups from just the indices stats
GET /_nodes/stats/indices?groups=foo,bar
--------------------------------------------------
[[cluster-nodes-stats-ingest-ex]]
===== Retrieve ingest statistics only
To return only ingest-related node statistics, set the `` path
parameter to `ingest` and use the
<> query parameter.
[source,console]
--------------------------------------------------
GET /_nodes/stats/ingest?filter_path=nodes.*.ingest
--------------------------------------------------
You can use the `metric` and `filter_path` query parameters to get the same
response.
[source,console]
--------------------------------------------------
GET /_nodes/stats?metric=ingest&filter_path=nodes.*.ingest
--------------------------------------------------
To further refine the response, change the `filter_path` value.
For example, the following request only returns ingest pipeline statistics.
[source,console]
--------------------------------------------------
GET /_nodes/stats?metric=ingest&filter_path=nodes.*.ingest.pipelines
--------------------------------------------------