Nodes info APIedit
Returns cluster nodes information.
Descriptionedit
The cluster nodes info API allows to retrieve one or more (or all) of the cluster nodes information. All the nodes selective options are explained here.
By default, it returns all attributes and core settings for a node.
Path parametersedit
-
<metric>
-
(Optional, string) Limits the information returned to the specific metrics. A comma-separated list of the following options:
-
http
- HTTP connection information.
-
ingest
- Statistics about ingest preprocessing.
-
jvm
- JVM stats, memory pool information, garbage collection, buffer pools, number of loaded/unloaded classes.
-
os
- Operating system stats, load average, mem, swap.
-
plugins
-
Details about the installed plugins and modules per node. 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 ---
-
-
process
- Process statistics, memory consumption, cpu usage, open file descriptors.
-
settings
-
thread_pool
- Statistics about each thread pool, including current size, queue and rejected tasks
-
transport
- Transport statistics about sent and received bytes in cluster communication.
-
-
<node_id>
- (Optional, string) Comma-separated list of node IDs or names used to limit returned information.
Response bodyedit
-
build_hash
- Short hash of the last git commit in this release.
-
host
- The node’s host name.
-
ip
- The node’s IP address.
-
name
- The node’s name.
-
total_indexing_buffer
- Total heap allowed to be used to hold recently indexed documents before they must be written to disk. This size is a shared pool across all shards on this node, and is controlled by Indexing Buffer settings.
-
total_indexing_buffer_in_bytes
-
Same as
total_indexing_buffer
, but expressed in bytes. -
transport_address
- Host and port where transport HTTP connections are accepted.
-
version
- Elasticsearch version running on this node.
The os
flag can be set to retrieve information that concern the operating
system:
-
os.refresh_interval_in_millis
- Refresh interval for the OS statistics
-
os.name
- Name of the operating system (ex: Linux, Windows, Mac OS X)
-
os.arch
- Name of the JVM architecture (ex: amd64, x86)
-
os.version
- Version of the operating system
-
os.available_processors
- Number of processors available to the Java virtual machine
-
os.allocated_processors
-
The number of processors actually used to calculate thread pool size. This
number can be set with the
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
- Refresh interval for the process statistics
-
process.id
- Process identifier (PID)
-
process.mlockall
- Indicates if the process address space has been successfully locked in memory
Query parametersedit
-
flat_settings
-
(Optional, boolean) If
true
, returns settings in flat format. Defaults tofalse
. -
master_timeout
-
(Optional, time units) Specifies the period of time to wait for
a connection to the master node. If no response is received before the timeout
expires, the request fails and returns an error. Defaults to
30s
. -
timeout
-
(Optional, time units) Specifies the period of time to wait for
a response. If no response is received before the timeout expires, the request
fails and returns an error. Defaults to
30s
.
Examplesedit
# 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 omit it.
Example for plugins metricedit
If plugins
is specified, the result will contain details about the installed
plugins and modules:
GET /_nodes/plugins
The API returns the following response:
{ "_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 } ] } } }
Example for ingest metricedit
If ingest
is specified, the response contains details about the available
processors per node:
GET /_nodes/ingest
The API returns the following response:
{ "_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" } ] } } } }