Skip to content

Commit a0ba1a7

Browse files
szabostevejrodewig
andauthored
[DOCS] Reformats cluster node info API (#45446)
Co-Authored-By: James Rodewig <james.rodewig@elastic.co>
1 parent 359b1ac commit a0ba1a7

File tree

2 files changed

+141
-98
lines changed

2 files changed

+141
-98
lines changed

docs/reference/cluster/nodes-info.asciidoc

Lines changed: 139 additions & 96 deletions
Original file line numberDiff line numberDiff line change
@@ -1,125 +1,185 @@
11
[[cluster-nodes-info]]
22
=== Nodes Info
33

4-
The cluster nodes info API allows to retrieve one or more (or all) of
5-
the cluster nodes information.
4+
Returns cluster nodes information.
65

7-
[source,js]
8-
--------------------------------------------------
9-
GET /_nodes
10-
GET /_nodes/nodeId1,nodeId2
11-
--------------------------------------------------
12-
// CONSOLE
136

14-
The first command retrieves information of all the nodes in the cluster.
15-
The second command selectively retrieves nodes information of only
16-
`nodeId1` and `nodeId2`. All the nodes selective options are explained
7+
[[cluster-nodes-info-api-request]]
8+
==== {api-request-title}
9+
10+
`GET /_nodes` +
11+
12+
`GET /_nodes/{node_id}` +
13+
14+
`GET /_nodes/{metric}` +
15+
16+
`GET /_nodes/{node_id}/{metric}`
17+
18+
19+
[[cluster-nodes-info-api-desc]]
20+
==== {api-description-title}
21+
22+
The cluster nodes info API allows to retrieve one or more (or all) of
23+
the cluster nodes information. All the nodes selective options are explained
1724
<<cluster-nodes,here>>.
1825

19-
By default, it just returns all attributes and core settings for a node:
26+
By default, it returns all attributes and core settings for a node.
2027

21-
[float]
22-
[[core-info]]
2328

24-
`build_hash`::
25-
Short hash of the last git commit in this release.
29+
[[cluster-nodes-info-api-path-params]]
30+
==== {api-path-parms-title}
2631

27-
`host`::
28-
The node's host name.
32+
`{metric}`::
33+
(Optional, string) Limits the information returned to the specific metrics.
34+
A comma-separated list of the following options:
35+
+
36+
--
2937

30-
`ip`::
31-
The node's IP address.
3238

33-
`name`::
34-
The node's name.
39+
`http`::
40+
HTTP connection information.
3541

36-
`total_indexing_buffer`::
37-
Total heap allowed to be used to hold recently indexed
38-
documents before they must be written to disk. This size is
39-
a shared pool across all shards on this node, and is
40-
controlled by <<indexing-buffer,Indexing Buffer settings>>.
42+
`ingest`::
43+
Statistics about ingest preprocessing.
4144

42-
`total_indexing_buffer_in_bytes`::
43-
Same as `total_indexing_buffer`, but expressed in bytes.
45+
`jvm`::
46+
JVM stats, memory pool information, garbage collection, buffer pools, number
47+
of loaded/unloaded classes.
4448

45-
`transport_address`::
46-
Host and port where transport HTTP connections are accepted.
49+
`os`::
50+
Operating system stats, load average, mem, swap.
51+
52+
`plugins`::
53+
Details about the installed plugins and modules per node. The following
54+
information are available for each plugin and module:
55+
+
56+
---
57+
* `name`: plugin name
58+
* `version`: version of Elasticsearch the plugin was built for
59+
* `description`: short description of the plugin's purpose
60+
* `classname`: fully-qualified class name of the plugin's entry point
61+
* `has_native_controller`: whether or not the plugin has a native controller
62+
process
63+
---
64+
65+
`process`::
66+
Process statistics, memory consumption, cpu usage, open file descriptors.
4767

48-
`version`::
49-
Elasticsearch version running on this node.
68+
`settings`::
69+
5070

51-
It also allows to get only information on `settings`, `os`, `process`, `jvm`,
52-
`thread_pool`, `transport`, `http`, `plugins`, `ingest` and `indices`:
71+
`thread_pool`::
72+
Statistics about each thread pool, including current size, queue and
73+
rejected tasks
74+
75+
`transport`::
76+
Transport statistics about sent and received bytes in cluster communication.
77+
--
5378

54-
[source,js]
55-
--------------------------------------------------
56-
# return just process
57-
GET /_nodes/process
5879

59-
# same as above
60-
GET /_nodes/_all/process
80+
include::{docdir}/rest-api/common-parms.asciidoc[tag=node-id]
6181

62-
# return just jvm and process of only nodeId1 and nodeId2
63-
GET /_nodes/nodeId1,nodeId2/jvm,process
6482

65-
# same as above
66-
GET /_nodes/nodeId1,nodeId2/info/jvm,process
83+
[[cluster-nodes-info-api-response-body]]
84+
==== {api-response-body-title}
6785

68-
# return all the information of only nodeId1 and nodeId2
69-
GET /_nodes/nodeId1,nodeId2/_all
70-
--------------------------------------------------
71-
// CONSOLE
86+
`build_hash`::
87+
Short hash of the last git commit in this release.
88+
89+
`host`::
90+
The node's host name.
91+
92+
`ip`::
93+
The node's IP address.
7294

73-
The `_all` flag can be set to return all the information - or you can simply omit it.
95+
`name`::
96+
The node's name.
97+
98+
`total_indexing_buffer`::
99+
Total heap allowed to be used to hold recently indexed
100+
documents before they must be written to disk. This size is
101+
a shared pool across all shards on this node, and is
102+
controlled by <<indexing-buffer,Indexing Buffer settings>>.
103+
104+
`total_indexing_buffer_in_bytes`::
105+
Same as `total_indexing_buffer`, but expressed in bytes.
74106

75-
[float]
76-
[[os-info]]
77-
==== Operating System information
107+
`transport_address`::
108+
Host and port where transport HTTP connections are accepted.
109+
110+
`version`::
111+
{es} version running on this node.
78112

79-
The `os` flag can be set to retrieve information that concern
80-
the operating system:
113+
system:
81114

82115
`os.refresh_interval_in_millis`::
83-
Refresh interval for the OS statistics
116+
Refresh interval for the OS statistics
84117

85118
`os.name`::
86-
Name of the operating system (ex: Linux, Windows, Mac OS X)
119+
Name of the operating system (ex: Linux, Windows, Mac OS X)
87120

88121
`os.arch`::
89-
Name of the JVM architecture (ex: amd64, x86)
122+
Name of the JVM architecture (ex: amd64, x86)
90123

91124
`os.version`::
92-
Version of the operating system
125+
Version of the operating system
93126

94127
`os.available_processors`::
95-
Number of processors available to the Java virtual machine
128+
Number of processors available to the Java virtual machine
96129

97130
`os.allocated_processors`::
98-
The number of processors actually used to calculate thread pool size. This number can be set
99-
with the `processors` setting of a node and defaults to the number of processors reported by the OS.
100-
In both cases this number will never be larger than 32.
131+
The number of processors actually used to calculate thread pool size. This
132+
number can be set with the `processors` setting of a node and defaults to
133+
the number of processors reported by the OS. In both cases this number will
134+
never be larger than 32.
101135

102-
[float]
103-
[[process-info]]
104-
==== Process information
105-
106-
The `process` flag can be set to retrieve information that concern
107-
the current running process:
136+
The `process` flag can be set to retrieve information that concern the current
137+
running process:
108138

109139
`process.refresh_interval_in_millis`::
110-
Refresh interval for the process statistics
140+
Refresh interval for the process statistics
111141

112142
`process.id`::
113-
Process identifier (PID)
143+
Process identifier (PID)
114144

115145
`process.mlockall`::
116-
Indicates if the process address space has been successfully locked in memory
146+
Indicates if the process address space has been successfully locked in memory
147+
148+
149+
[[cluster-nodes-info-api-query-params]]
150+
==== {api-query-parms-title}
151+
152+
include::{docdir}/rest-api/common-parms.asciidoc[tag=flat-settings]
153+
154+
include::{docdir}/rest-api/common-parms.asciidoc[tag=timeoutparms]
155+
156+
157+
[[cluster-nodes-info-api-example]]
158+
==== {api-examples-title}
159+
160+
[source,js]
161+
--------------------------------------------------
162+
# return just process
163+
GET /_nodes/process
117164
118-
[float]
119-
[[plugins-info]]
120-
==== Plugins information
165+
# same as above
166+
GET /_nodes/_all/process
167+
168+
# return just jvm and process of only nodeId1 and nodeId2
169+
GET /_nodes/nodeId1,nodeId2/jvm,process
170+
171+
# same as above
172+
GET /_nodes/nodeId1,nodeId2/info/jvm,process
173+
174+
# return all the information of only nodeId1 and nodeId2
175+
GET /_nodes/nodeId1,nodeId2/_all
176+
--------------------------------------------------
177+
// CONSOLE
121178

122-
`plugins` - if set, the result will contain details about the installed plugins and modules per node:
179+
The `_all` flag can be set to return all the information - or you can omit it.
180+
181+
If `plugins` is specified, the result will contain details about the installed
182+
plugins and modules:
123183

124184
[source,js]
125185
--------------------------------------------------
@@ -128,7 +188,7 @@ GET /_nodes/plugins
128188
// CONSOLE
129189
// TEST[setup:node]
130190

131-
The result will look similar to:
191+
The API returns the following response:
132192

133193
[source,js]
134194
--------------------------------------------------
@@ -186,20 +246,7 @@ The result will look similar to:
186246
// TESTRESPONSE[s/"plugins": \[[^\]]*\]/"plugins": $body.$_path/]
187247
// TESTRESPONSE[s/"modules": \[[^\]]*\]/"modules": $body.$_path/]
188248

189-
The following information are available for each plugin and module:
190-
191-
* `name`: plugin name
192-
* `version`: version of Elasticsearch the plugin was built for
193-
* `description`: short description of the plugin's purpose
194-
* `classname`: fully-qualified class name of the plugin's entry point
195-
* `has_native_controller`: whether or not the plugin has a native controller process
196-
197-
198-
[float]
199-
[[ingest-info]]
200-
==== Ingest information
201-
202-
`ingest` - if set, the result will contain details about the available
249+
If `ingest` is specified, the response contains details about the available
203250
processors per node:
204251

205252
[source,js]
@@ -209,7 +256,7 @@ GET /_nodes/ingest
209256
// CONSOLE
210257
// TEST[setup:node]
211258

212-
The result will look similar to:
259+
The API returns the following response:
213260

214261
[source,js]
215262
--------------------------------------------------
@@ -289,7 +336,3 @@ The result will look similar to:
289336
// TESTRESPONSE[s/"roles": \[[^\]]*\]/"roles": $body.$_path/]
290337
// TESTRESPONSE[s/"attributes": \{[^\}]*\}/"attributes": $body.$_path/]
291338
// TESTRESPONSE[s/"processors": \[[^\]]*\]/"processors": $body.$_path/]
292-
293-
The following information are available for each ingest processor:
294-
295-
* `type`: the processor type

docs/reference/ingest/ingest-node.asciidoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -828,8 +828,8 @@ See <<ingest-conditionals>> to learn more about the `if` field and conditional e
828828

829829
See <<handling-failure-in-pipelines>> to learn more about the `on_failure` field and error handling in pipelines.
830830

831-
The <<ingest-info,node info API>> can be used to figure out what processors are available in a cluster.
832-
The <<ingest-info,node info API>> will provide a per node list of what processors are available.
831+
The <<cluster-nodes-info,node info API>> can be used to figure out what processors are available in a cluster.
832+
The <<cluster-nodes-info,node info API>> will provide a per node list of what processors are available.
833833

834834
Custom processors must be installed on all nodes. The put pipeline API will fail if a processor specified in a pipeline
835835
doesn't exist on all nodes. If you rely on custom processor plugins make sure to mark these plugins as mandatory by adding

0 commit comments

Comments
 (0)