Cluster stats API

edit

Returns cluster statistics.

Request

edit

GET /_cluster/stats

GET /_cluster/stats/nodes/<node_filter>

Description

edit

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).

Path parameters

edit
<node_filter>
(Optional, string) Comma-separated list of node filters used to limit returned information. Defaults to all nodes in the cluster.

Query parameters

edit
flat_settings
(Optional, boolean) If true, returns settings in flat format. Defaults to false.
timeout
(Optional, time units) Specifies the period of time to wait for a response. If no response is received before the timeout expires, the request fails and returns an error. Defaults to 30s.

Response body

edit
_nodes.total
(integer) Total number of nodes selected by the request’s 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) Unix timestamp, in milliseconds, of the last time the cluster statistics were refreshed.
status

(string) Health status of the cluster, based on the state of its primary and replica shards. Statuses are:

green
All shards are assigned.
yellow
All primary shards are assigned, but one or more replica shards are unassigned. If a node in the cluster fails, some data could be unavailable until that node is repaired.
red
One or more primary shards are unassigned, so some data is unavailable. This can occur briefly during cluster startup as primary shards are assigned.

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. Elasticsearch reclaims the disk space of deleted Lucene documents when a segment is merged.

indices.store.size
(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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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 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) 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 node stats API.

Examples

edit
GET /_cluster/stats?human&pretty

The API returns the following response:

{
   "_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": [
         "7.5.2"
      ],
      "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": "7.5.2",
          "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": [
        {
          ...
        }
      ]
   }
}

This API can be restricted to a subset of the nodes using node filters:

GET /_cluster/stats/nodes/node1,node*,master:false