OpenSearch/docs/reference/cluster/nodes-info.asciidoc

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