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博客

相关推荐
源代码•宸几秒前
Golang语法进阶(定时器)
开发语言·经验分享·后端·算法·golang·timer·ticker
期待のcode2 分钟前
TransactionManager
java·开发语言·spring boot
郝学胜-神的一滴3 分钟前
Linux系统编程:深入理解读写锁的原理与应用
linux·服务器·开发语言·c++·程序人生
Larry_Yanan3 分钟前
Qt多进程(十一)Linux下socket通信
linux·开发语言·c++·qt
代码游侠12 分钟前
学习笔记——ESP8266 WiFi模块
服务器·c语言·开发语言·数据结构·算法
Hello.Reader15 分钟前
PyFlink Configuration 一次讲透怎么配、配哪些、怎么“调得快且稳”
运维·服务器·python·flink
行者9617 分钟前
Flutter跨平台开发适配OpenHarmony:进度条组件的深度实践
开发语言·前端·flutter·harmonyos·鸿蒙
云和数据.ChenGuang18 分钟前
Uvicorn 是 **Python 生态中用于运行异步 Web 应用的 ASGI 服务器**
服务器·前端·人工智能·python·机器学习
prettyxian19 分钟前
【linux】进程调度:优先级、时间片与O(1)算法
linux·运维·服务器
DYS_房东的猫21 分钟前
《 C++ 零基础入门教程》第3章:结构体与类 —— 用面向对象组织代码
开发语言·c++