580 lines
16 KiB
Plaintext
580 lines
16 KiB
Plaintext
[[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
|
|
--------------------------------------------------
|