Elasticsearch 官方接口明细

/ 0评 / 0

[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/

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注