获取集群级别的统计信息,提供集群的高级别概览,包括节点信息、索引信息和集群健康状态。
API #
GET /_cluster/stats
GET /_cluster/stats/nodes/{nodeId}
API 的作用 #
该 API 用于获取集群级别的统计信息,提供集群的高级别概览。返回的信息包括:
| 统计类别 | 描述 |
|---|---|
| 节点统计 | 节点数量、节点角色、节点版本信息等 |
| 索引统计 | 分片统计、映射统计、分析器统计等 |
| 集群健康 | 集群状态、分片分配情况等 |
| 时间戳 | 统计信息收集的时间 |
| 集群 UUID | 集群的唯一标识符 |
API 的参数 #
路由参数 #
| 参数 | 类型 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|---|
{nodeId} | 字符串 | 否 | 所有节点 | 节点 ID 或名称列表(逗号分隔)。特殊值:_local 表示当前连接的节点 |
Query String 参数 #
| 参数 | 类型 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|---|
nodeId | 字符串 | 否 | 所有节点 | 限制返回的节点信息,可以指定特定的节点或节点列表(逗号分隔) |
timeout | 时间值 | 否 | 无限制 | 操作超时时间 |
flat_settings | 布尔值 | 否 | false | 是否以扁平格式返回设置 |
示例 #
获取整个集群的统计信息 #
GET /_cluster/stats
响应示例:
{
"cluster_name": "easysearch-cluster",
"cluster_uuid": "xxx-xxx-xxx",
"timestamp": 1641234567890,
"status": "green",
"indices": {
"count": 10,
"shards": {
"total": 50,
"primaries": 25,
"replication": 1.0
},
"docs": {
"count": 100000,
"deleted": 1000
},
"store": {
"size_in_bytes": 1073741824
}
},
"nodes": {
"count": {
"total": 3,
"master": 3,
"data": 3,
"ingest": 3,
"coordinating_only": 0
},
"versions": [
"1.0.0"
],
"os": {
"available_processors": 24,
"allocated_processors": 24,
"names": [
{
"name": "Linux",
"count": 3
}
]
},
"process": {
"cpu_percent": 10,
"open_file_descriptors": 1000
},
"jvm": {
"max_uptime_in_millis": 3600000,
"versions": [
{
"version": "17.0.1",
"vm_name": "OpenJDK",
"vm_version": "17.0.1+12",
"vm_vendor": "Eclipse Adoptium",
"count": 3
}
],
"mem": {
"heap_used_in_bytes": 1073741824,
"heap_max_in_bytes": 2147483648
}
}
}
}
获取指定节点的统计信息 #
GET /_cluster/stats/nodes/node1,node2
获取本地节点的统计信息 #
GET /_cluster/stats/nodes/_local
设置超时时间 #
GET /_cluster/stats?timeout=30s
以扁平格式返回设置 #
GET /_cluster/stats?flat_settings=true
返回数据结构说明 #
indices(索引统计) #
| 字段 | 描述 |
|---|---|
count | 索引总数 |
shards.total | 分片总数 |
shards.primaries | 主分片数量 |
shards.replication | 副本因子 |
docs.count | 文档总数 |
docs.deleted | 已删除文档数 |
store.size_in_bytes | 存储大小(字节) |
nodes(节点统计) #
| 字段 | 描述 |
|---|---|
count.total | 节点总数 |
count.master | 有主节点资格的节点数 |
count.data | 数据节点数 |
count.ingest | 摄入节点数 |
versions | 节点版本列表 |
os.available_processors | 可用处理器总数 |
jvm.mem.heap_used_in_bytes | JVM 堆内存使用量 |





