310 lines
8.9 KiB
Plaintext
310 lines
8.9 KiB
Plaintext
[[cluster-nodes-info]]
|
|
== Nodes Info
|
|
|
|
The cluster nodes info API allows to retrieve one or more (or all) of
|
|
the cluster nodes information.
|
|
|
|
[source,js]
|
|
--------------------------------------------------
|
|
GET /_nodes
|
|
GET /_nodes/nodeId1,nodeId2
|
|
--------------------------------------------------
|
|
// CONSOLE
|
|
|
|
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
|
|
<<cluster-nodes,here>>.
|
|
|
|
By default, it just returns all attributes and core settings for a node:
|
|
|
|
[float]
|
|
[[core-info]]
|
|
|
|
`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,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`:
|
|
|
|
[source,js]
|
|
--------------------------------------------------
|
|
# 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
|
|
--------------------------------------------------
|
|
// CONSOLE
|
|
|
|
The `_all` flag can be set to return all the information - or you can simply omit it.
|
|
|
|
[float]
|
|
[[os-info]]
|
|
==== Operating System information
|
|
|
|
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.
|
|
|
|
[float]
|
|
[[process-info]]
|
|
==== Process information
|
|
|
|
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
|
|
|
|
[float]
|
|
[[plugins-info]]
|
|
==== Plugins information
|
|
|
|
`plugins` - if set, the result will contain details about the installed plugins and modules per node:
|
|
|
|
[source,js]
|
|
--------------------------------------------------
|
|
GET /_nodes/plugins
|
|
--------------------------------------------------
|
|
// CONSOLE
|
|
// TEST[setup:node]
|
|
|
|
The result will look similar to:
|
|
|
|
[source,js]
|
|
--------------------------------------------------
|
|
{
|
|
"_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": "zip",
|
|
"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
|
|
},
|
|
{
|
|
"name": "ingest-geoip",
|
|
"version": "{version}",
|
|
"description": "Ingest processor that uses looksup geo data based on ip adresses using the Maxmind geo database",
|
|
"classname": "org.elasticsearch.ingest.geoip.IngestGeoIpPlugin",
|
|
"has_native_controller": false
|
|
},
|
|
{
|
|
"name": "ingest-user-agent",
|
|
"version": "{version}",
|
|
"description": "Ingest processor that extracts information from a user agent",
|
|
"classname": "org.elasticsearch.ingest.useragent.IngestUserAgentPlugin",
|
|
"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
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
--------------------------------------------------
|
|
// TESTRESPONSE[s/"_nodes": \.\.\./"_nodes": $body.$_path,/]
|
|
// TESTRESPONSE[s/"elasticsearch"/$body.cluster_name/]
|
|
// TESTRESPONSE[s/"USpTGYaBSIKbgSUJR2Z9lg"/\$node_name/]
|
|
// TESTRESPONSE[s/"name": "node-0"/"name": $body.$_path/]
|
|
// TESTRESPONSE[s/"transport_address": "192.168.17:9300"/"transport_address": $body.$_path/]
|
|
// TESTRESPONSE[s/"host": "node-0.elastic.co"/"host": $body.$_path/]
|
|
// TESTRESPONSE[s/"ip": "192.168.17"/"ip": $body.$_path/]
|
|
// TESTRESPONSE[s/"build_hash": "587409e"/"build_hash": $body.$_path/]
|
|
// TESTRESPONSE[s/"roles": \[[^\]]*\]/"roles": $body.$_path/]
|
|
// TESTRESPONSE[s/"attributes": \{[^\}]*\}/"attributes": $body.$_path/]
|
|
// TESTRESPONSE[s/"plugins": \[[^\]]*\]/"plugins": $body.$_path/]
|
|
// TESTRESPONSE[s/"modules": \[[^\]]*\]/"modules": $body.$_path/]
|
|
|
|
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
|
|
|
|
|
|
[float]
|
|
[[ingest-info]]
|
|
==== Ingest information
|
|
|
|
`ingest` - if set, the result will contain details about the available
|
|
processors per node:
|
|
|
|
[source,js]
|
|
--------------------------------------------------
|
|
GET /_nodes/ingest
|
|
--------------------------------------------------
|
|
// CONSOLE
|
|
// TEST[setup:node]
|
|
|
|
The result will look similar to:
|
|
|
|
[source,js]
|
|
--------------------------------------------------
|
|
{
|
|
"_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": "zip",
|
|
"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"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
--------------------------------------------------
|
|
// TESTRESPONSE[s/"_nodes": \.\.\./"_nodes": $body.$_path,/]
|
|
// TESTRESPONSE[s/"elasticsearch"/$body.cluster_name/]
|
|
// TESTRESPONSE[s/"USpTGYaBSIKbgSUJR2Z9lg"/\$node_name/]
|
|
// TESTRESPONSE[s/"name": "node-0"/"name": $body.$_path/]
|
|
// TESTRESPONSE[s/"transport_address": "192.168.17:9300"/"transport_address": $body.$_path/]
|
|
// TESTRESPONSE[s/"host": "node-0.elastic.co"/"host": $body.$_path/]
|
|
// TESTRESPONSE[s/"ip": "192.168.17"/"ip": $body.$_path/]
|
|
// TESTRESPONSE[s/"build_hash": "587409e"/"build_hash": $body.$_path/]
|
|
// TESTRESPONSE[s/"roles": \[[^\]]*\]/"roles": $body.$_path/]
|
|
// TESTRESPONSE[s/"attributes": \{[^\}]*\}/"attributes": $body.$_path/]
|
|
// TESTRESPONSE[s/"processors": \[[^\]]*\]/"processors": $body.$_path/]
|
|
|
|
The following information are available for each ingest processor:
|
|
|
|
* `type`: the processor type
|