侧边栏壁纸
博主头像
孔子说JAVA博主等级

成功只是一只沦落在鸡窝里的鹰,成功永远属于自信且有毅力的人!

  • 累计撰写 352 篇文章
  • 累计创建 135 个标签
  • 累计收到 10 条评论

目 录CONTENT

文章目录

ES教程14-ElasticSearch集群信息之cat命令

孔子说JAVA
2022-10-19 / 0 评论 / 0 点赞 / 78 阅读 / 11,025 字 / 正在检测是否收录...
广告 广告

在使用Elasticsearch过程中,经常在Kinana或者command line中使用cat命令来查看集群的信息,从中获取到es中的状态或者一些数据之间的关系。cat命令也是es中使用频率比较高的命令,组成形式如:GET /_cat/indices?format=json&pretty,?之前是命令,之后是参数,多个参数用&分隔。

1、Cat 命令公共参数

1.1 Verbose 显示列名

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

# 获取集群状态
GET _cat/health

# 当使用v参数时:会显示列名的详细信息
GET _cat/health?v

GET _cat/master?v

image-1665983287520

1.2 help 获取信息说明

help 可以获取当前命令每一列的信息说明,即显示指令返回参数的说明。

# 这里对照不加help的命令可以显示每一列的信息说明
GET _cat/health?help

image-1665983722743

image-1665983739321

1.3 header 只显示特定列

强制显示指定列的信息,不用全部输出。h后面跟多个参数用 , 分割,参数名可以简写。

# 显示所有的node信息
GET _cat/nodes?v

# 只显示ip和load_5m这两列
GET _cat/nodes?v&h=ip,load_5m

GET _cat/count?h=timestamp,count

GET /_cat/master?h=i*,node

image-1665983910911

1.4 numeric formats(数组格式化)

对于数字显示,可以指定显示单位,例如: bytes=b。可以设置排序方式, 例如:s=store.size:desc 表示根据store字段降序排列。

# 显示左右索引并按照存储大小排序
GET _cat/indices?v&s=store.size:desc

GET _cat/indices?v&h=index,docs.count,store.size&bytes=kb

image-1665985047924

1.5 format 结果展示格式

设置输出显示格式,支持格式类型:text json smile yaml cbor,默认按照text格式显示。可以多个参数一起使用,用&连接。

  • 以json格式化形式输出:format=json&pretty
  • 以yaml格式输出: format=yaml&pretty
# 通过json格式显示输出
GET _cat/indices?v&format=json&pretty

# 和上述语句同样的效果
GET _cat/indices?format=json&pretty

# 通过yaml格式显示输出
GET _cat/indices?v&format=yaml&pretty

GET _cat/master?format=json&pretty

# sort排序
GET _cat/indices?s=store.size:desc

# 可以多个参数一起使用,用&连接
GET _cat/indices?v&s=store.size:desc

image-1665984850231

1.6 sort 排序

通过指定列进行排序,多个排序字段通过逗号分割。可以多个参数一起使用,用&连接。

# 列出所有templates,按照order降序,version降序
GET /_cat/templates?v&s=order:desc,version:desc

# 列出所有index,按照索引降序,文档数量降序
GET _cat/indices?v&s=index:desc,docs.count:desc

# 按index升序,docs.count降序
GET _cat/indices?v&h=index,docs.count,store.size&bytes=kb&format=json&pretty&s=index,docs.count:desc

image-1665984541281

2、cat命令详解

2.1 aliases 显示别名

aliases 显示别名、过滤器、路由信息等。

GET _cat/aliases?v

alias index filter routing.index routing.search

image-1665985920590

image-1665985898830

2.2 allocation 分片数和磁盘情况

查看每个数据节点上的分片数(shards),以及每个数据节点磁盘剩余。

# 查看每个数据节点上的分片数(shards),以及每个数据节点磁盘剩余
GET _cat/allocation?v

shards disk.indices disk.used disk.avail disk.total disk.percent host  ip              node
     4        8.2mb      14gb      3.2gb     17.2gb           81 node2 192.168.113.102 data-1
     4        5.7mb     9.9gb      7.3gb     17.2gb           57 node3 192.168.113.103 data-2

image-1665986027955

2.3 count 显示索引文档数

# count显示整个集群或者索引的文档个数。
GET _cat/count?v
 
epoch      timestamp count
1558059594 10:19:54  7829577019

# 显示索引的文档数量
GET _cat/count/twitter?v

