【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


