9. elasticsearch 运维指令

本文详细介绍了Elasticsearch的Cat API,包括各种参数和命令的使用,如查看别名、分配、索引、健康状况等。Cat API提供了快速查询集群状态、节点信息、索引统计等数据的便捷方式,对于监控和管理Elasticsearch集群非常实用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

cat基础

查看都有哪些cat指令

一、Cat通用参数

参数名

指令示例

功能

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头部的多媒体格式的优先级更高)

二、cat命令

命令

示例

功能

aliases

GET /_cat/XXX/aliases?v

GET /_cat/aliases/alias1,aliase2,aliase3

查询当前配置索引,过滤器,路由的别名

如果需要指定一至多个别名,则以逗号隔开

allocation

GET /_cat/allocation?v

查询每个节点上分配的分片(shard)的数量和每个分片(shard)所使用的硬盘容量

count

GET /_cat/count?v

GET /_cat/count/[index]?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*

输出当前正在存在的模板信息

输出指定模板的信息

verbose显示指令的详细信息

GET _cat/health?v

help显示指令返回参数的说明

GET _cat/health?help

header选择要显示的列

GET _cat/count?h=timestamp,count

format设置返回内容的格式,支持json,yaml,text,smile,cbor

GET _cat/master?format=json&pretty

sort排序

GET _cat/indices?s=store.size:desc

可以多个参数一起使用,用&连接

GET _cat/indices?v&s=store.size:desc

cat指令

aliases

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

GET _cat/aliases?v alias index filter routing.index routing.search

名称

描述

alias:

别名

index:

索引别名指向

filter:

过滤规则

routing.index:

索引路由

routing.search:

搜索路由

allocation

显示每个节点分片数量、占用空间

GET _cat/allocation?v shards disk.indices disk.used disk.avail disk.total disk.percent host ip node 1073 1.2tb 1.2tb 787.1gb 1.9tb 61 10.82.9.205 10.82.9.205 node01 1072 1.2tb 1.2tb 1.2tb 2.4tb 50 10.82.9.207 10.82.9.207 node03 1073 1.2tb 1.2tb 787.4gb 1.9tb 61 10.82.9.206 10.82.9.206 node02

名称

描述

shards:

节点承载的分片数量

disk.indices:

索引占用的空间大小

disk.used:

节点所在机器已使用的磁盘空间大小

disk.avail:

节点可用空间大小

disk.total:

节点总空间大小

disk.percent:

节点磁盘占用百分比

host:

节点的host地址

ip:

节点的ip地址

node:

节点名称

count

显示索引文档数量

GET _cat/count?v epoch timestamp count 1558059594 10:19:54 7829577019

名称

描述

epoch:

自标准时间(1970-01-01 00:00:00)以来的秒数

timestamp:

时间

count:

文档总数

health

查看集群健康状况

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%

名称

描述

epoch:

自标准时间(1970-01-01 00:00:00)以来的秒数

timestamp:

时间

cluster:

集群名称

status:

集群状态

node.total:

节点总数

node.data:

数据节点总数

shards:

分片总数

pri:

主分片总数

repo:

复制节点的数量

init:

初始化节点的数量

unassign:

未分配分片的数量

pending_tasks:

待定任务数

max_task_wait_time:

等待最长任务的等待时间

active_shards_percent:

活动分片百分比

indices

查看索引信息

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

名称

描述

health:

索引的健康状态

status:

索引的开启状态

index:

索引名字

uuid:

索引的uuid

pri:

索引的主分片数量

rep:

索引的复制分片数量

docs.count:

索引下的文档总数

docs.deleted:

索引下删除状态的文档数

store.size:

主分片+复制分片的大小

pri.store.size:

主分片的大小

master

显示master节点信息

GET _cat/master?v id host ip node dkof1ouuT96BTQOR1xyDhQ 10.82.9.205 10.82.9.205 node01

名称

描述

id:

节点ID

host:

主机名称

ip:

主机IP

node:

节点名称

nodeattrs

显示node节点属性

GET _cat/nodeattrs?v node host ip attr value

名称

描述

node:

节点名称

host:

主机地址

ip:

主机ip

attr:

属性描述

value:

属性值

nodes

显示node节点信息

GET _cat/nodes?v ip heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name 10.82.9.205 50 99 6 2.32 2.82 3.37 mdi * node01 10.82.9.206 71 99 6 3.24 4.02 4.35 mdi - node02 10.82.9.208 25 94 3 0.40 0.42 0.36 i - node04 10.82.9.132 70 99 7 1.51 2.28 2.57 di - node11

名称

描述

ip:

node节点的IP

heap.percent:

堆内存占用百分比

ram.percent:

内存占用百分比

cpu:

CPU占用百分比

load_1m:

1分钟的系统负载

load_5m:

5分钟的系统负载

load_15m:

15分钟的系统负载

node.role:

node节点的角色

master:

是否是master节点

name:

节点名称

pending_tasks

显示正在等待的任务

GET _cat/pending_tasks?v insertOrder timeInQueue priority source

名称

描述

insertOrder:

任务插入顺序

timeInQueue:

任务排队了多长时间

priority:

任务优先级

source:

任务源

plugins

显示每个运行插件节点的视图

GET _cat/plugins?v name component version

名称

描述

name:

节点名称

component:

插件名称

version:

插件版本

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%

名称

描述

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操作数

translog_ops_recovered:

已恢复的translog操作数

translog_ops_percent:

恢复的translog操作的百分比

segments

显示碎片中的分段信息

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

名称

描述

index:

索引名称

shard:

分片名称

prirep:

主分片还是副本分片

ip:

所在节点IP

segment:

segments段名

generation:

分段生成

docs.count:

段中的文档树

docs.deleted:

段中删除的文档数

size:

段大小,以字节为单位

size.memory:

段内存大小,以字节为单位

committed:

段是否已提交

searchable:

段是否可搜索

version:

版本

compound:

compound模式

shards

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

名称

描述

index:

索引名称

shard:

分片序号

prirep:

分片类型,p表示是主分片,r表示是复制分片

state:

分片状态

docs:

该分片存放的文档数量

store:

该分片占用的存储空间大小

ip:

该分片所在的服务器ip

node:

该分片所在的节点名称

thread_pool

查看线程池信息

GET _cat/thread_pool?v node_name name active queue rejected node10 bulk 1 0 4 node10 fetch_shard_started 0 0 0

名称

描述

node_name:

节点名称

name:

线程池名称

active:

活跃线程数量

queue:

当前队列中的任务数

rejected:

被拒绝的任务数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值