Search 集群问题排查相关 API

  其他常见问题
内容纲要

概要描述

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

这篇文章对您有帮助吗?

平均评分 0 / 5. 次数: 0

尚无评价,您可以第一个评哦!

非常抱歉,这篇文章对您没有帮助.

烦请您告诉我们您的建议与意见,以便我们改进,谢谢您。