Nodes info API

edit

Returns cluster nodes information.

Request

edit

GET /_nodes

GET /_nodes/<node_id>

GET /_nodes/<metric>

GET /_nodes/<node_id>/<metric>

Description

edit

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 parameters

edit
<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 body

edit
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 parameters

edit
flat_settings
(Optional, boolean) If true, returns settings in flat format. Defaults to false.
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.

Examples

edit
# 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 metric

edit

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 metric

edit

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"
          }
        ]
      }
    }
  }
}