【Elasticsearch】_cluster/health 和 _cat/nodes 命令详解
_cluster/health 和 _cat/nodes 命令详解
- 1.集群健康状态(_cluster/health)
- 2.节点各项指标(_cat/nodes)
-
- 2.1 参数详解
-
- 2.1.1 基础信息列
- 2.1.2 资源使用率列
- 2.1.3 系统负载列
- 2.1.4 节点角色列
- 2.2 其他隐含重要信息
- 2.3 关键监控建议
1.集群健康状态(_cluster/health)
1.1 参数详解
GET _cluster/health
以下是 GET _cluster/health
返回参数的具体含义解析。
1.1.1 基础信息
cluster_name
es-xxx
status
green
:所有主分片和副本分片正常;yellow
:主分片正常,副本分片未全部分配;red
:有主分片未分配timed_out
false
表示本次查询未超时1.1.2 节点与分片状态
number_of_nodes
number_of_data_nodes
active_primary_shards
active_shards
31-15=16
active_shards_percent_as_number
1.1.3 分片分配状态
relocating_shards
initializing_shards
unassigned_shards
delayed_unassigned_shards
index.unassigned.node_left.delayed_timeout
设置而延迟分配的分片1.1.4 集群任务与负载
number_of_pending_tasks
number_of_in_flight_fetch
task_max_waiting_in_queue_millis
1.2 健康状态分析示例
- 绿色状态:所有分片(主+副本)均已分配,无迁移或初始化任务。
- 潜在问题:
- 若
active_shards_percent_as_number
< 100 % < 100\\% <100%,需检查unassigned_shards
原因。 relocating_shards
> 0 > 0 >0 时可能因节点下线触发再平衡,短暂影响性能。pending_tasks
持续增加可能表明主节点处理能力不足。
- 若
1.3 关键监控建议
- 重点关注:
status
、unassigned_shards
、relocating_shards
。 - 告警阈值:
status
变为yellow
/red
立即告警。unassigned_shards
> 0 > 0 >0 持续 5 5 5 分钟需介入。
- 扩展检查:若发现异常,可结合
GET _cat/shards?v
查看具体未分配分片的索引和节点。
2.节点各项指标(_cat/nodes)
GET _cat/nodes?v
以下是 GET _cat/nodes?v
命令返回的各列参数的含义详解。
2.1 参数详解
2.1.1 基础信息列
ip
192.168.1.62
表示节点的网络地址name
2.1.2 资源使用率列
heap.percent
已用堆内存
/ 最大堆内存(Xmx)
ram.percent
(总内存 - 可用内存)
/ 总内存
cpu
2.1.3 系统负载列
load_1m
load_5m
load_15m
分析:示例中所有节点负载接近 0 0 0,说明集群空闲。若负载值为 4 4 4(且 CPU 为 8 8 8 核),则利用率约 50% 50\\% 50%。
2.1.4 节点角色列
node.role
dimr
是缩写。d
:数据节点;i
: i n g e s t ingest ingest 节点;m
:主节点候选;r
:协调节点master
*
表示该节点是主节点(示例中 192.168.1.63
是主节点)2.2 其他隐含重要信息
- 节点角色组合规则
- 纯数据节点:
d
- 主 + 数据节点:
dimr
- 专用主节点:
m
(不应有数据)
- 纯数据节点:
- JVM 堆内存异常
- 示例中
heap.percent
在 32 % − 47 % 32\\%-47\\% 32%−47%之间,若持续接近 75 % 75\\% 75% 需调整 JVM 参数或排查内存泄漏。
- 示例中
- CPU 使用率为 0 的问题
- 可能原因:
- 集群空闲
- 监控周期恰逢 CPU 空闲
- 需结合
load_
指标综合判断。
- 可能原因:
2.3 关键监控建议
- 重点关注
ram.percent
和heap.percent
的差值(差值大说明堆外内存使用高)。- 主节点标识
*
的位置(确保主节点不过载)。
- 异常场景
# 危险信号示例:ip heap.percent ram.percent cpu load_15m node.role master name192.168.1.64 95 98 100 10.0 dimr * node-1
问题:堆内存将满、CPU 打满、系统过载,主节点可能崩溃。
- 扩展命令
// 查看更详细的资源统计GET _nodes/stats?filter_path=nodes.*.name,nodes.*.jvm.mem,nodes.*.os.cpu