# 某类索引文档数
GET _cat/count/.monitoring*?v

epoch      timestamp count
1535186185 16:36:25  2162
  • 注意:只包含实际文档数,不包括尚未清除的已删除文档。

image-1665986154129

2.4 查看集群健康状态

health 显示集群是否健康

GET /_cat/health?v
GET /_cluster/health
GET _cat/health?v&h=cluster,status

cluster status
my-elk  green

image-1665986287761

GET _cat/health?v
 
epoch      timestamp cluster   status node.total node.data shards  pri relo init unassign pending_tasks max_task_wait_time active_shards_percent
1558059496 10:18:16  ops_coffee green           7         5   5362 2681    0    0        0             0                  -                100.0%

2.5 fielddata 堆空间

查看每个数据节点上fielddata当前占用的堆内存。

全文检索用倒排索引非常合适,但涉及过滤、分组聚合、排序这些操作使用正排索引更合适,因此ES中引入了fielddata的数据结构用来做正排索引。如果需要对某一个字段排序、分组聚合、过滤,则可将字段设置成fielddata。默认情况下:

  • text类型的字段是不能分组及排序的,如需要则需要开启该字段的fielddata=true,但是这样耗费大量的内存,不建议这么使用。
  • keyword类型默认可分组及排序。
  • fielddata默认是采用懒加载的机制加载到堆内存中。当某个字段基数特别大,可能会出现OOM。
GET /_cat/fielddata?v
GET /_cat/fielddata?v&fields=name,addr

# 示例
GET _cat/fielddata?v&h=node,field,size

node   field                      size
data-1 kibana_stats.kibana.uuid     0b
data-1 kibana_stats.kibana.status   0b
data-2 kibana_stats.kibana.uuid     0b
data-2 kibana_stats.kibana.status   0b

# 对某一字段进行查看
GET _cat/fielddata?v&h=node,field,size&fields=kibana_stats.kibana.uuid

node   field                    size
data-2 kibana_stats.kibana.uuid   0b
data-1 kibana_stats.kibana.uuid   0b

2.6 indices 显示索引的情况

GET /_cat/indices?v
GET /_cat/indices/myindex?v

image-1666051277036

GET _cat/indices?v
 
health status index                                uuid                   pri rep docs.count docs.deleted store.size pri.store.size
green  open   ops-coffee-slowlog-2019.04.08        5ARM1TgqTy-fGO8RlJC_Jg   5   1       7743            0     57.9mb         28.9mb
green  open   ops-coffee-nginx-2019.04.09          1VdeScHaQda6CF_htRZz_A   5   1   81519329            0       52gb         25.8gb

2.7 master 显示master节点信息

查看集群master节点信息。

GET _cat/master?v

id                     host  ip              node
AhlyPtZYTta1AVH_7mUSbQ node1 192.168.113.101 master-1

image-1666051336813

2.8 nodes 显示node节点信息

显示所有node节点信息,集群节点和磁盘剩余空间。

# 集群节点
GET _cat/nodes?v

ip              heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
192.168.113.103           60          93   5    0.54    0.53     0.55 di        -      data-2
192.168.113.104           12          87   7    0.72    0.77     0.94 -         -      client-1
192.168.113.101           13          90   4    0.35    0.32     0.37 m         *      master-1
192.168.113.102           46          91 100    2.81    2.84     3.44 di        -      data-1

# 磁盘剩余
GET _cat/nodes?v&h=ip,node.role,name,disk.avail

ip              node.role name     disk.avail
192.168.113.102 di        data-1        2.4gb
192.168.113.103 di        data-2        6.5gb
192.168.113.104 -         client-1        5gb
192.168.113.101 m         master-1      6.5gb

image-1666051435444

2.9 nodeattrs 显示node节点属性

查看每个节点的自定义属性

GET _cat/nodeattrs?v

node     host  ip              attr              value
data-2   node3 192.168.113.103 ml.machine_memory 1028517888
data-2   node3 192.168.113.103 ml.max_open_jobs  20
data-2   node3 192.168.113.103 ml.enabled        true
client-1 node4 192.168.113.104 ml.machine_memory 1856888832
client-1 node4 192.168.113.104 ml.max_open_jobs  20
client-1 node4 192.168.113.104 ml.enabled        true
master-1 node1 192.168.113.101 ml.machine_memory 1028517888
master-1 node1 192.168.113.101 ml.max_open_jobs  20
master-1 node1 192.168.113.101 ml.enabled        true
data-1   node2 192.168.113.102 ml.machine_memory 1028517888
data-1   node2 192.168.113.102 ml.max_open_jobs  20
data-1   node2 192.168.113.102 ml.enabled        true

