123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579 |
- [[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-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::{docdir}/rest-api/common-parms.asciidoc[tag=node-filter]
- [[cluster-stats-api-query-params]]
- ==== {api-query-parms-title}
- include::{docdir}/rest-api/common-parms.asciidoc[tag=flat-settings]
- include::{docdir}/rest-api/common-parms.asciidoc[tag=timeout]
- [[cluster-stats-api-response-body]]
- ==== {api-response-body-title}
- `_nodes.total`::
- (integer)
- Total number of nodes selected by the request's <<cluster-nodes,node filters>>.
- `_nodes.successful`::
- (integer)
- Number of nodes that responded successfully to the request.
- `_nodes.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)
- https://en.wikipedia.org/wiki/Unix_time[Unix timestamp], in milliseconds, of
- the last time the cluster statistics were refreshed.
- `status`::
- include::{docdir}/rest-api/common-parms.asciidoc[tag=cluster-health-status]
- +
- See <<cluster-health>>.
- `indices.count`::
- (integer)
- Total number of indices with shards assigned to selected nodes.
- `indices.shards.total`::
- (integer)
- Total number of shards assigned to selected nodes.
- `indices.shards.primaries`::
- (integer)
- Number of primary shards assigned to selected nodes.
- `indices.shards.replication`::
- (integer)
- Ratio of replica shards to primary shards across all selected nodes.
- `indices.shards.index.shards.min`::
- (integer)
- Minimum number of shards in an index, counting only shards assigned to
- selected nodes.
- `indices.shards.index.shards.max`::
- (integer)
- Maximum number of shards in an index, counting only shards assigned to
- selected nodes.
- `indices.shards.index.shards.avg`::
- (integer)
- Mean number of shards in an index, counting only shards assigned to
- selected nodes.
- `indices.shards.index.primaries.min`::
- (integer)
- Minimum number of primary shards in an index, counting only shards assigned
- to selected nodes.
- `indices.shards.index.primaries.max`::
- (integer)
- Maximum number of primary shards in an index, counting only shards assigned
- to selected nodes.
- `indices.shards.index.primaries.avg`::
- (integer)
- Mean number of primary shards in an index, counting only shards assigned to
- selected nodes.
- `indices.shards.index.replication.min`::
- (integer)
- Minimum replication factor in an index, counting only shards assigned to
- selected nodes.
- `indices.shards.index.replication.max`::
- (integer)
- Maximum replication factor in an index, counting only shards assigned to
- selected nodes.
- `indices.shards.index.replication.avg`::
- (integer)
- Mean replication factor in an index, counting only shards assigned to selected
- nodes.
- `indices.docs.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.
- `indices.docs.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.
- `indices.store.size`::
- (<<byte-units, byte units>>)
- Total size of all shards assigned to selected nodes.
- `indices.store.size_in_bytes`::
- (integer)
- Total size, in bytes, of all shards assigned to selected nodes.
- `indices.fielddata.memory_size`::
- (<<byte-units, byte units>>)
- Total amount of memory used for the field data cache across all shards
- assigned to selected nodes.
- `indices.fielddata.memory_size_in_bytes`::
- (integer)
- Total amount, in bytes, of memory used for the field data cache across all
- shards assigned to selected nodes.
- `indices.fielddata.evictions`::
- (integer)
- Total number of evictions from the field data cache across all shards assigned
- to selected nodes.
- `indices.query_cache.memory_size`::
- (<<byte-units, byte units>>)
- Total amount of memory used for the query cache across all shards assigned to
- selected nodes.
- `indices.query_cache.memory_size_in_bytes`::
- (integer)
- Total amount, in bytes, of memory used for the query cache across all shards
- assigned to selected nodes.
- `indices.query_cache.total_count`::
- (integer)
- Total count of hits and misses in the query cache across all shards assigned to
- selected nodes.
- `indices.query_cache.hit_count`::
- (integer)
- Total count of query cache hits across all shards assigned to selected nodes.
- `indices.query_cache.miss_count`::
- (integer)
- Total count of query cache misses across all shards assigned to selected nodes.
- `indices.query_cache.cache_size`::
- (integer)
- Total number of entries currently in the query cache across all shards assigned
- to selected nodes.
- `indices.query_cache.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.
- `indices.query_cache.evictions`::
- (integer)
- Total number of query cache evictions across all shards assigned to selected
- nodes.
- `indices.completion.size`::
- (<<byte-units, byte units>>)
- Total amount of memory used for completion across all shards assigned to
- selected nodes.
- `indices.completion.size_in_bytes`::
- (integer)
- Total amount, in bytes, of memory used for completion across all shards assigned
- to selected nodes.
- `indices.segments.count`::
- (integer)
- Total number of segments across all shards assigned to selected nodes.
- `indices.segments.memory`::
- (<<byte-units, byte units>>)
- Total amount of memory used for segments across all shards assigned to selected
- nodes.
- `indices.segments.memory_in_bytes`::
- (integer)
- Total amount, in bytes, of memory used for segments across all shards assigned to
- selected nodes.
- `indices.segments.terms_memory`::
- (<<byte-units, byte units>>)
- Total amount of memory used for terms across all shards assigned to selected
- nodes.
- `indices.segments.terms_memory_in_bytes`::
- (integer)
- Total amount, in bytes, of memory used for terms across all shards assigned to
- selected nodes.
- `indices.segments.stored_fields_memory`::
- (<<byte-units, byte units>>)
- Total amount of memory used for stored fields across all shards assigned to
- selected nodes.
- `indices.segments.stored_fields_memory_in_bytes`::
- (integer)
- Total amount, in bytes, of memory used for stored fields across all shards
- assigned to selected nodes.
- `indices.segments.term_vectors_memory`::
- (<<byte-units, byte units>>)
- Total amount of memory used for term vectors across all shards assigned to
- selected nodes.
- `indices.segments.term_vectors_memory_in_bytes`::
- (integer)
- Total amount, in bytes, of memory used for term vectors across all shards
- assigned to selected nodes.
- `indices.segments.norms_memory`::
- (<<byte-units, byte units>>)
- Total amount of memory used for normalization factors across all shards assigned
- to selected nodes.
- `indices.segments.norms_memory_in_bytes`::
- (integer)
- Total amount, in bytes, of memory used for normalization factors across all
- shards assigned to selected nodes.
- `indices.segments.points_memory`::
- (<<byte-units, byte units>>)
- Total amount of memory used for points across all shards assigned to selected
- nodes.
- `indices.segments.points_memory_in_bytes`::
- (integer)
- Total amount, in bytes, of memory used for points across all shards assigned to
- selected nodes.
- `indices.segments.doc_values_memory`::
- (<<byte-units, byte units>>)
- Total amount of memory used for doc values across all shards assigned to
- selected nodes.
- `indices.segments.doc_values_memory_in_bytes`::
- (integer)
- Total amount, in bytes, of memory used for doc values across all shards assigned
- to selected nodes.
- `indices.segments.index_writer_memory`::
- (<<byte-units, byte units>>)
- Total amount of memory used by all index writers across all shards assigned to
- selected nodes.
- `indices.segments.index_writer_memory_in_bytes`::
- (integer)
- Total amount, in bytes, of memory used by all index writers across all shards
- assigned to selected nodes.
- `indices.segments.version_map_memory`::
- (<<byte-units, byte units>>)
- Total amount of memory used by all version maps across all shards assigned to
- selected nodes.
- `indices.segments.version_map_memory_in_bytes`::
- (integer)
- Total amount, in bytes, of memory used by all version maps across all shards
- assigned to selected nodes.
- `indices.segments.fixed_bit_set_memory`::
- (<<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.
- `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 selected nodes.
- `indices.segments.max_unsafe_auto_id_timestamp`::
- (integer)
- https://en.wikipedia.org/wiki/Unix_time[Unix timestamp], in milliseconds, of
- the most recently retried indexing request.
- `indices.segments.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>>.
- [[cluster-stats-api-example]]
- ==== {api-examples-title}
- [source,console]
- --------------------------------------------------
- GET /_cluster/stats?human&pretty
- --------------------------------------------------
- // TEST[setup:twitter]
- 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
- },
- "store": {
- "size": "16.2kb",
- "size_in_bytes": 16684
- },
- "fielddata": {
- "memory_size": "0b",
- "memory_size_in_bytes": 0,
- "evictions": 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": 8898,
- "terms_memory": "6.3kb",
- "terms_memory_in_bytes": 6522,
- "stored_fields_memory": "1.2kb",
- "stored_fields_memory_in_bytes": 1248,
- "term_vectors_memory": "0b",
- "term_vectors_memory_in_bytes": 0,
- "norms_memory": "384b",
- "norms_memory_in_bytes": 384,
- "points_memory" : "0b",
- "points_memory_in_bytes" : 0,
- "doc_values_memory": "744b",
- "doc_values_memory_in_bytes": 744,
- "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": {}
- }
- },
- "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
- }
- ],
- "mem" : {
- "total" : "16gb",
- "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": {
- ...
- }
- },
- "network_types": {
- ...
- },
- "discovery_types": {
- ...
- },
- "packaging_types": [
- {
- ...
- }
- ]
- }
- }
- --------------------------------------------------
- // 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/: 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`, and
- // `packaging_types`.
- // 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
- --------------------------------------------------
|