首页/云/可观测性速查/Cat API:集群巡检常用接口
日志平台52 条

Cat API:集群巡检常用接口

cat 系列接口以表格形式输出集群状态:索引容量、节点负载、分片分布、线程池队列;加 ?v 显示表头、加 format=json 便于脚本消费。

可观测性速查云更新于 2026-10-13

Cat API 是什么

cat 系列接口用表格形式输出集群状态,是 Elasticsearch 巡检最顺手的入口:索引容量、节点负载、分片分布、线程池队列都能一眼看到。加参数显示表头,加参数切换为结构化格式便于脚本消费。它们的定位是「快速看清楚」,不替代监控系统,但很适合作为日常巡检脚本与故障首查的第一步。

基本信息

适用引擎Elasticsearch 各主版本,接口路径以 _cat 开头
常用参数v 显示表头、h 指定列、s 指定排序、format=json 便于脚本
认证同集群认证方式(用户名密码或 API 密钥)
典型频率巡检脚本按分钟到小时级采集

典型使用场景

  • 容量巡检:按存储大小排序看哪些索引膨胀最快
  • 节点健康:查看堆内存使用率、磁盘水位与负载
  • 分片检查:确认分片分布是否均衡、有无未分配分片
  • 写入压力:观察线程池队列与拒绝数,判断是否需要扩容
  • 脚本采集:以结构化格式输出后写入监控系统

巡检一组命令

巡检一组命令
GET /_cat/health?v
GET /_cat/indices?v&s=store.size:desc              # 索引按容量倒序
GET /_cat/nodes?v&h=name,heap.percent,disk.used_percent,cpu
GET /_cat/shards?v&h=index,shard,prirep,state,node  # 分片与副本状态
GET /_cat/thread_pool?v&h=node_name,name,active,queue,rejected
GET /_cat/allocation?v                              # 各节点磁盘占用与分片数
# 脚本消费统一加 &format=json,字段顺序变化也不影响解析

常用接口与关注点

接口输出内容关注点
_cat/health集群状态与节点数状态非绿色、节点数变化
_cat/indices索引容量、文档数、健康容量突增与副本缺失
_cat/nodes节点负载、堆内存、磁盘堆内存逼近阈值与磁盘水位
_cat/shards分片分布与状态未分配分片与分布不均
_cat/thread_pool线程池活跃与拒绝数拒绝数持续增长
把这几条命令封成巡检脚本定时采集,集群异常前通常能先看到容量增长与队列积压的变化,比故障后翻日志有效得多。
面向人读的输出格式在不同版本间可能调整列顺序,脚本解析一律使用结构化格式,不要按固定位置截取字段。

易错点

  • 线程池拒绝数持续增长说明写入压力已超容量,先降低写入速率或扩容,不要只重启节点
  • 脚本按固定列位解析面向人读的输出,版本升级后字段顺序变化导致采集数据错乱
  • 只看集群健康颜色不看分片与容量细节,黄色状态下仍可能有大范围副本缺失
  • 巡检命令执行频率过高会加重集群负担,采集频率按集群规模设定

数据来源与参考

  • Elastic 官方文档 · CAT APIs
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