image-1666051492633

2.10 pending_tasks 等待的任务

查看被挂起的任务(正在等待的任务)。

GET _cat/pending_tasks?v

insertOrder timeInQueue priority source

image-1666051903618

2.11 plugins 显示插件视图

查看每个节点正在运行的插件

GET _cat/plugins?v

name     component          version
data-2   x-pack-core        6.2.4
data-2   x-pack-deprecation 6.2.4
....
client-1 x-pack-core        6.2.4
client-1 x-pack-deprecation 6.2.4
....
master-1 x-pack-core        6.2.4
master-1 x-pack-deprecation 6.2.4
.....
data-1   x-pack-deprecation 6.2.4
data-1   x-pack-graph       6.2.4
....

image-1666052043884

2.12 recovery 显示索引恢复情况

当索引迁移的任何时候都可能会出现恢复情况,例如,快照恢复、复制更改、节点故障或节点启动期间(显示正在进行和先前完成的索引碎片恢复的视图)。

GET _cat/recovery?v
 
index                                shard time  type           stage source_host source_node target_host target_node repository snapshot files files_recovered files_percent files_total bytes      bytes_recovered bytes_percent bytes_total translog_ops translog_ops_recovered translog_ops_percent
filebeat-docker-pay-2019.04.18       0     209ms peer           done  10.82.9.132 node11      10.82.9.207 node03      n/a        n/a      0     0               0.0%          0           0          0               0.0%          0           0            0                      100.0%

image-1666052138766
image-1666052172651

2.13 thread_pool 查看线程池信息

显示每个节点线程运行情况,actinve(活跃的),queue(队列中的)和 reject(拒绝的)。

GET _cat/thread_pool?v

# 查看每个节点bulk线程池的统计信息
GET _cat/thread_pool/bulk?v
GET _cat/thread_pool/bulk?v&h=id,name,active,rejected,completed

# 具体示例
GET _cat/thread_pool?v
 
node_name name                active queue rejected
node10    bulk                     1     0        4
node10    fetch_shard_started      0     0        0

image-1666052431379

2.14 shards 显示索引分片情况

展示索引的各个分片,主副分片,文档个数,所属节点,占存储空间大小

GET _cat/shards?v
GET _cat/shards/myindex?v
GET _cat/shards?h=index,shard,prirep,state,unassigned.reason

# 查找示例
GET _cat/shards?v
 
index                                shard prirep state       docs    store ip          node
mysql-slowlog-2019.03.14             4     r      STARTED     1381    4.6mb 10.82.9.205 node01
mysql-slowlog-2019.03.14             4     p      STARTED     1381    4.5mb 10.82.9.206 node02
  • 分片的状态有3种:INITIALIZING初始化, STARTED分配完成, UNASSIGNED不能分配。可以通过unassigned.reason属性查看不能分配的原因。

image-1666052368578

2.15 segments 显示segment情况

显示碎片中的分段信息,包括属于索引,节点,主副,文档数等

GET _cat/segments?v
 
index                                shard prirep ip          segment generation docs.count docs.deleted     size size.memory committed searchable version compound
filebeat-docker-pay-2019.04.18       0     r      10.82.9.207 _8cu         10830      19470            0   17.7mb       43546 true      true       7.2.1   false

# 查看具体索引
GET /_cat/segments/myindex?v

image-1666052260854

2.16 templates 查看索引模板

GET _cat/templates?v
GET _cat/templates/mytempla*?v

示例:

GET _cat/templates?v&format=json&pretty

