cat 节点 API
编辑cat 节点 API
编辑cat API 仅供使用命令行或 Kibana 控制台的人员使用。它们**不**适用于应用程序。对于应用程序使用,请使用节点信息 API。
返回有关集群节点的信息。
请求
编辑GET /_cat/nodes
查询参数
编辑-
bytes
- (可选,字节大小单位) 用于显示字节值的单位。
-
format
- (可选,字符串)HTTP 接受头的简短版本。有效值包括 JSON、YAML 等。
-
full_id
- (可选,布尔值) 如果
true
,则返回完整的节点 ID。如果false
,则返回缩短的节点 ID。默认为false
。 -
h
-
(可选,字符串) 要显示的列名称的逗号分隔列表。
如果您未指定要包含哪些列,则 API 将按以下列出的顺序返回默认列。如果您显式指定了一个或多个列,则它仅返回指定的列。
有效列为
-
ip
,i
- (默认) IP 地址,例如
127.0.0.1
。 -
heap.percent
,hp
,heapPercent
- (默认) 已使用的 Elasticsearch JVM 堆总量的百分比,例如
7
。这仅反映操作系统中运行的 Elasticsearch 进程,并且是其 JVM/堆/内存资源性能的最直接指标。 -
heap.max
,hm
,heapMax
- 总堆大小,例如
4gb
。 -
ram.percent
,rp
,ramPercent
- (默认) 已使用的操作系统内存总量的百分比,例如
47
。这反映了操作系统上运行的所有进程,而不是仅 Elasticsearch,并且不能保证与其性能相关联。 -
file_desc.percent
,fdp
,fileDescriptorPercent
- 已使用的文件描述符百分比,例如
1
。 -
node.role
,r
,role
,nodeRole
-
(默认) 节点的角色。返回的值包括
c
(冷节点)、d
(数据节点)、f
(冻结节点)、h
(热节点)、i
(摄取节点)、l
(机器学习节点)、m
(主节点候选节点)、r
(远程集群客户端节点)、s
(内容节点)、t
(转换节点)、v
(仅投票节点)、w
(温节点)和-
(仅协调节点)。例如,
dim
表示主节点候选数据和摄取节点。请参阅节点。 -
master
,m
- (默认) 指示节点是否为选定的主节点。返回的值包括
*
(已选定的主节点)和-
(未选定的主节点)。 -
name
,n
- (默认) 节点名称,例如
I8hydUG
。 -
id
,nodeId
- 节点的 ID,例如
k0zy
。 -
pid
,p
- 进程 ID,例如
13061
。 -
port
,po
- 绑定的传输端口,例如
9300
。 -
http_address
,http
- 绑定的 http 地址,例如
127.0.0.1:9200
。 -
version
,v
- Elasticsearch 版本,例如 8.16.0。
-
build
,b
- Elasticsearch 构建哈希值,例如
5c03844
。 -
jdk
,j
- Java 版本,例如
1.8.0
。 -
disk.total
,dt
,diskTotal
- 总磁盘空间,例如
458.3gb
。 -
disk.used
,du
,diskUsed
- 已使用的磁盘空间,例如
259.8gb
。 -
disk.avail
,d
,disk
,diskAvail
- 可用磁盘空间,例如
198.4gb
。 -
disk.used_percent
,dup
,diskUsedPercent
- 已使用的磁盘空间百分比,例如
47
。 -
heap.current
,hc
,heapCurrent
- 已使用的堆大小,例如
311.2mb
。 -
ram.current
,rc
,ramCurrent
- 已使用的总内存,例如
513.4mb
。 -
ram.max
,rm
,ramMax
- 总内存,例如
2.9gb
。 -
file_desc.current
,fdc
,fileDescriptorCurrent
- 已使用的文件描述符,例如
123
。 -
file_desc.max
,fdm
,fileDescriptorMax
- 文件描述符的最大数量,例如
1024
。 -
cpu
- (默认) 最近的系统 CPU 使用率(百分比),例如
12
。 -
load_1m
,l
- (默认) 最近的负载平均值,例如
0.22
。 -
load_5m
,l
- (默认) 过去五分钟的负载平均值,例如
0.78
。 -
load_15m
,l
- (默认) 过去十五分钟的负载平均值,例如
1.24
。 -
uptime
,u
- 节点运行时间,例如
17.3m
。 -
completion.size
,cs
,completionSize
- 完成的大小,例如
0b
。 -
fielddata.memory_size
,fm
,fielddataMemory
- 已使用的字段数据缓存内存,例如
0b
。 -
fielddata.evictions
,fe
,fielddataEvictions
- 字段数据缓存逐出次数,例如
0
。 -
query_cache.memory_size
,qcm
,queryCacheMemory
- 已使用的查询缓存内存,例如
0b
。 -
query_cache.evictions
,qce
,queryCacheEvictions
- 查询缓存逐出次数,例如
0
。 -
query_cache.hit_count
,qchc
,queryCacheHitCount
- 查询缓存命中次数,例如
0
。 -
query_cache.miss_count
,qcmc
,queryCacheMissCount
- 查询缓存未命中次数,例如
0
。 -
request_cache.memory_size
,rcm
,requestCacheMemory
- 已使用的请求缓存内存,例如
0b
。 -
request_cache.evictions
,rce
,requestCacheEvictions
- 请求缓存逐出次数,例如
0
。 -
request_cache.hit_count
,rchc
,requestCacheHitCount
- 请求缓存命中次数,例如
0
。 -
request_cache.miss_count
,rcmc
,requestCacheMissCount
- 请求缓存未命中次数,例如
0
。 -
flush.total
,ft
,flushTotal
- 刷新次数,例如
1
。 -
flush.total_time
,ftt
,flushTotalTime
- 刷新花费的时间,例如
1
。 -
get.current
,gc
,getCurrent
- 当前获取操作的数量,例如
0
。 -
get.time
,gti
,getTime
- 获取花费的时间,例如
14ms
。 -
get.total
,gto
,getTotal
- 获取操作的数量,例如
2
。 -
get.exists_time
,geti
,getExistsTime
- 成功获取花费的时间,例如
14ms
。 -
get.exists_total
,geto
,getExistsTotal
- 成功获取操作的数量,例如
2
。 -
get.missing_time
,gmti
,getMissingTime
- 获取失败花费的时间,例如
0s
。 -
get.missing_total
,gmto
,getMissingTotal
- 获取失败操作的数量,例如
1
。 -
indexing.delete_current
,idc
,indexingDeleteCurrent
- 当前删除操作的数量,例如
0
。 -
indexing.delete_time
,idti
,indexingDeleteTime
- 删除花费的时间,例如
2ms
。 -
indexing.delete_total
,idto
,indexingDeleteTotal
- 删除操作的数量,例如
2
。 -
indexing.index_current
,iic
,indexingIndexCurrent
- 当前索引操作的数量,例如
0
。 -
indexing.index_time
、iiti
、indexingIndexTime
- 索引花费的时间,例如
134ms
。 -
indexing.index_total
、iito
、indexingIndexTotal
- 索引操作的次数,例如
1
。 -
indexing.index_failed
、iif
、indexingIndexFailed
- 索引操作失败的次数,例如
0
。 -
merges.current
、mc
、mergesCurrent
- 当前合并操作的次数,例如
0
。 -
merges.current_docs
、mcd
、mergesCurrentDocs
- 当前正在合并的文档数量,例如
0
。 -
merges.current_size
、mcs
、mergesCurrentSize
- 当前合并的大小,例如
0b
。 -
merges.total
、mt
、mergesTotal
- 已完成的合并操作次数,例如
0
。 -
merges.total_docs
、mtd
、mergesTotalDocs
- 已合并的文档数量,例如
0
。 -
merges.total_size
、mts
、mergesTotalSize
- 当前合并的大小,例如
0b
。 -
merges.total_time
、mtt
、mergesTotalTime
- 合并文档花费的时间,例如
0s
。 -
refresh.total
、rto
、refreshTotal
- 刷新的次数,例如
16
。 -
refresh.time
、rti
、refreshTime
- 刷新花费的时间,例如
91ms
。 -
script.compilations
、scrcc
、scriptCompilations
- 脚本编译的总次数,例如
17
。 -
script.cache_evictions
、scrce
、scriptCacheEvictions
- 从缓存中驱逐的已编译脚本总数,例如
6
。 -
search.fetch_current
、sfc
、searchFetchCurrent
- 当前获取阶段的操作次数,例如
0
。 -
search.fetch_time
、sfti
、searchFetchTime
- 获取阶段花费的时间,例如
37ms
。 -
search.fetch_total
、sfto
、searchFetchTotal
- 获取操作的次数,例如
7
。 -
search.open_contexts
、so
、searchOpenContexts
- 打开的搜索上下文数量,例如
0
。 -
search.query_current
、sqc
、searchQueryCurrent
- 当前查询阶段的操作次数,例如
0
。 -
search.query_time
、sqti
、searchQueryTime
- 查询阶段花费的时间,例如
43ms
。 -
search.query_total
、sqto
、searchQueryTotal
- 查询操作的次数,例如
9
。 -
search.scroll_current
、scc
、searchScrollCurrent
- 打开的滚动上下文数量,例如
2
。 -
search.scroll_time
、scti
、searchScrollTime
- 滚动上下文保持打开的时间,例如
2m
。 -
search.scroll_total
、scto
、searchScrollTotal
- 已完成的滚动上下文数量,例如
1
。 -
segments.count
、sc
、segmentsCount
- 段的数量,例如
4
。 -
segments.memory
、sm
、segmentsMemory
- 段使用的内存,例如
1.4kb
。 -
segments.index_writer_memory
、siwm
、segmentsIndexWriterMemory
- 索引写入器使用的内存,例如
18mb
。 -
segments.version_map_memory
、svmm
、segmentsVersionMapMemory
- 版本映射使用的内存,例如
1.0kb
。 -
segments.fixed_bitset_memory
、sfbm
、fixedBitsetMemory
- 用于嵌套对象字段类型和类型过滤器(针对在
join
字段中引用的类型)的固定位集使用的内存,例如1.0kb
。 -
suggest.current
、suc
、suggestCurrent
- 当前建议操作的数量,例如
0
。 -
suggest.time
、suti
、suggestTime
- 建议操作花费的时间,例如
0
。 -
suggest.total
、suto
、suggestTotal
- 建议操作的总数,例如
0
。 -
shard_stats.total_count
、sstc
、shards
、shardStatsTotalCount
- 分配的分片的数量。
-
mappings.total_count
、mtc
、mappingsTotalCount
- 映射的数量,包括 运行时 和 对象 字段。
-
mappings.total_estimated_overhead_in_bytes
、mteo
、mappingsTotalEstimatedOverheadInBytes
- 此节点上映射的估计堆开销(以字节为单位),每个映射字段允许 1KiB 的堆。
-
-
帮助
- (可选,布尔值)如果
true
,则响应包含帮助信息。默认为false
。 -
master_timeout
- (可选,时间单位)等待主节点的时长。如果在超时时间到期之前主节点不可用,则请求失败并返回错误。默认为
30s
。也可以设置为-1
以指示请求永远不会超时。 -
s
- (可选,字符串)用于对响应进行排序的列名称或列别名的逗号分隔列表。
-
时间
- (可选,时间单位)用于显示时间值的单位。
-
v
- (可选,布尔值)如果
true
,则响应包含列标题。默认为false
。 -
include_unloaded_segments
- (可选,布尔值)如果
true
,则响应包含来自未加载到内存中的段的信息。默认为false
。
示例
编辑使用默认列的示例
编辑resp = client.cat.nodes( v=True, ) print(resp)
response = client.cat.nodes( v: true ) puts response
const response = await client.cat.nodes({ v: "true", }); console.log(response);
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
ip
、heap.percent
、ram.percent
、cpu
和 load_*
列提供了每个节点的 IP 地址和性能信息。
node.role
、master
和 name
列提供了有助于监控整个集群(特别是大型集群)的信息。
使用显式列的示例
编辑以下 API 请求返回 id
、ip
、port
、v
(版本)和 m
(主节点)列。
resp = client.cat.nodes( v=True, h="id,ip,port,v,m", ) print(resp)
response = client.cat.nodes( v: true, h: 'id,ip,port,v,m' ) puts response
const response = await client.cat.nodes({ v: "true", h: "id,ip,port,v,m", }); console.log(response);
GET /_cat/nodes?v=true&h=id,ip,port,v,m
API 返回以下响应
id ip port v m veJR 127.0.0.1 59938 8.16.0 *