【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_namees-xxxstatusgreen:所有主分片和副本分片正常;yellow:主分片正常,副本分片未全部分配;red:有主分片未分配timed_outfalse 表示本次查询未超时1.1.2 节点与分片状态
number_of_nodesnumber_of_data_nodesactive_primary_shardsactive_shards31-15=16active_shards_percent_as_number1.1.3 分片分配状态
relocating_shardsinitializing_shardsunassigned_shardsdelayed_unassigned_shardsindex.unassigned.node_left.delayed_timeout 设置而延迟分配的分片1.1.4 集群任务与负载
number_of_pending_tasksnumber_of_in_flight_fetchtask_max_waiting_in_queue_millis1.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 基础信息列
ip192.168.1.62 表示节点的网络地址name2.1.2 资源使用率列
heap.percent已用堆内存 / 最大堆内存(Xmx)ram.percent(总内存 - 可用内存) / 总内存cpu2.1.3 系统负载列
load_1mload_5mload_15m分析:示例中所有节点负载接近 0 0 0,说明集群空闲。若负载值为 4 4 4(且 CPU 为 8 8 8 核),则利用率约 50% 50\\% 50%。
2.1.4 节点角色列
node.roledimr 是缩写。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
 


