nodes-info.asciidoc 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295
  1. [[cluster-nodes-info]]
  2. === Nodes Info
  3. The cluster nodes info API allows to retrieve one or more (or all) of
  4. the cluster nodes information.
  5. [source,js]
  6. --------------------------------------------------
  7. GET /_nodes
  8. GET /_nodes/nodeId1,nodeId2
  9. --------------------------------------------------
  10. // CONSOLE
  11. The first command retrieves information of all the nodes in the cluster.
  12. The second command selectively retrieves nodes information of only
  13. `nodeId1` and `nodeId2`. All the nodes selective options are explained
  14. <<cluster-nodes,here>>.
  15. By default, it just returns all attributes and core settings for a node:
  16. [float]
  17. [[core-info]]
  18. `build_hash`::
  19. Short hash of the last git commit in this release.
  20. `host`::
  21. The node's host name.
  22. `ip`::
  23. The node's IP address.
  24. `name`::
  25. The node's name.
  26. `total_indexing_buffer`::
  27. Total heap allowed to be used to hold recently indexed
  28. documents before they must be written to disk. This size is
  29. a shared pool across all shards on this node, and is
  30. controlled by <<indexing-buffer,Indexing Buffer settings>>.
  31. `total_indexing_buffer_in_bytes`::
  32. Same as `total_indexing_buffer`, but expressed in bytes.
  33. `transport_address`::
  34. Host and port where transport HTTP connections are accepted.
  35. `version`::
  36. Elasticsearch version running on this node.
  37. It also allows to get only information on `settings`, `os`, `process`, `jvm`,
  38. `thread_pool`, `transport`, `http`, `plugins`, `ingest` and `indices`:
  39. [source,js]
  40. --------------------------------------------------
  41. # return just process
  42. GET /_nodes/process
  43. # same as above
  44. GET /_nodes/_all/process
  45. # return just jvm and process of only nodeId1 and nodeId2
  46. GET /_nodes/nodeId1,nodeId2/jvm,process
  47. # same as above
  48. GET /_nodes/nodeId1,nodeId2/info/jvm,process
  49. # return all the information of only nodeId1 and nodeId2
  50. GET /_nodes/nodeId1,nodeId2/_all
  51. --------------------------------------------------
  52. // CONSOLE
  53. The `_all` flag can be set to return all the information - or you can simply omit it.
  54. [float]
  55. [[os-info]]
  56. ==== Operating System information
  57. The `os` flag can be set to retrieve information that concern
  58. the operating system:
  59. `os.refresh_interval_in_millis`::
  60. Refresh interval for the OS statistics
  61. `os.name`::
  62. Name of the operating system (ex: Linux, Windows, Mac OS X)
  63. `os.arch`::
  64. Name of the JVM architecture (ex: amd64, x86)
  65. `os.version`::
  66. Version of the operating system
  67. `os.available_processors`::
  68. Number of processors available to the Java virtual machine
  69. `os.allocated_processors`::
  70. The number of processors actually used to calculate thread pool size. This number can be set
  71. with the `processors` setting of a node and defaults to the number of processors reported by the OS.
  72. In both cases this number will never be larger than 32.
  73. [float]
  74. [[process-info]]
  75. ==== Process information
  76. The `process` flag can be set to retrieve information that concern
  77. the current running process:
  78. `process.refresh_interval_in_millis`::
  79. Refresh interval for the process statistics
  80. `process.id`::
  81. Process identifier (PID)
  82. `process.mlockall`::
  83. Indicates if the process address space has been successfully locked in memory
  84. [float]
  85. [[plugins-info]]
  86. ==== Plugins information
  87. `plugins` - if set, the result will contain details about the installed plugins and modules per node:
  88. [source,js]
  89. --------------------------------------------------
  90. GET /_nodes/plugins
  91. --------------------------------------------------
  92. // CONSOLE
  93. // TEST[setup:node]
  94. The result will look similar to:
  95. [source,js]
  96. --------------------------------------------------
  97. {
  98. "_nodes": ...
  99. "cluster_name": "elasticsearch",
  100. "nodes": {
  101. "USpTGYaBSIKbgSUJR2Z9lg": {
  102. "name": "node-0",
  103. "transport_address": "192.168.17:9300",
  104. "host": "node-0.elastic.co",
  105. "ip": "192.168.17",
  106. "version": "{version}",
  107. "build_flavor": "{build_flavor}",
  108. "build_type": "{build_type}",
  109. "build_hash": "587409e",
  110. "roles": [
  111. "master",
  112. "data",
  113. "ingest"
  114. ],
  115. "attributes": {},
  116. "plugins": [
  117. {
  118. "name": "analysis-icu",
  119. "version": "{version}",
  120. "description": "The ICU Analysis plugin integrates Lucene ICU module into elasticsearch, adding ICU relates analysis components.",
  121. "classname": "org.elasticsearch.plugin.analysis.icu.AnalysisICUPlugin",
  122. "has_native_controller": false
  123. }
  124. ],
  125. "modules": [
  126. {
  127. "name": "lang-painless",
  128. "version": "{version}",
  129. "description": "An easy, safe and fast scripting language for Elasticsearch",
  130. "classname": "org.elasticsearch.painless.PainlessPlugin",
  131. "has_native_controller": false
  132. }
  133. ]
  134. }
  135. }
  136. }
  137. --------------------------------------------------
  138. // TESTRESPONSE[s/"_nodes": \.\.\./"_nodes": $body.$_path,/]
  139. // TESTRESPONSE[s/"elasticsearch"/$body.cluster_name/]
  140. // TESTRESPONSE[s/"USpTGYaBSIKbgSUJR2Z9lg"/\$node_name/]
  141. // TESTRESPONSE[s/"name": "node-0"/"name": $body.$_path/]
  142. // TESTRESPONSE[s/"transport_address": "192.168.17:9300"/"transport_address": $body.$_path/]
  143. // TESTRESPONSE[s/"host": "node-0.elastic.co"/"host": $body.$_path/]
  144. // TESTRESPONSE[s/"ip": "192.168.17"/"ip": $body.$_path/]
  145. // TESTRESPONSE[s/"build_hash": "587409e"/"build_hash": $body.$_path/]
  146. // TESTRESPONSE[s/"roles": \[[^\]]*\]/"roles": $body.$_path/]
  147. // TESTRESPONSE[s/"attributes": \{[^\}]*\}/"attributes": $body.$_path/]
  148. // TESTRESPONSE[s/"plugins": \[[^\]]*\]/"plugins": $body.$_path/]
  149. // TESTRESPONSE[s/"modules": \[[^\]]*\]/"modules": $body.$_path/]
  150. The following information are available for each plugin and module:
  151. * `name`: plugin name
  152. * `version`: version of Elasticsearch the plugin was built for
  153. * `description`: short description of the plugin's purpose
  154. * `classname`: fully-qualified class name of the plugin's entry point
  155. * `has_native_controller`: whether or not the plugin has a native controller process
  156. [float]
  157. [[ingest-info]]
  158. ==== Ingest information
  159. `ingest` - if set, the result will contain details about the available
  160. processors per node:
  161. [source,js]
  162. --------------------------------------------------
  163. GET /_nodes/ingest
  164. --------------------------------------------------
  165. // CONSOLE
  166. // TEST[setup:node]
  167. The result will look similar to:
  168. [source,js]
  169. --------------------------------------------------
  170. {
  171. "_nodes": ...
  172. "cluster_name": "elasticsearch",
  173. "nodes": {
  174. "USpTGYaBSIKbgSUJR2Z9lg": {
  175. "name": "node-0",
  176. "transport_address": "192.168.17:9300",
  177. "host": "node-0.elastic.co",
  178. "ip": "192.168.17",
  179. "version": "{version}",
  180. "build_flavor": "{build_flavor}",
  181. "build_type": "{build_type}",
  182. "build_hash": "587409e",
  183. "roles": [],
  184. "attributes": {},
  185. "ingest": {
  186. "processors": [
  187. {
  188. "type": "date"
  189. },
  190. {
  191. "type": "uppercase"
  192. },
  193. {
  194. "type": "set"
  195. },
  196. {
  197. "type": "lowercase"
  198. },
  199. {
  200. "type": "gsub"
  201. },
  202. {
  203. "type": "convert"
  204. },
  205. {
  206. "type": "remove"
  207. },
  208. {
  209. "type": "fail"
  210. },
  211. {
  212. "type": "foreach"
  213. },
  214. {
  215. "type": "split"
  216. },
  217. {
  218. "type": "trim"
  219. },
  220. {
  221. "type": "rename"
  222. },
  223. {
  224. "type": "join"
  225. },
  226. {
  227. "type": "append"
  228. }
  229. ]
  230. }
  231. }
  232. }
  233. }
  234. --------------------------------------------------
  235. // TESTRESPONSE[s/"_nodes": \.\.\./"_nodes": $body.$_path,/]
  236. // TESTRESPONSE[s/"elasticsearch"/$body.cluster_name/]
  237. // TESTRESPONSE[s/"USpTGYaBSIKbgSUJR2Z9lg"/\$node_name/]
  238. // TESTRESPONSE[s/"name": "node-0"/"name": $body.$_path/]
  239. // TESTRESPONSE[s/"transport_address": "192.168.17:9300"/"transport_address": $body.$_path/]
  240. // TESTRESPONSE[s/"host": "node-0.elastic.co"/"host": $body.$_path/]
  241. // TESTRESPONSE[s/"ip": "192.168.17"/"ip": $body.$_path/]
  242. // TESTRESPONSE[s/"build_hash": "587409e"/"build_hash": $body.$_path/]
  243. // TESTRESPONSE[s/"roles": \[[^\]]*\]/"roles": $body.$_path/]
  244. // TESTRESPONSE[s/"attributes": \{[^\}]*\}/"attributes": $body.$_path/]
  245. // TESTRESPONSE[s/"processors": \[[^\]]*\]/"processors": $body.$_path/]
  246. The following information are available for each ingest processor:
  247. * `type`: the processor type