[
  {
    "name": "logstash-index-template",
    "index_patterns": "[.logstash]",
    "order": "0",
    "version": null
  },
  {
    "name": "security_audit_log",
    "index_patterns": "[.security_audit_log*]",
    "order": "2147483647",
    "version": null
  },
  {
    "name": ".monitoring-kibana",
    "index_patterns": "[.monitoring-kibana-6-*]",
    "order": "0",
    "version": "6020099"
  },
  {
    "name": ".watches",
    "index_patterns": "[.watches*]",
    "order": "2147483647",
    "version": null
  },
  {
    "name": ".monitoring-beats",
    "index_patterns": "[.monitoring-beats-6-*]",
    "order": "0",
    "version": "6020099"
  },
  {
    "name": ".ml-notifications",
    "index_patterns": "[.ml-notifications]",
    "order": "0",
    "version": "6020499"
  },
  {
    "name": ".ml-anomalies-",
    "index_patterns": "[.ml-anomalies-*]",
    "order": "0",
    "version": "6020499"
  },
  {
    "name": ".ml-state",
    "index_patterns": "[.ml-state]",
    "order": "0",
    "version": "6020499"
  },
  {
    "name": "security-index-template",
    "index_patterns": "[.security-*]",
    "order": "1000",
    "version": null
  },
  {
    "name": ".watch-history-7",
    "index_patterns": "[.watcher-history-7*]",
    "order": "2147483647",
    "version": null
  },
  {
    "name": ".ml-meta",
    "index_patterns": "[.ml-meta]",
    "order": "0",
    "version": "6020499"
  },
  {
    "name": ".monitoring-alerts",
    "index_patterns": "[.monitoring-alerts-6]",
    "order": "0",
    "version": "6020099"
  },
  {
    "name": ".monitoring-logstash",
    "index_patterns": "[.monitoring-logstash-6-*]",
    "order": "0",
    "version": "6020099"
  },
  {
    "name": ".triggered_watches",
    "index_patterns": "[.triggered_watches*]",
    "order": "2147483647",
    "version": null
  },
  {
    "name": ".monitoring-es",
    "index_patterns": "[.monitoring-es-6-*]",
    "order": "0",
    "version": "6020099"
  },
  {
    "name": "kibana_index_template:.kibana",
    "index_patterns": "[.kibana]",
    "order": "0",
    "version": null
  }
]

2.17 repositories 查看注册的快照仓库

GET _cat/repositories?v

id type

2.18 查看快照仓库下的快照

# 可将ES中的一个或多个索引定期备份到如HDFS、S3等更可靠的文件系统,以应对灾难性的故障
# 第一次快照是一个完整拷贝,所有后续快照则保留的是已存快照和新数据之间的差异
# 当出现灾难性故障时,可基于快照恢复

GET _cat/snapshots/repo1?v

3、cat命令汇总

# 磁盘还有数据分配信息
_cat/allocation         #查看单节点的shard分配整体情况
_cat/shards          #查看各shard的详细情况
_cat/shards/{index}     #查看指定分片的详细情况
_cat/master          #查看master节点信息
_cat/nodes           #查看所有节点信息
_cat/tasks
_cat/indices         #查看集群中所有index的详细信息
_cat/indices/{index}      #查看集群中指定index的详细信息
_cat/segments        #查看各index的segment详细信息,包括segment名, 所属shard, 内存(磁盘)占用大小, 是否刷盘
_cat/segments/{index}#查看指定index的segment详细信息

#  集群或者索引文档数量
_cat/count           #查看当前集群的doc数量
_cat/count/{index}   #查看指定索引的doc数量

_cat/recovery        #查看集群内每个shard的recovery过程.调整replica。
_cat/recovery/{index}#查看指定索引shard的recovery过程
_cat/health          #查看集群当前状态:红、黄、绿
_cat/pending_tasks   #查看当前集群的pending task

# 索引别名
_cat/aliases         #查看集群中所有alias信息,路由配置等
_cat/aliases/{alias} #查看指定索引的alias信息

_cat/thread_pool
_cat/thread_pool     #查看集群各节点内部不同类型的threadpool的统计信息

# 插件列表
_cat/plugins         #查看集群各个节点上的plugin信息
_cat/fielddata       #查看当前集群各个节点的fielddata内存使用情况
_cat/fielddata/{fields}     #查看指定field的内存使用情况,里面传field属性对应的值

# 获取node属性信息
_cat/nodeattrs              #查看单节点的自定义属性
_cat/repositories           #输出集群中注册快照存储库
_cat/snapshots/{repository}    # 输出属于指定仓库的快照信息(snapshots),每个快照信息包括了它被启动和被停止的信息。
_cat/snapshots/repo1?v
_cat/templates              #输出当前正在存在的模板信息
_cat/templates?v
_cat/ml/anomaly_detectors
_cat/ml/anomaly_detectors/{job_id}
_cat/ml/trained_models
_cat/ml/trained_models/{model_id}
_cat/ml/datafeeds
_cat/ml/datafeeds/{datafeed_id}
_cat/ml/data_frame/analytics
_cat/ml/data_frame/analytics/{id}
_cat/transforms
_cat/transforms/{transform_id}
0

评论区