123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236 |
- [[cluster-stats]]
- == Cluster Stats
- 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).
- [source,js]
- --------------------------------------------------
- GET /_cluster/stats?human&pretty
- --------------------------------------------------
- // CONSOLE
- // TEST[setup:twitter]
- Will return, for example:
- ["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
- },
- ...
- ],
- "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/"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,js]
- --------------------------------------------------
- GET /_cluster/stats/nodes/node1,node*,master:false
- --------------------------------------------------
- // CONSOLE
|