[TOC]
Cat Apis
集群的索引信息 indices
1.cluster health(集群健康)API 可以获取一个集群健康的简单状态
curl -XGET 'localhost:9200/_cat/indices?pretty'
key | 描述 |
---|---|
health | green 则代表健康没问题,如果是 yellow 或者 red 则是集群有问题 |
index | 索引名称 |
pri | 主分片数量 |
docs.count | 索引文档的总数 |
docs.deleted | 索引文档的删除总数 |
store.size | 主分片和副本分片占用的存储大小 |
pri.store.size | 主分片占用的存储大小 |
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size
green open .ds-filebeat-8.0.1-2023.02.09-000024 wQ6237ZPS3uhriIP9exr7Q 1 0 50960 0 10mb 10mb
green open .ds-metricbeat-8.0.1-2023.02.14-000029 qLoFPguFRnSFOhunT_efSg 1 0 153616 0 76.3mb 76.3mb
green open .ds-metricbeat-8.0.1-2023.02.13-000028 uuhrIVjvSA6osh3FhHgRiw 1 0 153512 0 78.9mb 78.9mb
green open .ds-filebeat-8.0.1-2023.02.08-000022 M2lrl9tUR0ycVBWqKC8sKA 1 0 49852 0 9.9mb 9.9mb
yellow open .ds-.monitoring-es-8-mb-2023.02.09-000002 mhDHO1RoRjeLk31ANoqPVw 1 1 814114 0 366.5mb 366.5mb
green open .ds-metricbeat-8.0.1-2023.02.10-000025 Vy0Lp_aiSo-oZX441XwWtw 1 0 153305 0 83.7mb 83.7mb
green open .ds-metricbeat-8.0.1-2023.02.12-000027 v7wV2JlcRRC8XF0ai05HzQ 1 0 153495 0 78.4mb 78.4mb
yellow open .ds-.monitoring-es-8-mb-2023.02.08-000001 _9Knmmh4SC60gE3InaQeTQ 1 1 731657 0 328.7mb 328.7mb
green open .ds-metricbeat-8.0.1-2023.02.11-000026 rrp51F8fTgub6T8d0V7YBg 1 0 153351 0 82.5mb 82.5mb
集群健康状态 health
1.cluster health(集群健康)API 可以获取一个集群健康的简单状态
curl -XGET 'localhost:9200/_cat/health?pretty'
{
cluster_name: "my-es",
status: "yellow", #状态为 green 则代表健康没问题,如果是 yellow 或者 red 则是集群有问题
timed_out: false,#是否设置超时时间
number_of_nodes: 1,#集群的节点数
number_of_data_nodes: 1,#数据节点数
active_primary_shards: 5,#集群中所有活跃的主分片数
active_shards: 5,#集群中分片数量
relocating_shards: 0,#数据转移分片数
initializing_shards: 0,#正在初始化的分片
unassigned_shards: 5,#未分配的分片数
delayed_unassigned_shards: 0,
number_of_pending_tasks: 0,
number_of_in_flight_fetch: 0,
task_max_waiting_in_queue_millis: 0,
active_shards_percent_as_number: 50 #集群分片的可用性百分比,如果为0则表示不可用
}
2.该API也可以针对一个或多个索引执行请求以获得指定索引的健康状态 :
curl -XGET 'localhost:9200/_cluster/health/index?level=shards&pretty'
集群分片的状态 shards
1 shards API 可以获取一个集群分片的状态
curl -XGET 'localhost:9200/_cat/shards?v'
key | 描述 |
---|---|
index | 索引的名称 |
shard | 分片的名称id |
prirep | 分片类型。返回值为primary或replica |
state | 分片的状态:INITIALIZING:分片正在从对等分片或网关中恢复。RELOCATING: 碎片正在搬迁。STARTED: 分片已经开始。UNASSIGNED:分片未分配给任何节点。 |
docs | 分片中的文档数 |
store | 分片使用的磁盘空间 |
ip | 节点的 IP |
node | 节点名称 |
index shard prirep state docs store ip node
.kibana-event-log-8.0.1-000008 0 p STARTED 4 18.7kb 10.42.241.6 ll-es-0
.ds-.logs-deprecation.elasticsearch-default-2022.09.21-000015 0 p STARTED 0 225b 10.42.241.6 ll-es-0
.ds-.logs-deprecation.elasticsearch-default-2022.06.15-000008 0 p STARTED 0 225b 10.42.241.6 ll-es-0
.ds-filebeat-8.0.1-2023.02.13-000028 0 p STARTED 53683 10.5mb 10.42.241.6 ll-es-0
.ds-filebeat-8.0.1-2023.02.08-000022 0 p STARTED 49852 9.9mb 10.42.241.6 ll-es-0
集群节点信息 nodes
curl -XGET 'localhost:9200/_cat/nodes?v'
key | 描述 |
---|---|
ip | node节点的IP |
heap.percent | 堆内存占用百分比 |
ram.percent | 内存占用百分比 |
cpu | CPU占用百分比 |
load_1m | 1分钟的系统负载 |
load_5m | 5分钟的系统负载 |
load_15m | 15分钟的系统负载 |
node.role | node节点的角色 |
master | 是否是master节点 |
name | 节点名称 |
ip heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
10.0.12.9 12 97 1 0.04 0.04 0.05 dilm * node-1
所有任务的进度 tasks
curl -XGET 'localhost:9200/_cat/tasks?v'
key | 描述 |
---|---|
action | 任务动作 |
task_id | 任务唯一id |
parent_task_id | 父级任务id |
type | 任务动作 |
start_time | 任务开始时间 |
timestamp | 开始时间时间戳格式 |
running_time | 运行时间 |
ip | ip |
action task_id parent_task_id type start_time timestamp running_time ip node
health-node[c] eoKIZAaXQA-8YideyGnFpA:39 cluster:3 persistent 1671618088600 10:21:28 62.8d 10.42.241.6 ll-es-0
geoip-downloader[c] eoKIZAaXQA-8YideyGnFpA:42 cluster:4 persistent 1671618088671 10:21:28 62.8d 10.42.241.6 ll-es-0
显示正在等待的任务 pending_tasks
排队的任务
curl -XGET 'localhost:9200/_cat/pending_tasks?v'
key | 描述 |
---|---|
insertOrder | 任务插入顺序 |
timeInQueue | 任务排队了多长时间 |
priority | 任务优先级 |
source | 任务源 |
所有cat命令列表
描述 | 对应接口 | |
---|---|---|
空间占用资源分配 | /_cat/allocation | |
索引的分片情况 | /_cat/shards | |
指定索引的分片明细 | /_cat/shards/{index} | |
master节点的信息 | /_cat/master | |
集群节点信息 | /_cat/nodes | |
查看集群所有任务 | /_cat/tasks | |
集群的索引信息,包含分片计数、文档数量、删除文档数、状态、存储等 | /_cat/indices | |
指定索引的分片信息 | /_cat/indices/{index} | |
索引 Lucene segments 信息 | /_cat/segments | |
指定索引 Lucene 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/thread_pool/{thread_pools} | |
查看每个节点正在运行的插件 | /_cat/plugins | |
节点字段分配情况 | /_cat/fielddata | |
指定字段节点分配情况 | /_cat/fielddata/{fields} | |
自定义节点属性 | /_cat/nodeattrs | |
集群的快照仓库 | /_cat/repositories | |
ES的快照仓库 | /_cat/snapshots/{repository} | |
集群的索引模板 | /_cat/templates |
Cluster Apis 相关接口
重要度 | API | 说明 | 请求 (curl) |
---|---|---|---|
⭐⭐⭐⭐⭐ | Cluster Health API | 检查集群的整体健康状态,包括节点、分片和索引的健康状态。 | curl -X GET 'localhost:9200/_cluster/health?pretty' |
⭐⭐⭐⭐ | Cluster Stats API | 获取集群的统计数据,如文档数、分片信息、节点状态、内存使用等性能指标。 | curl -X GET 'localhost:9200/_cluster/stats?pretty' |
⭐⭐⭐⭐ | Cluster State API | 查看集群的当前状态信息,包括节点、索引元数据、分片分配等。 | curl -X GET 'localhost:9200/_cluster/state?pretty' |
⭐⭐⭐ | Nodes Stats API | 获取每个节点的统计信息,如内存使用、CPU 负载、磁盘 I/O,便于监控性能。 | curl -X GET 'localhost:9200/_nodes/stats?pretty' |
⭐⭐⭐ | Nodes Info API | 获取每个节点的详细信息,包括角色、JVM 版本、插件等,用于查看集群拓扑和节点配置信息。 | curl -X GET 'localhost:9200/_nodes?pretty' |
⭐⭐ | Cluster Settings API | 查看和更新集群级别的设置,包括持久性和瞬时性配置。 | curl -X GET 'localhost:9200/_cluster/settings?pretty' curl -X PUT 'localhost:9200/_cluster/settings' -H 'Content-Type: application/json' -d '{ "persistent": { "setting_key": "value" }}' |
⭐⭐ | Cluster Reroute API | 手动控制分片的分配,例如重新分配未分配的分片或将分片从一个节点迁移到另一个节点。 | curl -X POST 'localhost:9200/_cluster/reroute' -H 'Content-Type: application/json' -d '{ "commands": [ { "move": { "index": "index_name", "shard": 0, "from_node": "node-1", "to_node": "node-2" }}]}' |
⭐⭐ | Pending Tasks API | 获取当前等待执行的集群任务列表,帮助查看配置变更和分片迁移的待处理任务。 | curl -X GET 'localhost:9200/_cluster/pending_tasks?pretty' |
⭐ | Cluster Allocation Explain API | 分析分片分配状况,查找未分配分片的原因,特别在分片分配出现问题时使用。 | curl -X POST 'localhost:9200/_cluster/allocation/explain' -H 'Content-Type: application/json' -d '{ "index": "index_name", "shard": 0, "primary": true }' |
⭐ | Remote Cluster API | 设置和查看远程集群连接信息,支持跨集群搜索和数据访问。 | curl -X GET 'localhost:9200/_remote/info?pretty' curl -X PUT 'localhost:9200/_cluster/settings' -H 'Content-Type: application/json' -d '{ "persistent": { "cluster.remote.remote_cluster.seeds": ["remote_host:9300"] }}' |
https://elkguide.elasticsearch.cn/elasticsearch/monitor/api/cat-cmd.html
引用资料
https://www.elastic.co/guide/en/elasticsearch/reference/7.7/cat.html
https://doc.codingdict.com/elasticsearch/226/
https://rstyro.github.io/blog/2020/09/24/Elasticsearch7-cat-API%E8%AF%A6%E8%A7%A3/