[[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::{docdir}/rest-api/common-parms.asciidoc[tag=node-id] [[cluster-nodes-stats-api-query-params]] ==== {api-query-parms-title} include::{docdir}/rest-api/common-parms.asciidoc[tag=completion-fields] include::{docdir}/rest-api/common-parms.asciidoc[tag=fielddata-fields] include::{docdir}/rest-api/common-parms.asciidoc[tag=fields] include::{docdir}/rest-api/common-parms.asciidoc[tag=groups] include::{docdir}/rest-api/common-parms.asciidoc[tag=level] `types`:: (Optional, string) A comma-separated list of document types for the `indexing` index metric. include::{docdir}/rest-api/common-parms.asciidoc[tag=timeoutparms] include::{docdir}/rest-api/common-parms.asciidoc[tag=include-segment-file-sizes] [[cluster-nodes-stats-api-response-body]] ==== {api-response-body-title} `cluster_name`:: (string) Name of the cluster. Based on the <> setting. `nodes..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]. `nodes..name`:: (string) Human-readable identifier for the node. Based on the <> setting. `nodes..transport_address`:: (string) Host and port for the <>, used for internal communication between nodes in a cluster. `nodes..host`:: (string) Network host for the node, based on the <> setting. `nodes..ip`:: (string) IP address and port for the node. `nodes..roles`:: (array of strings) Roles assigned to the node. See <>. `nodes..attributes`:: (object) Object containing a list of attributes for the node. [NOTE] ==== The remaining node statistics are grouped by section. Each statistic is keyed by `nodes.`. ==== [[cluster-nodes-stats-api-response-body-indices]] ===== `indices` section [%collapsible] ==== `indices.docs.count`:: (integer) include::{docdir}/rest-api/common-parms.asciidoc[tag=docs-count] `indices.docs.deleted`:: (integer) include::{docdir}/rest-api/common-parms.asciidoc[tag=docs-deleted] `indices.store.size`:: (<>) Total size of all shards assigned to the node. `indices.store.size_in_bytes`:: (integer) Total size, in bytes, of all shards assigned to the node. `indices.indexing.index_total`:: (integer) Total number of indexing operations. `indices.indexing.index_time`:: (<>) Total time spent performing indexing operations. `indices.indexing.index_time_in_millis`:: (integer) Total time in milliseconds spent performing indexing operations. `indices.indexing.index_current`:: (integer) Number of indexing operations currently running. `indices.indexing.index_failed`:: (integer) Number of failed indexing operations. `indices.indexing.delete_total`:: (integer) Total number of deletion operations. `indices.indexing.delete_time`:: (<>) Time spent performing deletion operations. `indices.indexing.delete_time_in_millis`:: (integer) Time in milliseconds spent performing deletion operations. `indices.indexing.delete_current`:: (integer) Number of deletion operations currently running. `indices.indexing.noop_update_total`:: (integer) Total number of noop operations. `indices.indexing.is_throttled`:: (boolean) Number of times operations were throttled. `indices.indexing.throttle_time`:: (<>) Total time spent throttling operations. `indices.indexing.throttle_time_in_millis`:: (integer) Total time in milliseconds spent throttling operations. `indices.get.total`:: (integer) Total number of get operations. `indices.get.getTime`:: (<>) Time spent performing get operations. `indices.get.time_in_millis`:: (integer) Time in milliseconds spent performing get operations. `indices.get.exists_total`:: (integer) Total number of successful get operations. `indices.get.exists_time`:: (<>) Time spent performing successful get operations. `indices.get.exists_time_in_millis`:: (integer) Time in milliseconds spent performing successful get operations. `indices.get.missing_total`:: (integer) Total number of failed get operations. `indices.get.missing_time`:: (<>) Time spent performing failed get operations. `indices.get.missing_time_in_millis`:: (integer) Time in milliseconds spent performing failed get operations. `indices.get.current`:: (integer) Number of get operations currently running. `indices.search.open_context`:: (integer) Number of open search contexts. `indices.search.query_total`:: (integer) Total number of query operations. `indices.search.query_time`:: (<>) Time spent performing query operations. `indices.search.query_time_in_millis`:: (integer) Time in milliseconds spent performing query operations. `indices.search.query_current`:: (integer) Number of query operations currently running. `indices.search.fetch_total`:: (integer) Total number of fetch operations. `indices.search.fetch_time`:: (<>) Time spent performing fetch operations. `indices.search.fetch_time_in_millis`:: (integer) Time in milliseconds spent performing fetch operations. `indices.search.fetch_current`:: (integer) Number of fetch operations currently running. `indices.search.scroll_total`:: (integer) Total number of scroll operations. `indices.search.scroll_time`:: (<>) Time spent performing scroll operations. `indices.search.scroll_time_in_millis`:: (integer) Time in milliseconds spent performing scroll operations. `indices.search.scroll_current`:: (integer) Number of scroll operations currently running. `indices.search.suggest_total`:: (integer) Total number of suggest operations. `indices.search.suggest_time`:: (<>) Time spent performing suggest operations. `indices.search.suggest_time_in_millis`:: (integer) Time in milliseconds spent performing suggest operations. `indices.search.suggest_current`:: (integer) Number of suggest operations currently running. `indices.merges.current`:: (integer) Number of merge operations currently running. `indices.merges.current_docs`:: (integer) Number of document merges currently running. `indices.merges.current_size`:: (<>) Memory used performing current document merges. `indices.merges.current_size_in_bytes`:: (integer) Memory, in bytes, used performing current document merges. `indices.merges.total`:: (integer) Total number of merge operations. `indices.merges.total_time`:: (<>) Total time spent performing merge operations. `indices.merges.total_time_in_millis`:: (integer) Total time in milliseconds spent performing merge operations. `indices.merges.total_docs`:: (integer) Total number of merged documents. `indices.merges.total_size`:: (<>) Total size of document merges. `indices.merges.total_size_in_bytes`:: (integer) Total size of document merges in bytes. `indices.merges.total_stopped_time`:: (<>) Total time spent stopping merge operations. `indices.merges.total_stopped_time_in_millis`:: (integer) Total time in milliseconds spent stopping merge operations. `indices.merges.total_throttled_time`:: (<>) Total time spent throttling merge operations. `indices.merges.total_throttled_time_in_millis`:: (integer) Total time in milliseconds spent throttling merge operations. `indices.merges.total_auto_throttle`:: (<>) Size of automatically throttled merge operations. `indices.merges.total_auto_throttle_in_bytes`:: (integer) Size, in bytes, of automatically throttled merge operations. `indices.refresh.total`:: (integer) Total number of refresh operations. `indices.refresh.total_time`:: (<>) Total time spent performing refresh operations. `indices.refresh.total_time_in_millis`:: (integer) Total time in milliseconds spent performing refresh operations. `indices.refresh.external_total`:: (integer) Total number of external refresh operations. `indices.refresh.external_total_time`:: (<>) Total time spent performing external operations. `indices.refresh.external_total_time_in_millis`:: (integer) Total time in milliseconds spent performing external operations. `indices.refresh.listeners`:: (integer) Number of refresh listeners. `indices.flush.total`:: (integer) Number of flush operations. `indices.flush.periodic`:: (integer) Number of flush periodic operations. `indices.flush.total_time`:: (<>) Total time spent performing flush operations. `indices.flush.total_time_in_millis`:: (integer) Total time in milliseconds spent performing flush operations. `indices.warmer.current`:: (integer) Number of active index warmers. `indices.warmer.total`:: (integer) Total number of index warmers. `indices.warmer.total_time`:: (<>) Total time spent performing index warming operations. `indices.warmer.total_time_in_millis`:: (integer) Total time in milliseconds spent performing index warming operations. `indices.query_cache.memory_size`:: (<>) Total amount of memory used for the query cache across all shards assigned to the node. `indices.query_cache.memory_size_in_bytes`:: (integer) Total amount of memory, in bytes, used for the query cache across all shards assigned to the node. `indices.query_cache.total_count`:: (integer) Total count of hits, misses, and cached queries in the query cache. `indices.query_cache.hit_count`:: (integer) Number of query cache hits. `indices.query_cache.miss_count`:: (integer) Number of query cache misses. `indices.query_cache.cache_size`:: (integer) Size, in bytes, of the query cache. `indices.query_cache.cache_count`:: (integer) Count of queries in the query cache. `indices.query_cache.evictions`:: (integer) Number of query cache evictions. `indices.fielddata.memory_size`:: (<>) Total amount of memory used for the field data cache across all shards assigned to the node. `indices.fielddata.memory_size_in_bytes`:: (integer) Total amount of memory, in bytes, used for the field data cache across all shards assigned to the node. `indices.fielddata.evictions`:: (integer) Number of fielddata evictions. `indices.completion.size`:: (<>) Total amount of memory used for completion across all shards assigned to the node. `indices.completion.size_in_bytes`:: (integer) Total amount of memory, in bytes, used for completion across all shards assigned to the node. `indices.segments.count`:: (integer) Number of segments. `indices.segments.memory`:: (<>) Total amount of memory used for segments across all shards assigned to the node. `indices.segments.memory_in_bytes`:: (integer) Total amount of memory, in bytes, used for segments across all shards assigned to the node. `indices.segments.terms_memory`:: (<>) Total amount of memory used for terms across all shards assigned to the node. `indices.segments.terms_memory_in_bytes`:: (integer) Total amount of memory, in bytes, used for terms across all shards assigned to the node. `indices.segments.stored_fields_memory`:: (<>) Total amount of memory used for stored fields across all shards assigned to the node. `indices.segments.stored_fields_memory_in_bytes`:: (integer) Total amount of memory, in bytes, used for stored fields across all shards assigned to the node. `indices.segments.term_vectors_memory`:: (<>) Total amount of memory used for term vectors across all shards assigned to the node. `indices.segments.term_vectors_memory_in_bytes`:: (integer) Total amount of memory, in bytes, used for term vectors across all shards assigned to the node. `indices.segments.norms_memory`:: (<>) Total amount of memory used for normalization factors across all shards assigned to the node. `indices.segments.norms_memory_in_bytes`:: (integer) Total amount of memory, in bytes, used for normalization factors across all shards assigned to the node. `indices.segments.points_memory`:: (<>) Total amount of memory used for points across all shards assigned to the node. `indices.segments.points_memory_in_bytes`:: (integer) Total amount of memory, in bytes, used for points across all shards assigned to the node. `indices.segments.doc_values_memory`:: (<>) Total amount of memory used for doc values across all shards assigned to the node. `indices.segments.doc_values_memory_in_bytes`:: (integer) Total amount of memory, in bytes, used for doc values across all shards assigned to the node. `indices.segments.index_writer_memory`:: (<>) Total amount of memory used by all index writers across all shards assigned to the node. `indices.segments.index_writer_memory_in_bytes`:: (integer) Total amount of memory, in bytes, used by all index writers across all shards assigned to the node. `indices.segments.version_map_memory`:: (<>) Total amount of memory used by all version maps across all shards assigned to the node. `indices.segments.version_map_memory_in_bytes`:: (integer) Total amount of memory, in bytes, used by all version maps across all shards assigned to the node. `indices.segments.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. `indices.segments.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. `indices.segments.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]. `indices.segments.file_sizes.size`:: (<>) Size of the segment file. `indices.segments.file_sizes.size_in_bytes`:: (integer) Size, in bytes, of the segment file. `indices.segments.file_sizes.description`:: (string) Description of the segment file. `indices.translog.operations`:: (integer) Number of transaction log operations. `indices.translog.size`:: (<>) Size of the transaction log. `indices.translog.size_in_bytes`:: (integer) Size, in bytes, of the transaction log. `indices.translog.uncommitted_operations`:: (integer) Number of uncommitted transaction log operations. `indices.translog.uncommitted_size`:: (<>) Size of uncommitted transaction log operations. `indices.translog.uncommitted_size_in_bytes`:: (integer) Size, in bytes, of uncommitted transaction log operations. `indices.translog.earliest_last_modified_age`:: (integer) Earliest last modified age for the transaction log. `indices.request_cache.memory_size`:: (<>) Memory used by the request cache. `indices.request_cache.memory_size_in_bytes`:: (integer) Memory, in bytes, used by the request cache. `indices.request_cache.evictions`:: (integer) Number of request cache operations. `indices.request_cache.hit_count`:: (integer) Number of request cache hits. `indices.request_cache.miss_count`:: (integer) Number of request cache misses. `indices.recovery.current_as_source`:: (integer) Number of recoveries that used an index shard as a source. `indices.recovery.current_as_target`:: (integer) Number of recoveries that used an index shard as a target. `indices.recovery.throttle_time`:: (<>) Time by which recovery operations were delayed due to throttling. `indices.recovery.throttle_time_in_millis`:: (integer) Time in milliseconds recovery operations were delayed due to throttling. ==== [[cluster-nodes-stats-api-response-body-os]] ===== `os` section [%collapsible] ==== `os.timestamp`:: (integer) Last time the operating system statistics were refreshed. Recorded in milliseconds since the https://en.wikipedia.org/wiki/Unix_time[Unix Epoch]. `os.cpu.percent`:: (integer) Recent CPU usage for the whole system, or `-1` if not supported. `os.cpu.load_average.1m`:: (float) One-minute load average on the system (field is not present if one-minute load average is not available). `os.cpu.load_average.5m`:: (float) Five-minute load average on the system (field is not present if five-minute load average is not available). `os.cpu.load_average.15m`:: (float) Fifteen-minute load average on the system (field is not present if fifteen-minute load average is not available). `os.mem.total`:: (<>) Total amount of physical memory. `os.mem.total_in_bytes`:: (integer) Total amount of physical memory in bytes. `os.mem.free`:: (<>) Amount of free physical memory. `os.mem.free_in_bytes`:: (integer) Amount of free physical memory in bytes. `os.mem.used`:: (<>) Amount of used physical memory. `os.mem.used_in_bytes`:: (integer) Amount of used physical memory in bytes. `os.mem.free_percent`:: (integer) Percentage of free memory. `os.mem.used_percent`:: (integer) Percentage of used memory. `os.swap.total`:: (<>) Total amount of swap space. `os.swap.total_in_bytes`:: (integer) Total amount of swap space in bytes. `os.swap.free`:: (<>) Amount of free swap space. `os.swap.free_in_bytes`:: (integer) Amount of free swap space in bytes. `os.swap.used`:: (<>) Amount of used swap space. `os.swap.used_in_bytes`:: (integer) Amount of used swap space in bytes. `os.cgroup.cpuacct.control_group` (Linux only):: (string) The `cpuacct` control group to which the {es} process belongs. `os.cgroup.cpuacct.usage_nanos` (Linux only):: (integer) The total CPU time (in nanoseconds) consumed by all tasks in the same cgroup as the {es} process. `os.cgroup.cpu.control_group` (Linux only):: (string) The `cpu` control group to which the {es} process belongs. `os.cgroup.cpu.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. `os.cgroup.cpu.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 `os.cgroup.cpu.cfs_period_micros`. `os.cgroup.cpu.stat.number_of_elapsed_periods` (Linux only):: (integer) The number of reporting periods (as specified by `os.cgroup.cpu.cfs_period_micros`) that have elapsed. `os.cgroup.cpu.stat.number_of_times_throttled` (Linux only):: (integer) The number of times all tasks in the same cgroup as the {es} process have been throttled. `os.cgroup.cpu.stat.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. `os.cgroup.memory.control_group` (Linux only):: (string) The `memory` control group to which the {es} process belongs. `os.cgroup.memory.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. `os.cgroup.memory.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 `os.cgroup.memory.limit_in_bytes`. 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`. ==== [[cluster-nodes-stats-api-response-body-process]] ===== `process` section [%collapsible] ==== `process.timestamp`:: (integer) Last time the process statistics were refreshed. Recorded in milliseconds since the https://en.wikipedia.org/wiki/Unix_time[Unix Epoch]. `process.open_file_descriptors`:: (integer) Number of opened file descriptors associated with the current process, or `-1` if not supported. `process.max_file_descriptors`:: (integer) Maximum number of file descriptors allowed on the system, or `-1` if not supported. `process.cpu.percent`:: (integer) CPU usage in percent, or `-1` if not known at the time the stats are computed. `process.cpu.total`:: (<>) CPU time used by the process on which the Java virtual machine is running. `process.cpu.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. `process.mem.total_virtual`:: (<>) Size of virtual memory that is guaranteed to be available to the running process. `process.mem.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` section [%collapsible] ==== `jvm.timestamp`:: (integer) Last time JVM statistics were refreshed. `jvm.uptime_in_millis`:: (integer) JVM uptime in milliseconds. `jvm.mem.heap_used_in_bytes`:: (integer) Memory, in bytes, currently in use by the heap. `jvm.mem.heap_used_percent`:: (integer) Percentage of memory currently in use by the heap. `jvm.mem.heap_committed_in_bytes`:: (integer) Amount of memory, in bytes, available for use by the heap. `jvm.mem.heap_max_in_bytes`:: (integer) Maximum amount of memory, in bytes, available for use by the heap. `jvm.mem.non_heap_used_in_bytes`:: (integer) Non-heap memory used, in bytes. `jvm.mem.non_heap_committed_in_bytes`:: (integer) Amount of non-heap memory available, in bytes. `jvm.mem.pools.young.used_in_bytes`:: (integer) Memory, in bytes, used by the young generation heap. `jvm.mem.pools.young.max_in_bytes`:: (integer) Maximum amount of memory, in bytes, available for use by the young generation heap. `jvm.mem.pools.young.peak_used_in_bytes`:: (integer) Largest amount of memory, in bytes, historically used by the young generation heap. `jvm.mem.pools.young.peak_max_in_bytes`:: (integer) Largest amount of memory, in bytes, historically used by the young generation heap. `jvm.mem.pools.survivor.used_in_bytes`:: (integer) Memory, in bytes, used by the survivor space. `jvm.mem.pools.survivor.max_in_bytes`:: (integer) Maximum amount of memory, in bytes, available for use by the survivor space. `jvm.mem.pools.survivor.peak_used_in_bytes`:: (integer) Largest amount of memory, in bytes, historically used by the survivor space. `jvm.mem.pools.survivor.peak_max_in_bytes`:: (integer) Largest amount of memory, in bytes, historically used by the survivor space. `jvm.mem.pools.old.used_in_bytes`:: (integer) Memory, in bytes, used by the old generation heap. `jvm.mem.pools.old.max_in_bytes`:: (integer) Maximum amount of memory, in bytes, available for use by the old generation heap. `jvm.mem.pools.old.peak_used_in_bytes`:: (integer) Largest amount of memory, in bytes, historically used by the old generation heap. `jvm.mem.pools.old.peak_max_in_bytes`:: (integer) Highest memory limit, in bytes, historically available for use by the old generation heap. `jvm.threads.count`:: (integer) Number of active threads in use by JVM. `jvm.threads.peak_count`:: (integer) Highest number of threads used by JVM. `jvm.gc.collectors.young.collection_count`:: (integer) Number of JVM garbage collectors that collect young generation objects. `jvm.gc.collectors.young.collection_time_in_millis`:: (integer) Total time in milliseconds spent by JVM collecting young generation objects. `jvm.gc.collectors.old.collection_count`:: (integer) Number of JVM garbage collectors that collect old generation objects. `jvm.gc.collectors.old.collection_time_in_millis`:: (integer) Total time in milliseconds spent by JVM collecting old generation objects. `jvm.buffer_pools.mapped.count`:: (integer) Number of mapped buffer pools. `jvm.buffer_pools.mapped.used_in_bytes`:: (integer) Size, in bytes, of mapped buffer pools. `jvm.buffer_pools.mapped.total_capacity_in_bytes`:: (integer) Total capacity, in bytes, of mapped buffer pools. `jvm.buffer_pools.direct.count`:: (integer) Number of direct buffer pools. `jvm.buffer_pools.direct.used_in_bytes`:: (integer) Size, in bytes, of direct buffer pools. `jvm.buffer_pools.direct.total_capacity_in_bytes`:: (integer) Total capacity, in bytes, of direct buffer pools. `jvm.classes.current_loaded_count`:: (integer) Number of buffer pool classes currently loaded by JVM. `jvm.classes.total_loaded_count`:: (integer) Total number of buffer pool classes loaded since the JVM started. `jvm.classes.total_unloaded_count`:: (integer) Total number of buffer pool classes unloaded since the JVM started. ==== [[cluster-nodes-stats-api-response-body-threadpool]] ===== `thread_pool` section [%collapsible] ==== `thread_pool..threads`:: (integer) Number of threads in the thread pool. `thread_pool..queue`:: (integer) Number of tasks in queue for the thread pool. `thread_pool..active`:: (integer) Number of active threads in the thread pool. `thread_pool..rejected`:: (integer) Number of tasks rejected by the thread pool executor. `thread_pool..largest`:: (integer) Highest number of active threads in the thread pool. `thread_pool..completed`:: (integer) Number of tasks completed by the thread pool executor. ==== [[cluster-nodes-stats-api-response-body-fs]] ===== `fs` section [%collapsible] ==== `fs.timestamp`:: (integer) Last time the file stores statistics were refreshed. Recorded in milliseconds since the https://en.wikipedia.org/wiki/Unix_time[Unix Epoch]. `fs.total.total`:: (<>) Total size of all file stores. `fs.total.total_in_bytes`:: (integer) Total size (in bytes) of all file stores. `fs.total.free`:: (<>) Total unallocated disk space in all file stores. `fs.total.free_in_bytes`:: (integer) Total number of unallocated bytes in all file stores. `fs.total.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 `fs.total.free`. This is the actual amount of free disk space the {es} node can utilise. `fs.total.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 `fs.total.free_in_bytes`. This is the actual amount of free disk space the {es} node can utilise. `fs.least_usage_estimate`:: (object) Object containing statistics for the file store with the least estimated usage. See <> for a list of child parameters. `fs.most_usage_estimate`:: (object) Object containing statistics for the file store with the most estimated usage. See <> for a list of child parameters. [[cluster-nodes-stats-fs-data]] `fs.data`:: (array of objects) List of all file stores. `fs.data.path`:: (string) Path to the file store. `fs.data.mount`:: (string) Mount point of the file store (ex: /dev/sda2). + NOTE: This parameter is not provided for the `least_usage_estimate` or `most_usage_estimate` file stores. `fs.data.type`:: (string) Type of the file store (ex: ext4). `fs.data.total`:: (<>) Total size of the file store. `fs.data.total_in_bytes`:: (integer) Total size (in bytes) of the file store. `fs.data.free`:: (<>) Total amount of unallocated disk space in the file store. `fs.data.free_in_bytes`:: (integer) Total number of unallocated bytes in the file store. `fs.data.available`:: (<>) Total amount of disk space available to this Java virtual machine on this file store. `fs.data.available_in_bytes`:: (integer) Total number of bytes available to this Java virtual machine on this file store. `fs.io_stats.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. `fs.io_stats.devices.device_name` (Linux only):: (string) The Linux device name. `fs.io_stats.devices.operations` (Linux only):: (integer) The total number of read and write operations for the device completed since starting {es}. `fs.io_stats.devices.read_operations` (Linux only):: (integer) The total number of read operations for the device completed since starting {es}. `fs.io_stats.devices.write_operations` (Linux only):: (integer) The total number of write operations for the device completed since starting {es}. `fs.io_stats.devices.read_kilobytes` (Linux only):: (integer) The total number of kilobytes read for the device since starting {es}. `fs.io_stats.devices.write_kilobytes` (Linux only):: (integer) The total number of kilobytes written for the device since starting {es}. `fs.io_stats.operations` (Linux only):: (integer) The total number of read and write operations across all devices used by {es} completed since starting {es}. `fs.io_stats.read_operations` (Linux only):: (integer) The total number of read operations for across all devices used by {es} completed since starting {es}. `fs.io_stats.write_operations` (Linux only):: (integer) The total number of write operations across all devices used by {es} completed since starting {es}. `fs.io_stats.read_kilobytes` (Linux only):: (integer) The total number of kilobytes read across all devices used by {es} since starting {es}. `fs.io_stats.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` section [%collapsible] ==== `transport.server_open`:: (integer) Number of open TCP connections used for internal communication between nodes. `transport.rx_count`:: (integer) Total number of RX (receive) packets received by the node during internal cluster communication. `transport.rx_size`:: (<>) Size of RX packets received by the node during internal cluster communication. `transport.rx_size_in_bytes`:: (integer) Size, in bytes, of RX packets received by the node during internal cluster communication. `transport.tx_count`:: (integer) Total number of TX (transmit) packets sent by the node during internal cluster communication. `transport.tx_size`:: (<>) Size of TX packets sent by the node during internal cluster communication. `transport.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` section [%collapsible] ==== `http.current_open`:: (integer) Current number of open HTTP connections for the node. `http.total_opened`:: (integer) Total number of HTTP connections opened for the node. ==== [[cluster-nodes-stats-api-response-body-breakers]] ===== `breakers` section [%collapsible] ==== `breakers..limit_size_in_bytes`:: (integer) Memory limit, in bytes, for the circuit breaker. `breakers..limit_size`:: (<>) Memory limit for the circuit breaker. `breakers..estimated_size_in_bytes`:: (integer) Estimated memory used, in bytes, for the operation. `breakers..estimated_size`:: (<>) Estimated memory used for the operation. `breakers..overhead`:: (float) A constant that all estimates for the circuit breaker are multiplied with to calculate a final estimate. `breakers..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` section [%collapsible] ==== `script.compilations`:: (integer) Total number of inline script compilations performed by the node. `script.cache_evictions`:: (integer) Total number of times the script cache has evicted old data. `script.compilation_limit_triggered`:: (integer) Total number of times the <> circuit breaker has limited inline script compilations. ==== [[cluster-nodes-stats-api-response-body-discovery]] ===== `discovery` section [%collapsible] ==== `discovery.cluster_state_queue.total`:: (integer) Total number of cluster states in queue. `discovery.cluster_state_queue.pending`:: (integer) Number of pending cluster states in queue. `discovery.cluster_state_queue.committed`:: (integer) Number of committed cluster states in queue. `discovery.published_cluster_states.full_states`:: (integer) Number of published cluster states. `discovery.published_cluster_states.incompatible_diffs`:: (integer) Number of incompatible differences between published cluster states. `discovery.published_cluster_states.compatible_diffs`:: (integer) Number of compatible differences between published cluster states. ==== [[cluster-nodes-stats-api-response-body-ingest]] ===== `ingest` section [%collapsible] ==== `ingest.total.count`:: (integer) Total number of documents ingested during the lifetime of this node. `ingest.total.time`:: (<>) Total time spent preprocessing ingest documents during the lifetime of this node. `ingest.total.time_in_millis`:: (integer) Total time, in milliseconds, spent preprocessing ingest documents during the lifetime of this node. `ingest.total.current`:: (integer) Total number of documents currently being ingested. `ingest.total.failed`:: (integer) Total number of failed ingest operations during the lifetime of this node. `ingest.pipelines..count`:: (integer) Number of documents preprocessed by the ingest pipeline. `ingest.pipelines..time`:: (<>) Total time spent preprocessing documents in the ingest pipeline. `ingest.pipelines..time_in_millis`:: (integer) Total time, in milliseconds, spent preprocessing documents in the ingest pipeline. `ingest.pipelines..failed`:: (integer) Total number of failed operations for the ingest pipeline. `ingest.pipelines..processors..count`:: (integer) Number of documents transformed by the processor. `ingest.pipelines..processors..time`:: (<>) Time spent by the processor transforming documents. `ingest.pipelines..processors..time_in_millis`:: (integer) Time, in milliseconds, spent by the processor transforming documents. `ingest.pipelines..processors..current`:: (integer) Number of documents currently being transformed by the processor. `ingest.pipelines..processors..failed`:: (integer) Number of failed operations for the processor. ==== [[cluster-nodes-stats-api-response-body-adaptive-selection]] ===== `adaptive_selection` section [%collapsible] ==== `adaptive_selection.outgoing_searches`:: (integer) The number of outstanding search requests from the node these stats are for to the keyed node. `adaptive_selection.avg_queue_size`:: (integer) The exponentially weighted moving average queue size of search requests on the keyed node. `adaptive_selection.avg_service_time`:: (<>) The exponentially weighted moving average service time of search requests on the keyed node. `adaptive_selection.avg_service_time_ns`:: (integer) The exponentially weighted moving average service time, in nanoseconds, of search requests on the keyed node. `adaptive_selection.avg_response_time`:: (<>) The exponentially weighted moving average response time of search requests on the keyed node. `adaptive_selection.avg_response_time_ns`:: (integer) The exponentially weighted moving average response time, in nanoseconds, of search requests on the keyed node. `adaptive_selection.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 --------------------------------------------------