当您的阿里云Elasticsearch(简称ES)集群出现故障时,可通过本文提供的命令进行排查。

说明 以下命令均可在Kibana控制台中执行,详情请参见登录Kibana控制台

集群

命令 说明
GET /_cat/health?v 查看集群的健康状态。集群状态包括green、red、yellow,各状态的具体说明请参见查看集群健康状态
GET /_cluster/health?pretty=true 查看集群的健康状态。pretty=true表示格式化输出。您也可以添加其他查询参数,例如:
  • level=indices:显示索引状态。
  • level=shards:显示分片信息。
GET /_cluster/stats 查看集群的系统信息。包括CPU、JVM等信息。
GET /_cluster/state 查看集群的详细信息。包括节点、分片等信息。
GET /_cluster/pending_tasks 查看集群中堆积的任务。
GET /_cluster/settings 查看集群设置。

节点

命令 说明
GET /_cat/master?v 查看集群中Master节点的信息。
GET /_cat/nodes?v 查看集群中各个节点的当前状态。包括节点CPU使用率、HeapMemory使用率、负载情况等。
GET /_cat/nodeattrs?v 查看单节点的自定义属性。
GET /_nodes/stats?pretty=true 查看节点状态。
GET /_nodes/process 查看节点的进程信息。
GET /_nodes/hot_threads 查看高消耗的线程所执行的任务。
GET /_nodes/<nodeip>/jvm,process,os 查看指定节点的JVM、进程和操作系统信息。
GET _cat/plugins?v 查看各节点的插件信息。
GET /_cat/thread_pool?v 查看各节点的线程池统计信息。包括线程池的类型、活跃线程数、任务队列大小等。

分片

命令 说明
GET /_cat/shards?v 查看集群中各分片的详细情况。包括索引名称、分片编号、是主分片还是副分片、分片的当前状态(对于分配失败的分片会有失败原因)、doc数量、磁盘占用情况等。您也可以指定index,查看该index的分片信息(GET _cat/shards/<index>?v)。
GET /_cat/allocation?v 查看集群中每个节点的分片分配情况。
GET /_cat/recovery?v 查看集群中每个分片的恢复过程。

Segments

GET /_cat/segments?v

查看集群中各索引的segment信息。包括segment名称、所属shard、内存或磁盘占用大小、是否刷盘等。您也可以指定index,查看该index的segment信息(GET _cat/segment/<index>?v)。

索引

命令 说明
GET /_cat/indices?v 查看集群中所有索引的详细信息。包括索引的健康度、状态、分片数和副本数、包含的文档数等。您也可以查看指定索引的信息(GET _cat/indices/<index>?v)。
GET /_cat/aliases?v 查看集群中所有aliases(索引别名)的信息。包括aliases对应的索引、路由配置等。

Mapping

命令 说明
GET /_mapping 查看集群中所有索引的Mapping。
GET /<index>/<type>/_mapping 查看指定索引的Mapping。

文档

命令 说明
GET /_cat/count?v 查看集群中的文档数量。您也可以指定index,查看该index的文档数量(GET _cat/count/<index>?v)。
GET /<index>/<type>/<id> 查看文档中的数据。

快照

命令 说明
GET _snapshot/_all 查看所有快照。
GET _snapshot/<snapshot_name>/_status 查看指定快照的进度。