前言
关于健康检查一般都是集中在cat前缀的命令中,下面我们来分别对几种常用的命令进行分析。
cat health
用来获取集群健康状态,一般可以检测集群恢复的情况,比如健康度、未分配的分片数量
GET _cat/health?v
可以通过help来了解每一列的含义
GET _cat/health?help
cat nodes
用于查看集群节点的相关信息
可以查看堆内存、总内存使用情况,以及cpu使用率,系统load情况。
通过node.role可以知道当前节点有哪些角色
(Default) Roles of the node. Returned values include c (cold node), d (data node), f (frozen node), h (hot node), i (ingest node), l (machine learning node), m (master-eligible node), r (remote cluster client node), s (content node), t (transform node), v (voting-only node), w (warm node), and - (coordinating node only).
截图中的node充当了所有角色,实际业务下应当注意角色的分配
master:用于显示当前节点是否为主节点,‘*’表示是,‘-’表示否
cat shards
用于查看哪些节点包含哪些分配的详细信息
GET _cat/shards?v
GET _cat/shards?help
每一列信息都可以通过以下方式来查看
GET _cat/shards?h=index,shard,prirep,state,unassigned.reason
cat indices
查看索引的相信信息
GET _cat/indices?v
主要数据为,主分片和副本分片的数量,文档的数量,被删除文档的数量,总使用容量和主分片使用的容量。
cat segments
查看有关segments的详细信息
GET _cat/segments?v
cat allocation
查看节点的分片数量以及磁盘使用情况
GET /_cat/allocation?v
disk.indices:分片使用的磁盘空间
disk.used:正在使用总磁盘空间
disk.avail:可用的磁盘空间
disk.total:总的磁盘空间
cat fielddata
查看节点中fielddata占用堆内存空间的大小。
GET _cat/fielddata?v