概要描述
search 的排查方式区别于其他组件,这篇文章介绍一些 search 集群运维常用命令;
详细说明
主要分为集群监控、数据查看和数据管理几部分;前置知识,curl 命令的介绍:
curl
- -x 指定 http 的请求方法有: HEAD GET POST PUT DELETE
- -d 指定要传输的数据
- -H 指定 http 请求头信息
- &s=列名 s用于排序作用
curl 命令 url 后加
- ?v 会显示列名,查看更直观
- &s=列名:desc s用于列排序作用
- ?help 查看帮助
- ?pretty=true 在任意的查询 url 中添加 pretty 参数,es 会美化获取 json 结果,提升可读性
- ?v&h=列名,列名 可以指定查看列名
PS:开启安全认证的 search 集群,可以通过 curl -u {username}:{password} -XGET 查看需要的信息
例如:
curl -XGET "http://localhost:9200/_index/_type/1?pretty"
curl -XGET "http://localhost:9200/_index/_type/1?pretty" -d '{请求体}'
curl -XGET "http://localhost:9200/_cat/nodes?v"
curl -u admin:123456 -XGET "http://localhost:9200/_cluster/health?pretty=true"
集群监控
查看集群的健康状态
GET /_cat/health?v
查看集群的健康状态。pretty=true表示格式化输出。
也可以添加其他查询参数,例如:level=indices:显示索引状态;level=shards:显示分片信息
GET /_cluster/health?pretty=true
查看集群的系统信息。包括CPU、JVM等信息
GET /_cluster/stats
查看集群的详细信息。包括节点、分片等信息
GET /_cluster/state
查看集群中堆积的任务
GET /_cluster/pending_tasks
查看集群设置
GET /_cluster/settings
查看集群中Master节点的信息。
GET /_cat/master?v
查看集群中各个节点的当前状态。包括节点CPU使用率、HeapMemory使用率、负载情况等
GET /_cat/nodes?v
查看单节点的自定义属性。
GET /_cat/nodeattrs?v
查看节点状态。
GET /_nodes/stats?pretty=true
查看节点的进程信息。
GET /_nodes/process
查看高消耗的线程所执行的任务。
GET /_nodes/hot_threads
查看指定节点的JVM、进程和操作系统信息。
GET /_nodes/{node_ip}/jvm,process,os
查看各节点的插件信息。
GET /_cat/plugins?v
查看各节点的线程池统计信息。包括线程池的类型、活跃线程数、任务队列大小等。
GET /_cat/thread_pool?v
数据查看
查看集群中所有索引的详细信息。包括索引的健康度、状态、分片数和副本数、包含的文档数等。
GET /_cat/indices?v
您也可以查看指定索引的信息
GET _cat/indices/{index_name}?v
查看集群中所有 aliases(索引别名)的信息。包括 aliases 对应的索引、路由配置等。
GET /_cat/aliases?v
查看集群中各分片的详细情况。包括索引名称、分片编号、是主分片还是副分片、分片的当前状态(对于分配失败的分片会有失败原因)、doc数量、磁盘占用情况等。
GET /_cat/shards?v
查看该index的分片信息()。
GET /_cat/shards/{index_name}?v
查看集群中每个节点的分片分配情况。
GET /_cat/allocation?v
查看集群中每个分片的恢复过程。
GET /_cat/recovery?v
查看集群中各索引的segment信息。包括segment名称、所属shard、内存或磁盘占用大小、是否刷盘等。
GET /_cat/segments?v
查看指定索引的segment信息
GET _cat/segment/?v
查看集群中所有索引的 Mapping
GET /_mapping
查看指定索引的Mapping。
GET /{index_name}/{type_name}/_mapping
查看集群中的文档数量
GET /_cat/count?v
也可以指定index,查看该index的文档数量
GET _cat/count/{index_name}?v
查看文档中的数据
GET /{index_name}/{type_name}/{id}
查看 unassigned shards 的原因
GET /_cluster/allocation/explain
数据管理
查看所有快照
GET /_snapshot/_all
查看指定快照的进度
GET /_snapshot/{snapshot_name}/_status
查看所有快照
GET /_snapshot/_all
查看指定快照的进度
GET /_snapshot/{snapshot_name}/_status