The cluster nodes info API allows to retrieve one or more (or all) of the cluster nodes information.
GET /_nodes GET /_nodes/nodeId1,nodeId2
The first command retrieves information of all the nodes in the cluster.
The second command selectively retrieves nodes information of only
nodeId1
and nodeId2
. All the nodes selective options are explained
here.
By default, it just returns all attributes and core settings for a node:
build_hash
host
ip
name
total_indexing_buffer
total_indexing_buffer_in_bytes
total_indexing_buffer
, but expressed in bytes.
transport_address
version
It also allows to get only information on settings
, os
, process
, jvm
,
thread_pool
, transport
, http
, plugins
, ingest
and indices
:
# 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
The _all
flag can be set to return all the information - or you can simply omit it.
The os
flag can be set to retrieve information that concern
the operating system:
os.refresh_interval_in_millis
os.name
os.arch
os.version
os.available_processors
os.allocated_processors
processors
setting of a node and defaults to the number of processors reported by the OS.
In both cases this number will never be larger than 32.
The process
flag can be set to retrieve information that concern
the current running process:
process.refresh_interval_in_millis
process.id
process.mlockall
plugins
- if set, the result will contain details about the installed plugins and modules per node:
GET /_nodes/plugins
The result will look similar to:
{ "_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}", "build_flavor": "{build_flavor}", "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 } ] } } }
The following information are available for each plugin and module:
name
: plugin name
version
: version of Elasticsearch the plugin was built for
description
: short description of the plugin’s purpose
classname
: fully-qualified class name of the plugin’s entry point
has_native_controller
: whether or not the plugin has a native controller process
ingest
- if set, the result will contain details about the available
processors per node:
GET /_nodes/ingest
The result will look similar to:
{ "_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}", "build_flavor": "{build_flavor}", "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" } ] } } } }
The following information are available for each ingest processor:
type
: the processor type