ElasticSearch集群状态查看命令

官方地址:https://www.elastic.co/guide/en/elasticsearch/reference/current/cat.html#intro

1. _cat

$ curl localhost:9200/_cat
=^.^=
/_cat/allocation
/_cat/shards
/_cat/shards/{index}
/_cat/master
/_cat/nodes
/_cat/indices  #/_cat/indices?v&h=index
/_cat/indices/{index}
/_cat/segments
/_cat/segments/{index}
/_cat/count
/_cat/count/{index}
/_cat/recovery
/_cat/recovery/{index}
/_cat/health
/_cat/pending_tasks
/_cat/aliases
/_cat/aliases/{alias}
/_cat/thread_pool
/_cat/plugins
/_cat/fielddata
/_cat/fielddata/{fields}
/_cat/nodeattrs
/_cat/repositories
/_cat/snapshots/{repository}
Verbose
GET /_cat/XXX/?v
开启详细输出
Help
GET /_cat/XXX/?help
输出可用的列
Headers
GET /_cat/XXX/?h=column1,column2
指定输出的列
Sort
GET /_cat/XXX/?v&s=column1,column2:desc,column3
指定输出的列进行排序,默认按照升序排序
Format
GET /_cat/XXX?format=json
指定响应返回的数据格式:text(默认),json,yaml,smile,cbor
(通过设置 Accept的HTTP头部的多媒体格式的优先级更高 )
aliases
GET  /_cat/XXX/aliases?v
GET  /_cat/aliases/alias1,aliase2,aliase3
查询当前配置索引,过滤器,路由的别名
如果需要指定一至多个别名,则以逗号隔开
allocation
GET /_cat/allocation?v
查询每个节点上分配的分片(shard)的数量和每个分片(shard)所使用的硬盘容量
count
GET  /_cat/count?v
快速查询当前整个集群或者指定索引的document的数量(不包括删除的但是还没有清理掉的document)
fielddata
GET /_cat/fielddata?v
GET /_cat/fielddata?v&fields=XXX
GET /_cat/fielddata/field1,field2,field3?v
查询集群中每个节点中的fileddata所使用的堆内存
指定fields
指定多个field
health
GET /_cat/health?v
GET /_cat/health?v&ts=false
查询当前集群的健康信息(同/_cluster/health)
ts用于控制是否显示时间戳(timestamp)
1、常见的用途是用于监测节点之间的健康值
2、通过循环使用该命令,用于追踪大集群恢复的时间
  /_cat/health; sleep 120; done green:
     每个索引的primary shard和replica shard都是active状态的
yellow:
     每个索引的primary shard都是active状态的,但是部分replica shard不是active状态,处于不可用的状态
red:
      不是所有索引的primary shard都是active状态的,部分索引有数据丢失了
indices
GET  /_cat/indices/index1?v
查询指定索引index1的相关信息(组成一个索引(index)的shard数量,document的数量,删除的doc数量,主存大小和所有索引的总存储大小(包括replicas)
       其中document的数量和删除document的数量是lucense层级的,包括所有隐藏的document数量
      要获取Elasticsearch层级的精确的document数量可以使用 cat count或者Count API

master
GET /_cat/master?v
仅用于显示master的节点ID,绑定IP地址,节点名称
nodeattrs
GET /_cat/nodeattrs?v
输出显示自定义节点属性
nodes
GET /_cat/nodes?v
GET /_cat/nodes?v&full_id=false
输出当前集群的拓扑结构(包括当前节点所在的地方和整个集群的相关信息等)
full_id(true/false)用于是否格式化ID字段以显示ID的全长或者简写
pending tasks
GET /_cat/pending_tasks?v
输出集群中正在执行的任务(集群层级的变化,比如:创建索引,更新mapping,分配或者fail shard)同 /_cluster/pending_tasks
plugins
GET /_cat/plugins?v
输出每个节点正在运行的插件信息
recovery
GET /_cat/recovery?v
提供一个视图关于索引分片 正在恢复或者已经完成恢复的相关信息
恢复事件操作可以发生在集群中一个索引分片从一个节点移动到另外一个节点上。可以发生在快照恢复期间,一个replication层级的变化,节点失败,或者节点启动的时候。节点启动的恢复操作也叫本地存储恢复(当一个节点启动的时候分片从硬盘上被加载到)
repositories
GET /_cat/repositories?v
输出集群中注册快照存储库
thread pool
GET /_cat/thread_pool
输出每个节点集群范围的线程池统计信息,默认情况下返回正在活动,队列和被拒绝的统计信息
shards
GET /_cat/shards

GET /_cat/shards/twitt*

输出节点包含分片的详细信息(当前分片是primary shard还是 replica shard,doc的数量,硬盘上占用的字节已经该节点被分配在哪里等)
指定索引(模糊匹配)
这个命令可以用于查看分片的迁移情况和分片的状态
segments
GET /_cat/segments?v

GET /_cat/segments/index1,index1
输出索引分片中关于segment的低层级的信息(包括索引名称,分片数量,doc数量等),提供的信息类似于_segments端点
查询指定索引(index1,index2)的segments信息

snapshots
GET /_cat/snapshots/repo1?v
输出属于指定仓库的快照信息(snapshots)
每个快照信息包括了它被启动和被停止的信息。
templates
GET /_cat/templates?v
GET /_cat/templates/templateName1
GET /_cat/templates/template*
输出当前正在存在的模板信息
输出指定模板的信息

2. verbose

每个命令都支持使用?v参数,来显示详细的信息:

curl localhost:9200/_cat/master?v
id                     host         ip           node
0UaAS_ztQ5OD-pcJCCpBsw 10.76.*.* 10.76.*.* 0UaAS_z

3.help

每个命令都支持使用help参数,来输出可以显示的列:

curl localhost:9200/_cat/master?help
id   |   | node id    
host | h | host name  
ip   |   | ip address 
node | n | node name 

4.headers

通过h参数,可以指定输出的字段:

curl localhost:9200/_cat/health?h=epoch,timestamp
1577088707 08:11:47

5.数字类型的格式化

很多的命令都支持返回可读性的大小数字,比如使用mb或者kb来表示。

curl localhost:9200/_cat/indices?v
health status index        uuid                   pri rep docs.count docs.deleted store.size pri.store.size
yellow open   test         mwPRYlXJQCCmiJXzqdvsxQ   5   1          4            0     29.7kb         29.7kb
yellow open   alarm        HK2doH_dRZ6MRHjCNeuXKA   5   1          2            0     15.5kb         15.5kb
green  open   para_1       6dOPgPrtRcOSd4OfI7XGlw   5   0       9337            0      4.8mb          4.8mb
yellow open   history      yvfXuICARDCDyflDs3NkLg   5   1         11            0     75.5kb         75.5kb

6.JestClient

        <dependency>
            <groupId>io.searchbox</groupId>
            <artifactId>jest</artifactId>
            <version>6.3.1</version>
        </dependency>
		//Cat{uri=_cat/indices/test, method=GET}
		Cat cat = new Cat.IndicesBuilder().addIndex("test").build();
		//Count{uri=_all/_count, method=POST}
		Count c = new Count.Builder().build();
		//Health{uri=/_cluster/health/_all, method=GET}
		Health h = new Health.Builder().build();
		JestResult result = jestClient.execute(c);
		System.out.println("result = " + result);

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值