Nodes Infoedit

The cluster nodes info API allows to retrieve one or more (or all) of the cluster nodes information.

curl -XGET 'http://localhost:9200/_nodes'
curl -XGET 'http://localhost:9200/_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
Short hash of the last git commit in this release.
host
The node’s host name.
http_address
Host and port where primary HTTP connections are accepted.
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.

It also allows to get only information on settings, os, process, jvm, thread_pool, transport, http, plugins, ingest and indices:

curl -XGET 'http://localhost:9200/_nodes/process'
curl -XGET 'http://localhost:9200/_nodes/_all/process'
curl -XGET 'http://localhost:9200/_nodes/nodeId1,nodeId2/jvm,process'
# same as above
curl -XGET 'http://localhost:9200/_nodes/nodeId1,nodeId2/info/jvm,process'

curl -XGET 'http://localhost:9200/_nodes/nodeId1,nodeId2/_all

The _all flag can be set to return all the information - or you can simply omit it.

Operating System informationedit

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.

Process informationedit

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

Plugins informationedit

plugins - if set, the result will contain details about the loaded plugins per node:

  • name: plugin name
  • description: plugin description if any
  • site: true if the plugin is a site plugin
  • jvm: true if the plugin is a plugin running in the JVM
  • url: URL if the plugin is a site plugin

The result will look similar to:

{
  "cluster_name" : "test-cluster-MacBook-Air-de-David.local",
  "nodes" : {
    "hJLXmY_NTrCytiIMbX4_1g" : {
      "name" : "node4",
      "transport_address" : "inet[/172.18.58.139:9303]",
      "hostname" : "MacBook-Air-de-David.local",
      "version" : "0.90.0.Beta2-SNAPSHOT",
      "http_address" : "inet[/172.18.58.139:9203]",
      "plugins" : [ {
        "name" : "test-plugin",
        "description" : "test-plugin description",
        "site" : true,
        "jvm" : false
      }, {
        "name" : "test-no-version-plugin",
        "description" : "test-no-version-plugin description",
        "site" : true,
        "jvm" : false
      }, {
        "name" : "dummy",
        "description" : "No description found for dummy.",
        "url" : "/_plugin/dummy/",
        "site" : false,
        "jvm" : true
      } ]
    }
  }
}

Ingest informationedit

ingest - if set, the result will contain details about the available processors per node:

  • type: the processor type

The result will look similar to:

{
  "cluster_name": "elasticsearch",
  "nodes": {
    "O70_wBv6S9aPPcAKdSUBtw": {
      "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"
          }
        ]
      }
    }
  }
}