跳到主要内容

cat 节点 API

新版 API 参考

有关最新的 API 详情,请参阅紧凑和对齐文本(CAT)API

警告

cat API 仅用于通过命令行或 Kibana 控制台供人工查看,不适用于应用程序。如需供应用程序使用,请使用节点信息 API

返回集群节点的信息。

请求

GET /_cat/nodes

前置条件

  • 如果启用了 Elasticsearch 安全功能,你必须拥有 monitormanage 集群权限才能使用此 API。

查询参数

  • bytes(可选,字节大小单位

    用于显示字节值的单位。

  • format(可选,字符串)

    HTTP accept 头的简短版本。有效值包括 JSON、YAML 等。

  • full_id(可选,布尔值)

    如果为 true,返回完整的节点 ID。如果为 false,返回缩短的节点 ID。默认为 false

  • h(可选,字符串)

    要显示的列名的逗号分隔列表。

    如果未指定要包含的列,API 将按以下列出的顺序返回默认列。如果显式指定一个或多个列,则仅返回指定的列。

    有效列包括:

    • ipi:(默认)IP 地址,例如 127.0.1.1

    • heap.percenthpheapPercent:(默认)已分配的 Elasticsearch JVM 堆的使用百分比,例如 7。这仅反映在操作系统中运行的 Elasticsearch 进程,是其 JVM/堆/内存资源性能的最直接指标。

    • heap.maxhmheapMax:总堆大小,例如 4gb

    • ram.percentrpramPercent:(默认)操作系统总内存的使用百分比,例如 47。这反映操作系统上运行的所有进程而非仅 Elasticsearch,不保证与其性能相关。

    • file_desc.percentfdpfileDescriptorPercent:已用文件描述符百分比,例如 1

    • node.rolerrolenodeRole:(默认)节点的角色。返回值包括 c(冷节点)、d(数据节点)、f(冻结节点)、h(热节点)、i(接入节点)、l(机器学习节点)、m(符合主节点资格的节点)、r(远程集群客户端节点)、s(内容节点)、t(转换节点)、v(仅投票节点)、w(温节点)和 -(仅协调节点)。

      例如,dim 表示一个符合主节点资格的数据和接入节点。参见节点设置

    • masterm:(默认)指示该节点是否为选举出的主节点。返回值包括 *(选举出的主节点)和 -(非选举出的主节点)。

    • namen:(默认)节点名称,例如 I8hydUG

    • idnodeId:节点 ID,例如 k0zy

    • pidp:进程 ID,例如 13061

    • portpo:绑定的传输端口,例如 9300

    • http_addresshttp:绑定的 HTTP 地址,例如 127.0.0.1:9200

    • versionv:Elasticsearch 版本,例如 8.18.8

    • buildb:Elasticsearch 构建哈希值,例如 5c03844

    • jdkj:Java 版本,例如 1.8.0

    • disk.totaldtdiskTotal:总磁盘空间,例如 458.3gb

    • disk.useddudiskUsed:已用磁盘空间,例如 259.8gb

    • disk.availddiskdiskAvail:可用磁盘空间,例如 198.4gb

    • disk.used_percentdupdiskUsedPercent:已用磁盘空间百分比,例如 47

    • heap.currenthcheapCurrent:已用堆大小,例如 311.2mb

    • ram.currentrcramCurrent:已用总内存,例如 513.4mb

    • ram.maxrmramMax:总内存,例如 2.9gb

    • file_desc.currentfdcfileDescriptorCurrent:已用文件描述符,例如 123

    • file_desc.maxfdmfileDescriptorMax:最大文件描述符数,例如 1024

    • cpu:(默认)最近的系统 CPU 使用百分比,例如 12

    • load_1ml:(默认)最近的负载平均值,例如 0.22

    • load_5ml:(默认)最近五分钟的负载平均值,例如 0.78

    • load_15ml:(默认)最近十五分钟的负载平均值,例如 1.24

    • uptimeu:节点运行时间,例如 17.3m

    • completion.sizecscompletionSize:自动补全大小,例如 0b

    • fielddata.memory_sizefmfielddataMemory:已用字段数据缓存内存,例如 0b

    • fielddata.evictionsfefielddataEvictions:字段数据缓存驱逐次数,例如 0

    • query_cache.memory_sizeqcmqueryCacheMemory:已用查询缓存内存,例如 0b

    • query_cache.evictionsqcequeryCacheEvictions:查询缓存驱逐次数,例如 0

    • query_cache.hit_countqchcqueryCacheHitCount:查询缓存命中次数,例如 0

    • query_cache.miss_countqcmcqueryCacheMissCount:查询缓存未命中次数,例如 0

    • request_cache.memory_sizercmrequestCacheMemory:已用请求缓存内存,例如 0b

    • request_cache.evictionsrcerequestCacheEvictions:请求缓存驱逐次数,例如 0

    • request_cache.hit_countrchcrequestCacheHitCount:请求缓存命中次数,例如 0

    • request_cache.miss_countrcmcrequestCacheMissCount:请求缓存未命中次数,例如 0

    • flush.totalftflushTotal:刷新次数,例如 1

    • flush.total_timefttflushTotalTime:刷新耗时,例如 1

    • get.currentgcgetCurrent:当前 GET 操作数,例如 0

    • get.timegtigetTime:GET 耗时,例如 14ms

    • get.totalgtogetTotal:GET 操作总数,例如 2

    • get.exists_timegetigetExistsTime:成功 GET 耗时,例如 14ms

    • get.exists_totalgetogetExistsTotal:成功 GET 操作数,例如 2

    • get.missing_timegmtigetMissingTime:失败 GET 耗时,例如 0s

    • get.missing_totalgmtogetMissingTotal:失败 GET 操作数,例如 1

    • indexing.delete_currentidcindexingDeleteCurrent:当前删除操作数,例如 0

    • indexing.delete_timeidtiindexingDeleteTime:删除耗时,例如 2ms

    • indexing.delete_totalidtoindexingDeleteTotal:删除操作总数,例如 2

    • indexing.index_currentiicindexingIndexCurrent:当前索引操作数,例如 0

    • indexing.index_timeiitiindexingIndexTime:索引耗时,例如 134ms

    • indexing.index_totaliitoindexingIndexTotal:索引操作总数,例如 1

    • indexing.index_failediifindexingIndexFailed:失败的索引操作数,例如 0

    • indexing.index_failed_due_to_version_conflictiifvcindexingIndexFailedDueToVersionConflict:因版本冲突失败的索引操作数,例如 0

    • merges.currentmcmergesCurrent:当前合并操作数,例如 0

    • merges.current_docsmcdmergesCurrentDocs:当前合并文档数,例如 0

    • merges.current_sizemcsmergesCurrentSize:当前合并大小,例如 0b

    • merges.totalmtmergesTotal:已完成的合并操作数,例如 0

    • merges.total_docsmtdmergesTotalDocs:已合并文档数,例如 0

    • merges.total_sizemtsmergesTotalSize:当前合并大小,例如 0b

    • merges.total_timemttmergesTotalTime:合并文档耗时,例如 0s

    • refresh.totalrtorefreshTotal:刷新次数,例如 16

    • refresh.timertirefreshTime:刷新耗时,例如 91ms

    • script.compilationsscrccscriptCompilations:脚本编译总数,例如 17

    • script.cache_evictionsscrcescriptCacheEvictions:从缓存中驱逐的已编译脚本总数,例如 6

    • search.fetch_currentsfcsearchFetchCurrent:当前 fetch 阶段操作数,例如 0

    • search.fetch_timesftisearchFetchTime:fetch 阶段耗时,例如 37ms

    • search.fetch_totalsftosearchFetchTotal:fetch 操作总数,例如 7

    • search.open_contextssosearchOpenContexts:打开的搜索上下文数,例如 0

    • search.query_currentsqcsearchQueryCurrent:当前 query 阶段操作数,例如 0

    • search.query_timesqtisearchQueryTime:query 阶段耗时,例如 43ms

    • search.query_totalsqtosearchQueryTotal:query 操作总数,例如 9

    • search.scroll_currentsccsearchScrollCurrent:打开的 scroll 上下文数,例如 2

    • search.scroll_timesctisearchScrollTime:scroll 上下文保持打开的时间,例如 2m

    • search.scroll_totalsctosearchScrollTotal:已完成的 scroll 上下文数,例如 1

    • segments.countscsegmentsCount:段数量,例如 4

    • segments.memorysmsegmentsMemory:段使用的内存,例如 1.4kb

    • segments.index_writer_memorysiwmsegmentsIndexWriterMemory:索引写入器使用的内存,例如 18mb

    • segments.version_map_memorysvmmsegmentsVersionMapMemory:版本映射使用的内存,例如 1.0kb

    • segments.fixed_bitset_memorysfbmfixedBitsetMemory:用于嵌套对象字段类型和 join 字段中引用的类型过滤器的固定位集使用的内存,例如 1.0kb

    • suggest.currentsucsuggestCurrent:当前建议操作数,例如 0

    • suggest.timesutisuggestTime:建议耗时,例如 0

    • suggest.totalsutosuggestTotal:建议操作总数,例如 0

    • shard_stats.total_countsstcshardsshardStatsTotalCount:已分配的分片数量。

    • mappings.total_countmtcmappingsTotalCount:映射数量,包括运行时字段和对象字段。

    • mappings.total_estimated_overhead_in_bytesmteomappingsTotalEstimatedOverheadInBytes:此节点上映射的估计堆开销(字节),每个映射字段按 1KiB 堆计算。

  • help(可选,布尔值)

    如果为 true,响应将包含帮助信息。默认为 false

  • master_timeout(可选,时间单位

    等待主节点的时间。如果主节点在超时到期前不可用,请求将失败并返回错误。默认为 30s。也可以设置为 -1 表示请求永不超时。

  • s(可选,字符串)

    用于对响应进行排序的列名或列别名的逗号分隔列表。

  • time(可选,时间单位

    用于显示时间值的单位。

  • v(可选,布尔值)

    如果为 true,响应将包含列标题。默认为 false

  • include_unloaded_segments(可选,布尔值)

    如果为 true,响应将包含未加载到内存中的段的信息。默认为 false

示例

默认列示例

GET /_cat/nodes?v=true

API 返回以下响应:

ip        heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
127.0.0.1 65 99 42 3.07 dim * mJw06l1

ipheap.percentram.percentcpuload_* 列提供每个节点的 IP 地址和性能信息。

node.rolemastername 列提供用于监控整个集群(特别是大型集群)的有用信息。

显式列示例

以下 API 请求返回 idipportv(version)和 m(master)列。

GET /_cat/nodes?v=true&h=id,ip,port,v,m

API 返回以下响应:

id   ip        port  v         m
veJR 127.0.0.1 59938 8.18.8 *