Elasticsearch 常用信息

简述

本文针对 Elasticsearch(简称ES)集群6.x版本出现故障时,可通过提供的命令进行排查。

1、集群健康状态

|--------|------------------------|-------------------------------------------|
| 集群健康状态 | 状态 | 说明 |
| red | 不是所有的主要分片都可用。 | 表示该集群中存在不可用的主分片。可以理解为某个或者某几个索引存在主分片丢失的情况。 |
| yellow | 所有主要分片可用,但不是所有副本分片都可用。 | 表示该集群中某个或者某几个索引存在副本分片存在丢失的情况。 |
| green | 所有主要分片和副本分片都可用。 | 表示集群中所有的索引都很健康,不存在丢失的分片。 |

status:集群状态,分为green、yellow、red。

number_of_nodes/number_of_data_nodes:集群的节点数和数据节点数。

active_primary_shards:集群中所有活跃的主分片数。

active_shards:集群中所有活跃的分片数。

relocating_shards:当前节点迁往其他节点的分片数量,通常为0,当有节点加入或者退出时该值会增加。

initializing_shards:正在初始化的分片。

unassigned_shards:未分配的分片数,通常为0,当有某个节点的副本分片丢失该值就会增加。

number_of_pending_tasks:是指主节点创建索引并分配shards等任务,如果该指标数值一直未减小代表集群存在不稳定因素

active_shards_percent_as_number:集群分片健康度,活跃分片数占总分片数比例。

number_of_pending_tasks:pending task只能由主节点来进行处理这些任务包括创建索引并将shards分配给节点。

2、集群命令

|----------------------------------|----------------------------------------------------------------------------------------|
| 命令 | 说明 |
| 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 | 查看集群设置。 |

3、节点命令

|---------------------------------------|------------------------------------------------|
| 命令 | 说明 |
| 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?interval=10s | 查看高消耗的线程所执行的任务。抓取10s的节点上占用资源的热线程 |
| GET /_nodes/<nodeip>/jvm,process,os | 查看指定节点的JVM、进程和操作系统信息。 |
| GET _cat/plugins?v | 查看各节点的插件信息。 |
| GET /_cat/thread_pool?v | 查看各节点的线程池统计信息。包括线程池的类型、活跃线程数、任务队列大小等。 |

4、分片命令

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

5、索引命令

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

6、Mapping 命令

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

7、查看文档

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

8、快照

|-----------------------------------------|---------|
| 命令 | 说明 |
| GET _snapshot/_all | 查看所有快照。 |
| GET _snapshot/<snapshot_name>/_status | |

9、搜索命令

|----------------------|--------------------------------------|
| 命令 | 说明 |
| GET /_search?explain | explain 参数可以让返回结果添加一个 _score 评分的得来依据 |
| | |

详细示例见:ElasticSearch 查询语句_es正则表达式查询-CSDN博客

相关推荐
HPC_fac1305206781641 分钟前
科研深度学习:如何精选GPU以优化服务器性能
服务器·人工智能·深度学习·神经网络·机器学习·数据挖掘·gpu算力
Elihuss2 小时前
ONVIF协议操作摄像头方法
开发语言·php
Swift社区5 小时前
在 Swift 中实现字符串分割问题:以字典中的单词构造句子
开发语言·ios·swift
没头脑的ht5 小时前
Swift内存访问冲突
开发语言·ios·swift
没头脑的ht5 小时前
Swift闭包的本质
开发语言·ios·swift
wjs20245 小时前
Swift 数组
开发语言
stm 学习ing6 小时前
FPGA 第十讲 避免latch的产生
c语言·开发语言·单片机·嵌入式硬件·fpga开发·fpga
湫ccc7 小时前
《Python基础》之字符串格式化输出
开发语言·python
sun0077007 小时前
ubuntu dpkg 删除安装包
运维·服务器·ubuntu