elasticsearch/docs/reference/cluster/stats.asciidoc
2024-10-10 09:57:42 +03:00

1931 lines
57 KiB
Text

[[cluster-stats]]
=== Cluster stats API
++++
<titleabbrev>Cluster stats</titleabbrev>
++++
Returns cluster statistics.
[[cluster-stats-api-request]]
==== {api-request-title}
`GET /_cluster/stats` +
`GET /_cluster/stats/nodes/<node_filter>`
[[cluster-stats-api-prereqs]]
==== {api-prereq-title}
* If the {es} {security-features} are enabled, you must have the `monitor` or
`manage` <<privileges-list-cluster,cluster privilege>> to use this API.
[[cluster-stats-api-desc]]
==== {api-description-title}
The Cluster Stats API allows to retrieve statistics from a cluster wide perspective.
The API returns basic index metrics (shard numbers, store size, memory usage) and information about the current nodes that form the cluster (number, roles, os, jvm versions, memory usage, cpu and installed plugins).
[[cluster-stats-api-path-params]]
==== {api-path-parms-title}
include::{es-ref-dir}/rest-api/common-parms.asciidoc[tag=node-filter]
[[cluster-stats-api-query-params]]
==== {api-query-parms-title}
`timeout`::
(Optional, <<time-units, time units>>) Period to wait for each node to respond.
If a node does not respond before its timeout expires, the response does not include its stats.
However, timed out nodes are included in the response's `_nodes.failed` property.
Defaults to no timeout.
`include_remotes`::
(Optional, Boolean) If `true`, includes remote cluster information in the response.
Defaults to `false`, so no remote cluster information is returned.
[role="child_attributes"]
[[cluster-stats-api-response-body]]
==== {api-response-body-title}
`_nodes`::
(object) Contains statistics about the number of nodes selected by the request's
<<cluster-nodes,node filters>>.
+
.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 <<cluster-name>> setting.
`cluster_uuid`::
(string) Unique identifier for the cluster.
`timestamp`::
(integer)
{wikipedia}/Unix_time[Unix timestamp], in milliseconds, of the last time the cluster statistics were refreshed.
`status`::
include::{es-ref-dir}/rest-api/common-parms.asciidoc[tag=cluster-health-status]
+
See <<cluster-health>>.
[[cluster-stats-api-response-body-indices]]
`indices`::
(object) Contains statistics about indices with shards assigned to selected nodes.
+
.Properties of `indices`
[%collapsible%open]
====
`count`::
(integer) Total number of indices with shards assigned to selected nodes.
`shards`::
(object) Contains statistics about shards assigned to selected nodes.
+
.Properties of `shards`
[%collapsible%open]
=====
`total`::
(integer) Total number of shards assigned to selected nodes.
`primaries`::
(integer) Number of primary shards assigned to selected nodes.
`replication`::
(float) Ratio of replica shards to primary shards across all selected nodes.
`index`::
(object) Contains statistics about shards assigned to selected nodes.
+
.Properties of `index`
[%collapsible%open]
======
`shards`::
(object) Contains statistics about the number of shards assigned to selected nodes.
+
.Properties of `shards`
[%collapsible%open]
=======
`min`::
(integer) Minimum number of shards in an index, counting only shards assigned to selected nodes.
`max`::
(integer) Maximum number of shards in an index, counting only shards assigned to selected nodes.
`avg`::
(float) Mean number of shards in an index, counting only shards assigned to selected nodes.
=======
`primaries`::
(object) Contains statistics about the number of primary shards assigned to selected nodes.
+
.Properties of `primaries`
[%collapsible%open]
=======
`min`::
(integer) Minimum number of primary shards in an index, counting only shards assigned to selected nodes.
`max`::
(integer) Maximum number of primary shards in an index, counting only shards assigned to selected nodes.
`avg`::
(float) Mean number of primary shards in an index, counting only shards assigned to selected nodes.
=======
`replication`::
(object) Contains statistics about the number of replication shards assigned to selected nodes.
+
.Properties of `replication`
[%collapsible%open]
=======
`min`::
(float) Minimum replication factor in an index, counting only shards assigned to selected nodes.
`max`::
(float) Maximum replication factor in an index, counting only shards assigned to selected nodes.
`avg`::
(float) Mean replication factor in an index, counting only shards assigned to selected nodes.
=======
======
=====
`docs`::
(object) Contains counts for documents in selected nodes.
+
.Properties of `docs`
[%collapsible%open]
=====
`count`::
(integer) Total number of non-deleted documents across all primary shards assigned to selected nodes.
+
This number is based on documents in Lucene segments and may include documents from nested fields.
`deleted`::
(integer) Total number of deleted documents across all primary shards assigned to selected nodes.
+
This number is based on documents in Lucene segments. {es} reclaims the disk space of deleted Lucene documents when a segment is merged.
`total_size_in_bytes`::
(integer) Total size in bytes across all primary shards assigned to selected nodes.
`total_size`::
(string) Total size across all primary shards assigned to selected nodes, as a human-readable string.
=====
`store`::
(object) Contains statistics about the size of shards assigned to selected nodes.
+
.Properties of `store`
[%collapsible%open]
=====
`size`::
(<<byte-units, byte units>>) Total size of all shards assigned to selected nodes.
`size_in_bytes`::
(integer) Total size, in bytes, of all shards assigned to selected nodes.
`total_data_set_size`::
(<<byte-units, byte units>>) Total data set size of all shards assigned to selected nodes.
This includes the size of shards not stored fully on the nodes, such as the cache for <<partially-mounted,partially mounted indices>>.
`total_data_set_size_in_bytes`::
(integer) Total data set size, in bytes, of all shards assigned to selected nodes.
This includes the size of shards not stored fully on the nodes, such as the cache for <<partially-mounted,partially mounted indices>>.
`reserved`::
(<<byte-units,byte value>>) A prediction of how much larger the shard stores will eventually grow due to ongoing peer recoveries, restoring snapshots, and similar activities.
`reserved_in_bytes`::
(integer) A prediction, in bytes, of how much larger the shard stores will eventually grow due to ongoing peer recoveries, restoring snapshots, and similar activities.
=====
`fielddata`::
(object) Contains statistics about the <<modules-fielddata, field data cache>> of selected nodes.
+
.Properties of `fielddata`
[%collapsible%open]
=====
`memory_size`::
(<<byte-units, byte units>>) Total amount of memory used for the field data cache across all shards assigned to selected nodes.
`memory_size_in_bytes`::
(integer) Total amount, in bytes, of memory used for the field data cache across all shards assigned to selected nodes.
`evictions`::
(integer) Total number of evictions from the field data cache across all shards assigned to selected nodes.
`global_ordinals.build_time`::
(<<time-units,time unit>>) The total time spent building global ordinals for all fields.
`global_ordinals.build_time_in_millis`::
(integer) The total time, in milliseconds, spent building global ordinals for all fields.
`global_ordinals.fields.[field-name].build_time`::
(<<time-units,time unit>>) The total time spent building global ordinals for field with specified name.
`global_ordinals.fields.[field-name].build_time_in_millis`::
(integer) The total time, in milliseconds, spent building global ordinals for field with specified name.
`global_ordinals.fields.[field-name].shard_max_value_count`::
(long) The total time spent building global ordinals for field with specified name.
=====
`query_cache`::
(object) Contains statistics about the query cache of selected nodes.
+
.Properties of `query_cache`
[%collapsible%open]
=====
`memory_size`::
(<<byte-units, byte units>>) Total amount of memory used for the query cache across all shards assigned to selected nodes.
`memory_size_in_bytes`::
(integer) Total amount, in bytes, of memory used for the query cache across all shards assigned to selected nodes.
`total_count`::
(integer) Total count of hits and misses in the query cache across all shards assigned to selected nodes.
`hit_count`::
(integer) Total count of query cache hits across all shards assigned to selected nodes.
`miss_count`::
(integer) Total count of query cache misses across all shards assigned to selected nodes.
`cache_size`::
(integer) Total number of entries currently in the query cache across all shards assigned to selected nodes.
`cache_count`::
(integer) Total number of entries added to the query cache across all shards assigned to selected nodes.
This number includes current and evicted entries.
`evictions`::
(integer) Total number of query cache evictions across all shards assigned to selected nodes.
=====
`completion`::
(object) Contains statistics about memory used for completion in selected nodes.
+
.Properties of `completion`
[%collapsible%open]
=====
`size`::
(<<byte-units, byte units>>) Total amount of memory used for completion across all shards assigned to selected nodes.
`size_in_bytes`::
(integer) Total amount, in bytes, of memory used for completion across all shards assigned to selected nodes.
=====
`segments`::
(object) Contains statistics about segments in selected nodes.
+
.Properties of `segments`
[%collapsible%open]
=====
`count`::
(integer) Total number of segments across all shards assigned to selected nodes.
`memory`::
(<<byte-units, byte units>>) Total amount of memory used for segments across all shards assigned to selected nodes.
`memory_in_bytes`::
(integer) Total amount, in bytes, of memory used for segments across all shards assigned to selected nodes.
`terms_memory`::
(<<byte-units, byte units>>) Total amount of memory used for terms across all shards assigned to selected nodes.
`terms_memory_in_bytes`::
(integer) Total amount, in bytes, of memory used for terms across all shards assigned to selected nodes.
`stored_fields_memory`::
(<<byte-units, byte units>>) Total amount of memory used for stored fields across all shards assigned to selected nodes.
`stored_fields_memory_in_bytes`::
(integer) Total amount, in bytes, of memory used for stored fields across all shards assigned to selected nodes.
`term_vectors_memory`::
(<<byte-units, byte units>>) Total amount of memory used for term vectors across all shards assigned to selected nodes.
`term_vectors_memory_in_bytes`::
(integer) Total amount, in bytes, of memory used for term vectors across all shards assigned to selected nodes.
`norms_memory`::
(<<byte-units, byte units>>) Total amount of memory used for normalization factors across all shards assigned to selected nodes.
`norms_memory_in_bytes`::
(integer) Total amount, in bytes, of memory used for normalization factors across all shards assigned to selected nodes.
`points_memory`::
(<<byte-units, byte units>>) Total amount of memory used for points across all shards assigned to selected nodes.
`points_memory_in_bytes`::
(integer) Total amount, in bytes, of memory used for points across all shards assigned to selected nodes.
`doc_values_memory`::
(<<byte-units, byte units>>) Total amount of memory used for doc values across all shards assigned to selected nodes.
`doc_values_memory_in_bytes`::
(integer) Total amount, in bytes, of memory used for doc values across all shards assigned to selected nodes.
`index_writer_memory`::
(<<byte-units, byte units>>) Total amount of memory used by all index writers across all shards assigned to selected nodes.
`index_writer_memory_in_bytes`::
(integer) Total amount, in bytes, of memory used by all index writers across all shards assigned to selected nodes.
`version_map_memory`::
(<<byte-units, byte units>>) Total amount of memory used by all version maps across all shards assigned to selected nodes.
`version_map_memory_in_bytes`::
(integer) Total amount, in bytes, of memory used by all version maps across all shards assigned to selected nodes.
`fixed_bit_set`::
(<<byte-units, byte units>>) Total amount of memory used by fixed bit sets across all shards assigned to selected nodes.
+
Fixed bit sets are used for nested object field types and type filters for <<parent-join,join>> fields.
`fixed_bit_set_memory_in_bytes`::
(integer) Total amount of memory, in bytes, used by fixed bit sets across all shards assigned to selected nodes.
`max_unsafe_auto_id_timestamp`::
(integer)
{wikipedia}/Unix_time[Unix timestamp], in milliseconds, of the most recently retried indexing request.
`file_sizes`::
(object) This object is not populated by the cluster stats API.
+
To get information on segment files, use the <<cluster-nodes-stats,node stats API>>.
=====
`mappings`::
(object) Contains statistics about <<mapping,field mappings>> in selected nodes.
+
.Properties of `mappings`
[%collapsible%open]
=====
`total_field_count`::
(integer) Total number of fields in all non-system indices.
`total_deduplicated_field_count`::
(integer) Total number of fields in all non-system indices, accounting for mapping deduplication.
`total_deduplicated_mapping_size`::
(<<byte-units, byte units>>) Total size of all mappings after deduplication and compression.
`total_deduplicated_mapping_size_in_bytes`::
(integer) Total size of all mappings, in bytes, after deduplication and compression.
`field_types`::
(array of objects) Contains statistics about <<mapping-types,field data types>> used in selected nodes.
+
.Properties of `field_types` objects
[%collapsible%open]
======
`name`::
(string) Field data type used in selected nodes.
`count`::
(integer) Number of fields mapped to the field data type in selected nodes.
`index_count`::
(integer) Number of indices containing a mapping of the field data type in selected nodes.
`indexed_vector_count`::
(integer) For dense_vector field types, number of indexed vector types in selected nodes.
`indexed_vector_dim_min`::
(integer) For dense_vector field types, the minimum dimension of all indexed vector types in selected nodes.
`indexed_vector_dim_max`::
(integer) For dense_vector field types, the maximum dimension of all indexed vector types in selected nodes.
`vector_index_type_count`::
(object) For dense_vector field types, the number of indexed vector types by index type in selected nodes.
`vector_similarity_type_count`::
(object) For dense_vector field types, the number of vector types by similarity type in selected nodes.
`vector_element_type_count`::
(object) For dense_vector field types, the number of vector types by element type in selected nodes.
`script_count`::
(integer) Number of fields that declare a script.
`lang`::
(array of strings) Script languages used for the optional scripts
`lines_max`::
(integer) Maximum number of lines for a single field script
`lines_total`::
(integer) Total number of lines for the scripts
`chars_max`::
(integer) Maximum number of characters for a single field script
`chars_total`::
(integer) Total number of characters for the scripts
`source_max`::
(integer) Maximum number of accesses to _source for a single field script
`source_total`::
(integer) Total number of accesses to _source for the scripts
`doc_max`::
(integer) Maximum number of accesses to doc_values for a single field script
`doc_total`::
(integer) Total number of accesses to doc_values for the scripts
======
`runtime_field_types`::
(array of objects) Contains statistics about <<runtime-mapping-fields, runtime field data types>> used in selected nodes.
+
.Properties of `runtime_field_types` objects
[%collapsible%open]
======
`name`::
(string) Field data type used in selected nodes.
`count`::
(integer) Number of runtime fields mapped to the field data type in selected nodes.
`index_count`::
(integer) Number of indices containing a mapping of the runtime field data type in selected nodes.
`scriptless_count`::
(integer) Number of runtime fields that don't declare a script.
`shadowed_count`::
(integer) Number of runtime fields that shadow an indexed field.
`lang`::
(array of strings) Script languages used for the runtime fields scripts
`lines_max`::
(integer) Maximum number of lines for a single runtime field script
`lines_total`::
(integer) Total number of lines for the scripts that define the current runtime field data type
`chars_max`::
(integer) Maximum number of characters for a single runtime field script
`chars_total`::
(integer) Total number of characters for the scripts that define the current runtime field data type
`source_max`::
(integer) Maximum number of accesses to _source for a single runtime field script
`source_total`::
(integer) Total number of accesses to _source for the scripts that define the current runtime field data type
`doc_max`::
(integer) Maximum number of accesses to doc_values for a single runtime field script
`doc_total`::
(integer) Total number of accesses to doc_values for the scripts that define the current runtime field data type
======
=====
`analysis`::
(object) Contains statistics about <<analyzer-anatomy,analyzers and analyzer components>>
used in selected nodes.
+
.Properties of `analysis`
[%collapsible%open]
=====
`char_filter_types`::
(array of objects) Contains statistics about <<analysis-charfilters,character filter>> types used in selected nodes.
+
.Properties of `char_filter_types` objects
[%collapsible%open]
======
`name`::
(string) Character filter type used in selected nodes.
`count`::
(integer) Number of analyzers or normalizers using the character filter type in selected nodes.
`index_count`::
(integer) Number of indices the character filter type in selected nodes.
======
`tokenizer_types`::
(array of objects) Contains statistics about <<analysis-tokenizers,tokenizer>> types used in selected nodes.
+
.Properties of `tokenizer_types` objects
[%collapsible%open]
======
`name`::
(string) Tokenizer type used in selected nodes.
`count`::
(integer) Number of analyzers or normalizers using the tokenizer type in selected nodes.
`index_count`::
(integer) Number of indices using the tokenizer type in selected nodes.
======
`filter_types`::
(array of objects) Contains statistics about <<analysis-tokenfilters,token filter>> types used in selected nodes.
+
.Properties of `filter_types` objects
[%collapsible%open]
======
`name`::
(string) Token filter type used in selected nodes.
`count`::
(integer) Number of analyzers or normalizers using the token filter type in selected nodes.
`index_count`::
(integer) Number of indices using the token filter type in selected nodes.
======
`analyzer_types`::
(array of objects) Contains statistics about <<analyzer-anatomy,analyzer>> types used in selected nodes.
+
.Properties of `analyzer_types` objects
[%collapsible%open]
======
`name`::
(string) Analyzer type used in selected nodes.
`count`::
(integer) Occurrences of the analyzer type in selected nodes.
`index_count`::
(integer) Number of indices using the analyzer type in selected nodes.
======
`built_in_char_filters`::
(array of objects) Contains statistics about built-in <<analysis-charfilters,character filters>>
used in selected nodes.
+
.Properties of `built_in_char_filters` objects
[%collapsible%open]
======
`name`::
(string) Built-in character filter used in selected nodes.
`count`::
(integer) Number of analyzers or normalizers using the built-in character filter in selected nodes.
`index_count`::
(integer) Number of indices using the built-in character filter in selected nodes.
======
`built_in_tokenizers`::
(array of objects) Contains statistics about built-in <<analysis-tokenizers,tokenizers>> used in selected nodes.
+
.Properties of `built_in_tokenizers` objects
[%collapsible%open]
======
`name`::
(string) Built-in tokenizer used in selected nodes.
`count`::
(integer) Number of analyzers or normalizers using the built-in tokenizer in selected nodes.
`index_count`::
(integer) Number of indices using the built-in tokenizer in selected nodes.
======
`built_in_filters`::
(array of objects) Contains statistics about built-in <<analysis-tokenfilters,token filters>> used in selected nodes.
+
.Properties of `built_in_filters` objects
[%collapsible%open]
======
`name`::
(string) Built-in token filter used in selected nodes.
`count`::
(integer) Number of analyzers or normalizers using the built-in token filter in selected nodes.
`index_count`::
(integer) Number of indices using the built-in token filter in selected nodes.
======
`built_in_analyzers`::
(array of objects) Contains statistics about built-in <<analysis-analyzers,analyzers>> used in selected nodes.
+
.Properties of `built_in_analyzers` objects
[%collapsible%open]
======
`name`::
(string) Built-in analyzer used in selected nodes.
`count`::
(integer) Occurrences of the built-in analyzer in selected nodes.
`index_count`::
(integer) Number of indices using the built-in analyzer in selected nodes.
======
`synonyms`::
(object) Contains statistics about synonyms defined in <<analysis-synonym-tokenfilter,synonym>> and <<analysis-synonym-graph-tokenfilter,synonym graph>> token filters configuration.
+
.Properties of `synonyms` objects
[%collapsible%open]
======
`inline`::
(object) Inline synonyms defined using `synonyms` configuration in synonym or synonym graph token filters.
+
.Properties of `inline` objects
[%collapsible%open]
=======
`count`::
(integer) Occurrences of inline synonyms configuration in selected nodes.
Each inline synonyms configuration will be counted separately, regardless of the synonyms defined.
Two synonyms configurations with the same synonyms will count as separate ocurrences.
`index_count`::
(integer) Number of indices that use inline synonyms configuration for synonyms token filters.
=======
`paths`::
(object) Contains statistics about synonym files defined as `synonyms_path` in <<analysis-synonym-tokenfilter,synonym>> and <<analysis-synonym-graph-tokenfilter,synonym graph>> token filters configuration.
+
.Properties of `paths` objects
[%collapsible%open]
=======
`count`::
(integer) Occurrences of unique synonym paths in selected nodes.
`index_count`::
(integer) Number of indices that use `synonyms_path` configuration for synonyms token filters.
=======
`sets`::
(object) Contains statistics about synonyms sets configured as `synonyms_set` in <<analysis-synonym-tokenfilter,synonym>> and <<analysis-synonym-graph-tokenfilter,synonym graph>> token filters configuration.
+
.Properties of `sets` objects
[%collapsible%open]
=======
`count`::
(integer) Occurrences of unique synonyms sets in selected nodes.
`index_count`::
(integer) Number of indices that use `synonyms_set` configuration for synonyms token filters.
=======
======
=====
`search`::
(object) Contains usage statistics about search requests submitted to selected nodes that acted as coordinator during the search execution.
Search requests are tracked when they are successfully parsed, regardless of their results:
requests that yield errors after parsing contribute to the usage stats, as well as requests that don't access any data.
+
.Properties of `search` objects
[%collapsible%open]
=====
`total`::
(integer) Total number of incoming search requests.
Search requests that don't specify a request body are not counted.
`queries`::
(object) Query types used in selected nodes.
For each query, name and number of times it's been used within the `query` or `post_filter` section is reported.
Queries are counted once per search request, meaning that if the same query type is used multiple times in the same search request, its counter will be incremented by 1 rather than by the number of times it's been used in that individual search request.
`sections`::
(object) Search sections used in selected nodes.
For each section, name and number of times it's been used is reported.
`retrievers`::
(object) Retriever types that were used in selected nodes.
For each retriever, name and number of times it's been used is reported.
=====
`dense_vector`::
(object) Contains statistics about indexed dense vector used in selected nodes.
+
.Properties of `dense_vector`
[%collapsible%open]
=====
`value_count`::
(integer) Total number of dense vector indexed in selected nodes.
=====
`sparse_vector`::
(object) Contains statistics about indexed sparse vector used in selected nodes.
+
.Properties of `sparse_vector`
[%collapsible%open]
=====
`value_count`::
(integer) Total number of sparse vectors indexed across all primary shards assigned to selected nodes.
=====
====
[[cluster-stats-api-response-body-nodes]]
`nodes`::
(object) Contains statistics about nodes selected by the request's <<cluster-nodes,node filters>>.
+
.Properties of `nodes`
[%collapsible%open]
====
`count`::
(object) Contains counts for nodes selected by the request's <<cluster-nodes,node filters>>.
+
.Properties of `count`
[%collapsible%open]
=====
`total`::
(integer) Total number of selected nodes.
`coordinating_only`::
(integer) Number of selected nodes without a <<modules-node,role>>.
These nodes are considered <<coordinating-only-node,coordinating only>> nodes.
`<role>`::
(integer) Number of selected nodes with the role.
For a list of roles, see
<<modules-node>>.
=====
`versions`::
(array of strings) Array of {es} versions used on selected nodes.
`os`::
(object) Contains statistics about the operating systems used by selected nodes.
+
.Properties of `os`
[%collapsible%open]
=====
`available_processors`::
(integer) Number of processors available to JVM across all selected nodes.
`allocated_processors`::
(integer) Number of processors used to calculate thread pool size across all selected nodes.
+
This number can be set with the `processors` setting of a node and defaults to the number of processors reported by the OS.
In both cases, this number will never be larger than `32`.
`names`::
(array of objects) Contains statistics about operating systems used by selected nodes.
+
.Properties of `names`
[%collapsible%open]
======
`name`:::
(string) Name of an operating system used by one or more selected nodes.
`count`:::
(string) Number of selected nodes using the operating system.
======
`pretty_names`::
(array of objects) Contains statistics about operating systems used by selected nodes.
+
.Properties of `pretty_names`
[%collapsible%open]
======
`pretty_name`:::
(string) Human-readable name of an operating system used by one or more selected nodes.
`count`:::
(string) Number of selected nodes using the operating system.
======
`architectures`::
(array of objects) Contains statistics about processor architectures (for example, x86_64 or aarch64) used by selected nodes.
+
.Properties of `architectures`
[%collapsible%open]
======
`arch`:::
(string) Name of an architecture used by one or more selected nodes.
`count`:::
(string) Number of selected nodes using the architecture.
======
`mem`::
(object) Contains statistics about memory used by selected nodes.
+
.Properties of `mem`
[%collapsible%open]
======
`total`::
(<<byte-units, byte units>>) Total amount of physical memory across all selected nodes.
`total_in_bytes`::
(integer) Total amount, in bytes, of physical memory across all selected nodes.
`adjusted_total`::
(<<byte-units,byte value>>) Total amount of memory across all selected nodes, but using the value specified using the `es.total_memory_bytes` system property instead of measured total memory for those nodes where that system property was set.
`adjusted_total_in_bytes`::
(integer) Total amount, in bytes, of memory across all selected nodes, but using the value specified using the `es.total_memory_bytes` system property instead of measured total memory for those nodes where that system property was set.
`free`::
(<<byte-units, byte units>>) Amount of free physical memory across all selected nodes.
`free_in_bytes`::
(integer) Amount, in bytes, of free physical memory across all selected nodes.
`used`::
(<<byte-units, byte units>>) Amount of physical memory in use across all selected nodes.
`used_in_bytes`::
(integer) Amount, in bytes, of physical memory in use across all selected nodes.
`free_percent`::
(integer) Percentage of free physical memory across all selected nodes.
`used_percent`::
(integer) Percentage of physical memory in use across all selected nodes.
======
=====
`process`::
(object) Contains statistics about processes used by selected nodes.
+
.Properties of `process`
[%collapsible%open]
=====
`cpu`::
(object) Contains statistics about CPU used by selected nodes.
+
.Properties of `cpu`
[%collapsible%open]
======
`percent`::
(integer) Percentage of CPU used across all selected nodes.
Returns `-1` if not supported.
======
`open_file_descriptors`::
(object) Contains statistics about open file descriptors in selected nodes.
+
.Properties of `open_file_descriptors`
[%collapsible%open]
======
`min`::
(integer) Minimum number of concurrently open file descriptors across all selected nodes.
Returns `-1` if not supported.
`max`::
(integer) Maximum number of concurrently open file descriptors allowed across all selected nodes.
Returns `-1` if not supported.
`avg`::
(integer) Average number of concurrently open file descriptors.
Returns `-1` if not supported.
======
=====
`jvm`::
(object) Contains statistics about the Java Virtual Machines (JVMs) used by selected nodes.
+
.Properties of `jvm`
[%collapsible%open]
=====
`max_uptime`::
(<<time-units,time unit>>) Uptime duration since JVM last started.
`max_uptime_in_millis`::
(integer) Uptime duration, in milliseconds, since JVM last started.
`versions`::
(array of objects) Contains statistics about the JVM versions used by selected nodes.
+
.Properties of `versions`
[%collapsible%open]
======
`version`::
(string) Version of JVM used by one or more selected nodes.
`vm_name`::
(string) Name of the JVM.
`vm_version`::
(string) Full version number of JVM.
+
The full version number includes a plus sign (`+`) followed by the build number.
`vm_vendor`::
(string) Vendor of the JVM.
`bundled_jdk`::
(Boolean) Always `true`.
All distributions come with a bundled Java Development Kit (JDK).
`using_bundled_jdk`::
(Boolean) If `true`, a bundled JDK is in use by JVM.
`count`::
(integer) Total number of selected nodes using JVM.
======
`mem`::
(object) Contains statistics about memory used by selected nodes.
+
.Properties of `mem`
[%collapsible%open]
======
`heap_used`::
(<<byte-units, byte units>>) Memory currently in use by the heap across all selected nodes.
`heap_used_in_bytes`::
(integer) Memory, in bytes, currently in use by the heap across all selected nodes.
`heap_max`::
(<<byte-units, byte units>>) Maximum amount of memory, in bytes, available for use by the heap across all selected nodes.
`heap_max_in_bytes`::
(integer) Maximum amount of memory, in bytes, available for use by the heap across all selected nodes.
======
`threads`::
(integer) Number of active threads in use by JVM across all selected nodes.
=====
`fs`::
(object) Contains statistics about file stores by selected nodes.
+
.Properties of `fs`
[%collapsible%open]
=====
`total`::
(<<byte-units, byte units>>) Total size of all file stores across all selected nodes.
`total_in_bytes`::
(integer) Total size, in bytes, of all file stores across all selected nodes.
`free`::
(<<byte-units, byte units>>) Amount of unallocated disk space in file stores across all selected nodes.
`free_in_bytes`::
(integer) Total number of unallocated bytes in file stores across all selected nodes.
`available`::
(<<byte-units, byte units>>) Total amount of disk space available to JVM in file stores across all selected nodes.
+
Depending on OS or process-level restrictions, this amount may be less than
`nodes.fs.free`.
This is the actual amount of free disk space the selected {es}
nodes can use.
`available_in_bytes`::
(integer) Total number of bytes available to JVM in file stores across all selected nodes.
+
Depending on OS or process-level restrictions, this number may be less than
`nodes.fs.free_in_byes`.
This is the actual amount of free disk space the selected {es} nodes can use.
=====
`plugins`::
(array of objects) Contains statistics about installed plugins and modules by selected nodes.
+
If no plugins or modules are installed, this array is empty.
+
.Properties of `plugins`
[%collapsible%open]
=====
`<plugin>`::
(object) Contains statistics about an installed plugin or module.
+
.Properties of `<plugin>`
[%collapsible%open]
======
`name`:::
(string) Name of the {es} plugin.
`version`:::
(string)
{es} version for which the plugin was built.
`elasticsearch_version`:::
(string)
{es} version for which the plugin was built.
`java_version`:::
(string) Java version for which the plugin was built.
`description`:::
(string) Short description of the plugin.
`classname`:::
(string) Class name used as the plugin's entry point.
`extended_plugins`:::
(array of strings) An array of other plugins extended by this plugin through the Java Service Provider Interface (SPI).
+
If this plugin extends no other plugins, this array is empty.
`has_native_controller`:::
(Boolean) If `true`, the plugin has a native controller process.
======
=====
`network_types`::
(object) Contains statistics about the transport and HTTP networks used by selected nodes.
+
.Properties of `network_types`
[%collapsible%open]
=====
`transport_types`::
(object) Contains statistics about the transport network types used by selected nodes.
+
.Properties of `transport_types`
[%collapsible%open]
======
`<transport_type>`::
(integer) Number of selected nodes using the transport type.
======
`http_types`::
(object) Contains statistics about the HTTP network types used by selected nodes.
+
.Properties of `http_types`
[%collapsible%open]
======
`<http_type>`::
(integer) Number of selected nodes using the HTTP type.
======
=====
`discovery_types`::
(object) Contains statistics about the <<discovery-hosts-providers,discovery types>> used by selected nodes.
+
.Properties of `discovery_types`
[%collapsible%open]
=====
`<discovery_type>`::
(integer) Number of selected nodes using the <<discovery-hosts-providers,discovery type>> to find other nodes.
=====
`packaging_types`::
(array of objects) Contains statistics about {es} distributions installed on selected nodes.
+
.Properties of `packaging_types`
[%collapsible%open]
=====
`flavor`:::
(string) Type of {es} distribution.
This is always `default`.
`type`:::
(string) File type, such as `tar` or `zip`, used for the distribution package.
`count`:::
(integer) Number of selected nodes using the distribution flavor and file type.
=====
====
`snapshots`::
(object) Contains statistics about the <<snapshot-restore,snapshot>> activity in the cluster.
+
.Properties of `snapshots`
[%collapsible%open]
=====
`current_counts`:::
(object) Contains statistics which report the numbers of various ongoing snapshot activities in the cluster.
+
.Properties of `current_counts`
[%collapsible%open]
======
`snapshots`:::
(integer) The total number of snapshots and clones currently being created by the cluster.
`shard_snapshots`:::
(integer) The total number of outstanding shard snapshots in the cluster.
`snapshot_deletions`:::
(integer) The total number of snapshot deletion operations that the cluster is currently running.
`concurrent_operations`:::
(integer) The total number of snapshot operations that the cluster is currently running concurrently.
This is the total of the `snapshots` and `snapshot_deletions`
entries, and is limited by <<snapshot-max-concurrent-ops,the
`snapshot.max_concurrent_operations` setting>>.
`cleanups`:::
(integer) The total number of repository cleanup operations that the cluster is currently running.
These operations do not count towards the total number of concurrent operations.
======
`repositories`:::
(object) Contains statistics which report the progress of snapshot activities broken down by repository.
This object contains one entry for each repository registered with the cluster.
+
.Properties of `repositories`
[%collapsible%open]
======
`current_counts`:::
(object) Contains statistics which report the numbers of various ongoing snapshot activities for this repository.
+
.Properties of `current_counts`
[%collapsible%open]
=======
`snapshots`:::
(integer) The total number of ongoing snapshots in this repository.
`clones`:::
(integer) The total number of ongoing snapshot clones in this repository.
`finalizations`:::
(integer) The total number of this repository's ongoing snapshots and clone operations which are mostly complete except for their last "finalization" step.
`deletions`:::
(integer) The total number of ongoing snapshot deletion operations in this repository.
`snapshot_deletions`:::
(integer) The total number of snapshots that are currently being deleted from this repository.
`active_deletions`:::
(integer) The total number of ongoing snapshot deletion operations which are currently active in this repository.
Snapshot deletions do not run concurrently with other snapshot operations, so this may be `0` if any pending deletes are waiting for other operations to finish.
`shards`:::
(object) Contains statistics which report the shard-level progress of ongoing snapshot activities for a repository.
Note that these statistics relate only to ongoing snapshots.
+
.Properties of `shards`
[%collapsible%open]
========
`total`:::
(integer) The total number of shard snapshots currently tracked by this repository.
This statistic only counts shards in ongoing snapshots, so it will drop when a snapshot completes and will be `0` if there are no ongoing snapshots.
`complete`:::
(integer) The total number of tracked shard snapshots which have completed in this repository.
This statistic only counts shards in ongoing snapshots, so it will drop when a snapshot completes and will be `0` if there are no ongoing snapshots.
`incomplete`:::
(integer) The total number of tracked shard snapshots which have not completed in this repository.
This is the difference between the `total` and `complete` values.
`states`:::
(object) The total number of shard snapshots in each of the named states in this repository.
These states are an implementation detail of the snapshotting process which may change between versions.
They are included here for expert users, but should otherwise be ignored.
========
=======
`oldest_start_time`:::
(string) The start time of the oldest running snapshot in this repository.
`oldest_start_time_in_millis`:::
(integer) The start time of the oldest running snapshot in this repository, represented as milliseconds since the Unix epoch.
======
=====
====
`repositories`::
(object) Contains statistics about the <<snapshot-restore,snapshot>> repositories defined in the cluster, broken down by repository type.
+
.Properties of `repositories`
[%collapsible%open]
=====
`count`:::
(integer) The number of repositories of this type in the cluster.
`read_only`:::
(integer) The number of repositories of this type in the cluster which are registered read-only.
`read_write`:::
(integer) The number of repositories of this type in the cluster which are not registered as read-only.
Each repository type may also include other statistics about the repositories of that type here.
=====
====
`ccs`::
(object) Contains information relating to <<modules-cross-cluster-search, {ccs}>> settings and activity in the cluster.
+
.Properties of `ccs`
[%collapsible%open]
=====
`clusters`:::
(object) Contains remote cluster settings and metrics collected from them.
The keys are cluster names, and the values are per-cluster data.
Only present if `include_remotes` option is set to `true`.
+
.Properties of `clusters`
[%collapsible%open]
======
`cluster_uuid`:::
(string) The UUID of the remote cluster.
`mode`:::
(string) The <<sniff-proxy-modes, connection mode>> used to communicate with the remote cluster.
`skip_unavailable`:::
(Boolean) The `skip_unavailable` <<skip-unavailable-clusters, setting>> used for this remote cluster.
`transport.compress`:::
(string) Transport compression setting used for this remote cluster.
`version`:::
(array of strings) The list of {es} versions used by the nodes on the remote cluster.
`status`:::
include::{es-ref-dir}/rest-api/common-parms.asciidoc[tag=cluster-health-status]
+
See <<cluster-health>>.
`nodes_count`:::
(integer) The total count of nodes in the remote cluster.
`shards_count`:::
(integer) The total number of shards in the remote cluster.
`indices_count`:::
(integer) The total number of indices in the remote cluster.
`indices_total_size_in_bytes`:::
(integer) Total data set size, in bytes, of all shards assigned to selected nodes.
`indices_total_size`:::
(string) Total data set size, in bytes, of all shards assigned to selected nodes, as a human-readable string.
`max_heap_in_bytes`:::
(integer) Maximum amount of memory, in bytes, available for use by the heap across the nodes of the remote cluster.
`max_heap`:::
(string) Maximum amount of memory, in bytes, available for use by the heap across the nodes of the remote cluster,
as a human-readable string.
`mem_total_in_bytes`:::
(integer) Total amount, in bytes, of physical memory across the nodes of the remote cluster.
`mem_total`:::
(string) Total amount, in bytes, of physical memory across the nodes of the remote cluster, as a human-readable string.
======
`_search`:::
(object) Contains the information about the <<modules-cross-cluster-search, {ccs}>> usage in the cluster.
+
.Properties of `_search`
[%collapsible%open]
======
`total`:::
(integer) The total number of {ccs} requests that have been executed by the cluster.
`success`:::
(integer) The total number of {ccs} requests that have been successfully executed by the cluster.
`skipped`:::
(integer) The total number of {ccs} requests (successful or failed) that had at least one remote cluster skipped.
`took`:::
(object) Contains statistics about the time taken to execute {ccs} requests.
+
.Properties of `took`
[%collapsible%open]
=======
`max`:::
(integer) The maximum time taken to execute a {ccs} request, in milliseconds.
`avg`:::
(integer) The median time taken to execute a {ccs} request, in milliseconds.
`p90`:::
(integer) The 90th percentile of the time taken to execute {ccs} requests, in milliseconds.
=======
`took_mrt_true`::
(object) Contains statistics about the time taken to execute {ccs} requests for which the
<<ccs-minimize-roundtrips,`ccs_minimize_roundtrips`>> setting was set to `true`.
+
.Properties of `took_mrt_true`
[%collapsible%open]
=======
`max`:::
(integer) The maximum time taken to execute a {ccs} request, in milliseconds.
`avg`:::
(integer) The median time taken to execute a {ccs} request, in milliseconds.
`p90`:::
(integer) The 90th percentile of the time taken to execute {ccs} requests, in milliseconds.
=======
`took_mrt_false`::
(object) Contains statistics about the time taken to execute {ccs} requests for which the
<<ccs-minimize-roundtrips,`ccs_minimize_roundtrips`>> setting was set to `false`.
+
.Properties of `took_mrt_false`
[%collapsible%open]
=======
`max`:::
(integer) The maximum time taken to execute a {ccs} request, in milliseconds.
`avg`:::
(integer) The median time taken to execute a {ccs} request, in milliseconds.
`p90`:::
(integer) The 90th percentile of the time taken to execute {ccs} requests, in milliseconds.
=======
`remotes_per_search_max`::
(integer) The maximum number of remote clusters that were queried in a single {ccs} request.
`remotes_per_search_avg`::
(float) The average number of remote clusters that were queried in a single {ccs} request.
`failure_reasons`::
(object) Contains statistics about the reasons for {ccs} request failures.
The keys are the failure reason names and the values are the number of requests that failed for that reason.
`features`::
(object) Contains statistics about the features used in {ccs} requests.
The keys are the names of the search feature, and the values are the number of requests that used that feature.
Single request can use more than one feature (e.g. both `async` and `wildcard`).
Known features are:
* `async` - <<async-search, Async search>>
* `mrt` - <<ccs-minimize-roundtrips,`ccs_minimize_roundtrips`>> setting was set to `true`.
* `wildcard` - <<api-multi-index,Multi-target syntax>> for indices with wildcards was used in the search request.
`clients`::
(object) Contains statistics about the clients that executed {ccs} requests.
The keys are the names of the clients, and the values are the number of requests that were executed by that client.
Only known clients (such as `kibana` or `elasticsearch`) are counted.
`clusters`::
(object) Contains statistics about the clusters that were queried in {ccs} requests.
The keys are cluster names, and the values are per-cluster telemetry data.
This also includes the local cluster itself, which uses the name `(local)`.
+
.Properties of per-cluster data:
[%collapsible%open]
=======
`total`:::
(integer) The total number of successful (not skipped) {ccs} requests that were executed against this cluster.
This may include requests where partial results were returned, but not requests in which the cluster has been skipped entirely.
`skipped`:::
(integer) The total number of {ccs} requests for which this cluster was skipped.
`took`:::
(object) Contains statistics about the time taken to execute requests against this cluster.
+
.Properties of `took`
[%collapsible%open]
========
`max`:::
(integer) The maximum time taken to execute a {ccs} request, in milliseconds.
`avg`:::
(integer) The median time taken to execute a {ccs} request, in milliseconds.
`p90`:::
(integer) The 90th percentile of the time taken to execute {ccs} requests, in milliseconds.
========
=======
======
=====
[[cluster-stats-api-example]]
==== {api-examples-title}
[source,console]
--------------------------------------------------
GET /_cluster/stats?human&pretty
--------------------------------------------------
// TEST[setup:my_index]
The API returns the following response:
["source","js",subs="attributes,callouts"]
--------------------------------------------------
{
"_nodes" : {
"total" : 1,
"successful" : 1,
"failed" : 0
},
"cluster_uuid": "YjAvIhsCQ9CbjWZb2qJw3Q",
"cluster_name": "elasticsearch",
"timestamp": 1459427693515,
"status": "green",
"indices": {
"count": 1,
"shards": {
"total": 5,
"primaries": 5,
"replication": 0,
"index": {
"shards": {
"min": 5,
"max": 5,
"avg": 5
},
"primaries": {
"min": 5,
"max": 5,
"avg": 5
},
"replication": {
"min": 0,
"max": 0,
"avg": 0
}
}
},
"docs": {
"count": 10,
"deleted": 0,
"total_size": "8.6kb",
"total_size_in_bytes": 8833
},
"store": {
"size": "16.2kb",
"size_in_bytes": 16684,
"total_data_set_size": "16.2kb",
"total_data_set_size_in_bytes": 16684,
"reserved": "0b",
"reserved_in_bytes": 0
},
"search": {
...
},
"fielddata": {
"memory_size": "0b",
"memory_size_in_bytes": 0,
"evictions": 0,
"global_ordinals": {
"build_time" : "0s",
"build_time_in_millis" : 0
}
},
"query_cache": {
"memory_size": "0b",
"memory_size_in_bytes": 0,
"total_count": 0,
"hit_count": 0,
"miss_count": 0,
"cache_size": 0,
"cache_count": 0,
"evictions": 0
},
"completion": {
"size": "0b",
"size_in_bytes": 0
},
"segments": {
"count": 4,
"memory": "8.6kb",
"memory_in_bytes": 0,
"terms_memory": "0b",
"terms_memory_in_bytes": 0,
"stored_fields_memory": "0b",
"stored_fields_memory_in_bytes": 0,
"term_vectors_memory": "0b",
"term_vectors_memory_in_bytes": 0,
"norms_memory": "0b",
"norms_memory_in_bytes": 0,
"points_memory" : "0b",
"points_memory_in_bytes" : 0,
"doc_values_memory": "0b",
"doc_values_memory_in_bytes": 0,
"index_writer_memory": "0b",
"index_writer_memory_in_bytes": 0,
"version_map_memory": "0b",
"version_map_memory_in_bytes": 0,
"fixed_bit_set": "0b",
"fixed_bit_set_memory_in_bytes": 0,
"max_unsafe_auto_id_timestamp" : -9223372036854775808,
"file_sizes": {}
},
"mappings": {
"total_field_count": 0,
"total_deduplicated_field_count": 0,
"total_deduplicated_mapping_size": "0b",
"total_deduplicated_mapping_size_in_bytes": 0,
"field_types": [],
"runtime_field_types": []
},
"analysis": {
"char_filter_types": [],
"tokenizer_types": [],
"filter_types": [],
"analyzer_types": [],
"built_in_char_filters": [],
"built_in_tokenizers": [],
"built_in_filters": [],
"built_in_analyzers": [],
"synonyms": {}
},
"versions": [
{
"version": "8.0.0",
"index_count": 1,
"primary_shard_count": 1,
"total_primary_size": "7.4kb",
"total_primary_bytes": 7632
}
],
"dense_vector": {
"value_count": 0
},
"sparse_vector": {
"value_count": 0
}
},
"nodes": {
"count": {
"total": 1,
"data": 1,
"coordinating_only": 0,
"master": 1,
"ingest": 1,
"voting_only": 0
},
"versions": [
"{version}"
],
"os": {
"available_processors": 8,
"allocated_processors": 8,
"names": [
{
"name": "Mac OS X",
"count": 1
}
],
"pretty_names": [
{
"pretty_name": "Mac OS X",
"count": 1
}
],
"architectures": [
{
"arch": "x86_64",
"count": 1
}
],
"mem" : {
"total" : "16gb",
"total_in_bytes" : 17179869184,
"adjusted_total" : "16gb",
"adjusted_total_in_bytes" : 17179869184,
"free" : "78.1mb",
"free_in_bytes" : 81960960,
"used" : "15.9gb",
"used_in_bytes" : 17097908224,
"free_percent" : 0,
"used_percent" : 100
}
},
"process": {
"cpu": {
"percent": 9
},
"open_file_descriptors": {
"min": 268,
"max": 268,
"avg": 268
}
},
"jvm": {
"max_uptime": "13.7s",
"max_uptime_in_millis": 13737,
"versions": [
{
"version": "12",
"vm_name": "OpenJDK 64-Bit Server VM",
"vm_version": "12+33",
"vm_vendor": "Oracle Corporation",
"bundled_jdk": true,
"using_bundled_jdk": true,
"count": 1
}
],
"mem": {
"heap_used": "57.5mb",
"heap_used_in_bytes": 60312664,
"heap_max": "989.8mb",
"heap_max_in_bytes": 1037959168
},
"threads": 90
},
"fs": {
"total": "200.6gb",
"total_in_bytes": 215429193728,
"free": "32.6gb",
"free_in_bytes": 35064553472,
"available": "32.4gb",
"available_in_bytes": 34802409472
},
"plugins": [
{
"name": "analysis-icu",
"version": "{version}",
"description": "The ICU Analysis plugin integrates Lucene ICU module into elasticsearch, adding ICU relates analysis components.",
"classname": "org.elasticsearch.plugin.analysis.icu.AnalysisICUPlugin",
"has_native_controller": false
},
...
],
"ingest": {
"number_of_pipelines" : 1,
"processor_stats": {
...
}
},
"indexing_pressure": {
"memory": {
"current": {
"combined_coordinating_and_primary": "0b",
"combined_coordinating_and_primary_in_bytes": 0,
"coordinating": "0b",
"coordinating_in_bytes": 0,
"primary": "0b",
"primary_in_bytes": 0,
"replica": "0b",
"replica_in_bytes": 0,
"all": "0b",
"all_in_bytes": 0
},
"total": {
"combined_coordinating_and_primary": "0b",
"combined_coordinating_and_primary_in_bytes": 0,
"coordinating": "0b",
"coordinating_in_bytes": 0,
"primary": "0b",
"primary_in_bytes": 0,
"replica": "0b",
"replica_in_bytes": 0,
"all": "0b",
"all_in_bytes": 0,
"coordinating_rejections": 0,
"primary_rejections": 0,
"replica_rejections": 0,
"primary_document_rejections": 0
},
"limit" : "0b",
"limit_in_bytes": 0
}
},
"network_types": {
...
},
"discovery_types": {
...
},
"packaging_types": [
{
...
}
]
},
"snapshots": {
...
},
"repositories": {
...
},
"ccs": {
"_search": {
"total": 7,
"success": 7,
"skipped": 0,
"took": {
"max": 36,
"avg": 20,
"p90": 33
},
"took_mrt_true": {
"max": 33,
"avg": 15,
"p90": 33
},
"took_mrt_false": {
"max": 36,
"avg": 26,
"p90": 36
},
"remotes_per_search_max": 3,
"remotes_per_search_avg": 2.0,
"failure_reasons": { ... },
"features": { ... },
"clients": { ... },
"clusters": { ... }
}
}
}
--------------------------------------------------
// TESTRESPONSE[s/"plugins": \[[^\]]*\]/"plugins": $body.$_path/]
// TESTRESPONSE[s/"network_types": \{[^\}]*\}/"network_types": $body.$_path/]
// TESTRESPONSE[s/"discovery_types": \{[^\}]*\}/"discovery_types": $body.$_path/]
// TESTRESPONSE[s/"processor_stats": \{[^\}]*\}/"processor_stats": $body.$_path/]
// TESTRESPONSE[s/"count": \{[^\}]*\}/"count": $body.$_path/]
// TESTRESPONSE[s/"packaging_types": \[[^\]]*\]/"packaging_types": $body.$_path/]
// TESTRESPONSE[s/"snapshots": \{[^\}]*\}/"snapshots": $body.$_path/]
// TESTRESPONSE[s/"repositories": \{[^\}]*\}/"repositories": $body.$_path/]
// TESTRESPONSE[s/"clusters": \{[^\}]*\}/"clusters": $body.$_path/]
// TESTRESPONSE[s/"features": \{[^\}]*\}/"features": $body.$_path/]
// TESTRESPONSE[s/"clients": \{[^\}]*\}/"clients": $body.$_path/]
// TESTRESPONSE[s/"failure_reasons": \{[^\}]*\}/"failure_reasons": $body.$_path/]
// TESTRESPONSE[s/"field_types": \[[^\]]*\]/"field_types": $body.$_path/]
// TESTRESPONSE[s/"runtime_field_types": \[[^\]]*\]/"runtime_field_types": $body.$_path/]
// TESTRESPONSE[s/"search": \{[^\}]*\}/"search": $body.$_path/]
// TESTRESPONSE[s/"remotes_per_search_avg": [.0-9]+/"remotes_per_search_avg": $body.$_path/]
// TESTRESPONSE[s/: (true|false)/: $body.$_path/]
// TESTRESPONSE[s/: (\-)?[0-9]+/: $body.$_path/]
// TESTRESPONSE[s/: "[^"]*"/: $body.$_path/]
// These replacements do a few things:
// 1. Ignore the contents of the `plugins` object because we don't know all of
// the plugins that will be in it. And because we figure folks don't need to
// see an exhaustive list anyway.
// 2. Similarly, ignore the contents of `network_types`, `discovery_types`,
// `packaging_types`, `snapshots` and `repositories`.
// 3. Ignore the contents of the (nodes) count object, as what's shown here
// depends on the license. Voting-only nodes are e.g. only shown when this
// test runs with a basic license.
// 4. All of the numbers and strings on the right hand side of *every* field in
// the response are ignored. So we're really only asserting things about the
// the shape of this response, not the values in it.
This API can be restricted to a subset of the nodes using <<cluster-nodes,node filters>>:
[source,console]
--------------------------------------------------
GET /_cluster/stats/nodes/node1,node*,master:false
--------------------------------------------------
This API call will return data about the remote clusters if any are configured:
[source,console]
--------------------------------------------------
GET /_cluster/stats?include_remotes=true
--------------------------------------------------
The resulting response will contain the `ccs` object with information about the remote clusters:
[source,js]
--------------------------------------------------
{
"ccs": {
"clusters": {
"remote_cluster": {
"cluster_uuid": "YjAvIhsCQ9CbjWZb2qJw3Q",
"mode": "sniff",
"skip_unavailable": false,
"transport.compress": "true",
"version": ["8.16.0"],
"status": "green",
"nodes_count": 10,
"shards_count": 420,
"indices_count": 10,
"indices_total_size_in_bytes": 6232658362,
"max_heap_in_bytes": 1037959168,
"mem_total_in_bytes": 137438953472
}
}
}
}
--------------------------------------------------
// TESTRESPONSE[skip:TODO]