节点信息 API
编辑节点信息 API
编辑返回集群节点信息。
路径参数
编辑-
<metric>
-
(可选,字符串)将返回的信息限制为特定指标。支持逗号分隔的列表,例如
http,ingest
。<metric>
的有效值-
aggregations
- 有关可用聚合类型的信息。
-
http
- 有关此节点的 HTTP 接口的信息。
-
indices
-
与索引相关的节点级配置
-
total_indexing_buffer
:此节点上索引缓冲区的最大大小。
-
-
ingest
- 有关数据采集管道和处理器的信息。
-
jvm
- JVM 信息,包括其名称、版本和配置。
-
os
- 操作系统信息,包括其名称和版本。
-
plugins
-
有关每个节点安装的插件和模块的详细信息。每个插件和模块都提供以下信息:
-
name
:插件名称 -
version
:构建插件所用的 Elasticsearch 版本 -
description
:插件用途的简短描述 -
classname
:插件入口点的完全限定类名 -
has_native_controller
:插件是否具有本机控制器进程
-
-
process
- 进程信息,包括数字进程 ID。
-
settings
- 列出
elasticsearch.yml
文件中定义的所有正在使用的节点设置。 -
thread_pool
- 有关每个线程池配置的信息。
-
transport
- 有关节点传输接口的信息。
-
如果您使用此 API 的完整形式 GET /_nodes/<node_id>/<metric>
,您还可以请求指标 _all
来检索所有指标,或者您可以请求指标 _none
来抑制所有指标,仅检索节点的身份。
-
<node_id>
- (可选,字符串)用于限制返回信息的节点 ID 或名称的逗号分隔列表。
响应体
编辑-
build_hash
- 此版本中最后一次 git 提交的短哈希。
-
host
- 节点的 主机名。
-
ip
- 节点的 IP 地址。
-
name
- 节点的名称。
-
total_indexing_buffer
- 在必须写入磁盘之前,允许用于保存最近索引文档的总堆大小。此大小是此节点上所有分片共享的池,由索引缓冲区设置控制。
-
total_indexing_buffer_in_bytes
- 与
total_indexing_buffer
相同,但以字节表示。 -
transport_address
- 接受传输 HTTP 连接的主机和端口。
-
version
- 此节点上运行的 Elasticsearch 版本。
-
transport_version
- 此节点可以与之通信的最新传输版本。
-
index_version
- 此节点可以读取的最新索引版本。
-
component_versions
- 此节点中加载的各个组件的版本号。
可以设置 os
标志来检索有关操作系统的信息
-
os.refresh_interval_in_millis
- OS 统计信息的刷新间隔
-
os.name
- 操作系统名称(例如:Linux、Windows、Mac OS X)
-
os.arch
- JVM 架构的名称(例如:amd64、x86)
-
os.version
- 操作系统版本
-
os.available_processors
- Java 虚拟机可用的处理器数量
-
os.allocated_processors
- 实际用于计算线程池大小的处理器数量。此数字可以使用节点的
node.processors
设置进行设置,默认值是操作系统报告的处理器数量。
可以设置 process
标志来检索有关当前正在运行的进程的信息
-
process.refresh_interval_in_millis
- 进程统计信息的刷新间隔
-
process.id
- 进程标识符 (PID)
-
process.mlockall
- 指示进程地址空间是否已成功锁定在内存中
查询参数
编辑-
flat_settings
- (可选,布尔值)如果为
true
,则以平面格式返回设置。默认为false
。 -
timeout
- (可选,时间单位)等待每个节点响应的时间段。如果节点在其超时过期之前未响应,则响应不包括其信息。但是,超时的节点包含在响应的
_nodes.failed
属性中。默认为无超时。
示例
编辑response = client.nodes.info( node_id: 'process' ) puts response response = client.nodes.info( node_id: '_all', metric: 'process' ) puts response response = client.nodes.info( node_id: 'nodeId1,nodeId2', metric: 'jvm,process' ) puts response response = client.nodes.info( node_id: 'nodeId1,nodeId2', metric: '_all' ) puts response
# return just process GET /_nodes/process # same as above GET /_nodes/_all/process # return just jvm and process of only nodeId1 and nodeId2 GET /_nodes/nodeId1,nodeId2/jvm,process # same as above GET /_nodes/nodeId1,nodeId2/info/jvm,process # return all the information of only nodeId1 and nodeId2 GET /_nodes/nodeId1,nodeId2/_all
可以设置 _all
标志来返回所有信息 - 或者您可以省略它。
插件指标示例
编辑如果指定了 plugins
,则结果将包含有关已安装插件和模块的详细信息
resp = client.nodes.info( node_id="plugins", ) print(resp)
response = client.nodes.info( node_id: 'plugins' ) puts response
const response = await client.nodes.info({ node_id: "plugins", }); console.log(response);
GET /_nodes/plugins
该 API 返回以下响应
{ "_nodes": ... "cluster_name": "elasticsearch", "nodes": { "USpTGYaBSIKbgSUJR2Z9lg": { "name": "node-0", "transport_address": "192.168.17:9300", "host": "node-0.elastic.co", "ip": "192.168.17", "version": "{version}", "transport_version": 100000298, "index_version": 100000074, "component_versions": { "ml_config_version": 100000162, "transform_config_version": 100000096 }, "build_flavor": "default", "build_type": "{build_type}", "build_hash": "587409e", "roles": [ "master", "data", "ingest" ], "attributes": {}, "plugins": [ { "name": "analysis-icu", "version": "{version}", "description": "The ICU Analysis plugin integrates Lucene ICU module into elasticsearch, adding ICU relates analysis components.", "classname": "org.elasticsearch.plugin.analysis.icu.AnalysisICUPlugin", "has_native_controller": false } ], "modules": [ { "name": "lang-painless", "version": "{version}", "description": "An easy, safe and fast scripting language for Elasticsearch", "classname": "org.elasticsearch.painless.PainlessPlugin", "has_native_controller": false } ] } } }
采集指标示例
编辑如果指定了 ingest
,则响应包含有关每个节点可用处理器的详细信息
resp = client.nodes.info( node_id="ingest", ) print(resp)
response = client.nodes.info( node_id: 'ingest' ) puts response
const response = await client.nodes.info({ node_id: "ingest", }); console.log(response);
GET /_nodes/ingest
该 API 返回以下响应
{ "_nodes": ... "cluster_name": "elasticsearch", "nodes": { "USpTGYaBSIKbgSUJR2Z9lg": { "name": "node-0", "transport_address": "192.168.17:9300", "host": "node-0.elastic.co", "ip": "192.168.17", "version": "{version}", "transport_version": 100000298, "index_version": 100000074, "component_versions": { "ml_config_version": 100000162, "transform_config_version": 100000096 }, "build_flavor": "default", "build_type": "{build_type}", "build_hash": "587409e", "roles": [], "attributes": {}, "ingest": { "processors": [ { "type": "date" }, { "type": "uppercase" }, { "type": "set" }, { "type": "lowercase" }, { "type": "gsub" }, { "type": "convert" }, { "type": "remove" }, { "type": "fail" }, { "type": "foreach" }, { "type": "split" }, { "type": "trim" }, { "type": "rename" }, { "type": "join" }, { "type": "append" } ] } } } }