Elasticsearch专题精讲—— REST APIs —— Cluster APIs —— Cluster stats API
REST APIs —— Cluster APIs —— Cluster stats API
https://www.elastic.co/guide/en/elasticsearch/reference/8.8/cluster-stats.html#cluster-stats
Returns cluster statistics.
返回集群统计信息。
1、Request(请求)
https://www.elastic.co/guide/en/elasticsearch/reference/8.8/cluster-stats.html#cluster-stats-api-request
GET /_cluster/stats GET /_cluster/stats/nodes/< node_filter>
2、Prerequisites(先决条件)
https://www.elastic.co/guide/en/elasticsearch/reference/8.8/cluster-stats.html#cluster-stats-api-prereqs
If the Elasticsearch security features are enabled, you must have the manage cluster privilege to use this API.
如果启用了 Elasticsearch 安全特性,则必须拥有管理集群特权才能使用此 API。
3、Description(描述)
https://www.elastic.co/guide/en/elasticsearch/reference/8.8/cluster-stats.html#cluster-stats-api-desc
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).
集群状态API允许从集群范围的角度检索统计信息。该API返回基本的索引指标(分片数量、存储大小、内存使用情况)以及有关形成集群的当前节点的信息(数量、角色、操作系统、JVM版本、内存使用情况、CPU和已安装插件)。
4、Examples(例子)
https://www.elastic.co/guide/en/elasticsearch/reference/8.8/cluster-stats.html#cluster-stats-api-example
curl -X GET "localhost:9200/_cluster/stats?human&pretty&pretty"
The API returns the following response:
API 返回以下响应:
{ "_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, "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": [] }, "versions": [ { "version": "8.0.0", "index_count": 1, "primary_shard_count": 1, "total_primary_size": "7.4kb", "total_primary_bytes": 7632 } ] }, "nodes": { "count": { "total": 1, "data": 1, "coordinating_only": 0, "master": 1, "ingest": 1, "voting_only": 0 }, "versions": [ "8.8.1" ], "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": "8.8.1", "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 }, "limit" : "0b", "limit_in_bytes": 0 } }, "network_types": { ... }, "discovery_types": { ... }, "packaging_types": [ { ... } ] }, "snapshots": { ... } }
This API can be restricted to a subset of the nodes using node filters:
使用节点过滤器可以将此 API 限制为节点的一个子集:
curl -X GET "localhost:9200/_cluster/stats/nodes/node1,node*,master:false?pretty"