nodes-info.asciidoc 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305
  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_hash": "587409e",
  108. "roles": [
  109. "master",
  110. "data",
  111. "ingest"
  112. ],
  113. "attributes": {},
  114. "plugins": [
  115. {
  116. "name": "analysis-icu",
  117. "version": "{version}",
  118. "description": "The ICU Analysis plugin integrates Lucene ICU module into elasticsearch, adding ICU relates analysis components.",
  119. "classname": "org.elasticsearch.plugin.analysis.icu.AnalysisICUPlugin",
  120. "has_native_controller": false
  121. },
  122. {
  123. "name": "ingest-geoip",
  124. "version": "{version}",
  125. "description": "Ingest processor that uses looksup geo data based on ip adresses using the Maxmind geo database",
  126. "classname": "org.elasticsearch.ingest.geoip.IngestGeoIpPlugin",
  127. "has_native_controller": false
  128. },
  129. {
  130. "name": "ingest-user-agent",
  131. "version": "{version}",
  132. "description": "Ingest processor that extracts information from a user agent",
  133. "classname": "org.elasticsearch.ingest.useragent.IngestUserAgentPlugin",
  134. "has_native_controller": false
  135. }
  136. ],
  137. "modules": [
  138. {
  139. "name": "lang-painless",
  140. "version": "{version}",
  141. "description": "An easy, safe and fast scripting language for Elasticsearch",
  142. "classname": "org.elasticsearch.painless.PainlessPlugin",
  143. "has_native_controller": false
  144. }
  145. ]
  146. }
  147. }
  148. }
  149. --------------------------------------------------
  150. // TESTRESPONSE[s/"_nodes": \.\.\./"_nodes": $body.$_path,/]
  151. // TESTRESPONSE[s/"elasticsearch"/$body.cluster_name/]
  152. // TESTRESPONSE[s/"USpTGYaBSIKbgSUJR2Z9lg"/\$node_name/]
  153. // TESTRESPONSE[s/"name": "node-0"/"name": $body.$_path/]
  154. // TESTRESPONSE[s/"transport_address": "192.168.17:9300"/"transport_address": $body.$_path/]
  155. // TESTRESPONSE[s/"host": "node-0.elastic.co"/"host": $body.$_path/]
  156. // TESTRESPONSE[s/"ip": "192.168.17"/"ip": $body.$_path/]
  157. // TESTRESPONSE[s/"build_hash": "587409e"/"build_hash": $body.$_path/]
  158. // TESTRESPONSE[s/"roles": \[[^\]]*\]/"roles": $body.$_path/]
  159. // TESTRESPONSE[s/"attributes": \{[^\}]*\}/"attributes": $body.$_path/]
  160. // TESTRESPONSE[s/"plugins": \[[^\]]*\]/"plugins": $body.$_path/]
  161. // TESTRESPONSE[s/"modules": \[[^\]]*\]/"modules": $body.$_path/]
  162. The following information are available for each plugin and module:
  163. * `name`: plugin name
  164. * `version`: version of Elasticsearch the plugin was built for
  165. * `description`: short description of the plugin's purpose
  166. * `classname`: fully-qualified class name of the plugin's entry point
  167. * `has_native_controller`: whether or not the plugin has a native controller process
  168. [float]
  169. [[ingest-info]]
  170. ==== Ingest information
  171. `ingest` - if set, the result will contain details about the available
  172. processors per node:
  173. [source,js]
  174. --------------------------------------------------
  175. GET /_nodes/ingest
  176. --------------------------------------------------
  177. // CONSOLE
  178. // TEST[setup:node]
  179. The result will look similar to:
  180. [source,js]
  181. --------------------------------------------------
  182. {
  183. "_nodes": ...
  184. "cluster_name": "elasticsearch",
  185. "nodes": {
  186. "USpTGYaBSIKbgSUJR2Z9lg": {
  187. "name": "node-0",
  188. "transport_address": "192.168.17:9300",
  189. "host": "node-0.elastic.co",
  190. "ip": "192.168.17",
  191. "version": "{version}",
  192. "build_hash": "587409e",
  193. "roles": [],
  194. "attributes": {},
  195. "ingest": {
  196. "processors": [
  197. {
  198. "type": "date"
  199. },
  200. {
  201. "type": "uppercase"
  202. },
  203. {
  204. "type": "set"
  205. },
  206. {
  207. "type": "lowercase"
  208. },
  209. {
  210. "type": "gsub"
  211. },
  212. {
  213. "type": "convert"
  214. },
  215. {
  216. "type": "remove"
  217. },
  218. {
  219. "type": "fail"
  220. },
  221. {
  222. "type": "foreach"
  223. },
  224. {
  225. "type": "split"
  226. },
  227. {
  228. "type": "trim"
  229. },
  230. {
  231. "type": "rename"
  232. },
  233. {
  234. "type": "join"
  235. },
  236. {
  237. "type": "append"
  238. }
  239. ]
  240. }
  241. }
  242. }
  243. }
  244. --------------------------------------------------
  245. // TESTRESPONSE[s/"_nodes": \.\.\./"_nodes": $body.$_path,/]
  246. // TESTRESPONSE[s/"elasticsearch"/$body.cluster_name/]
  247. // TESTRESPONSE[s/"USpTGYaBSIKbgSUJR2Z9lg"/\$node_name/]
  248. // TESTRESPONSE[s/"name": "node-0"/"name": $body.$_path/]
  249. // TESTRESPONSE[s/"transport_address": "192.168.17:9300"/"transport_address": $body.$_path/]
  250. // TESTRESPONSE[s/"host": "node-0.elastic.co"/"host": $body.$_path/]
  251. // TESTRESPONSE[s/"ip": "192.168.17"/"ip": $body.$_path/]
  252. // TESTRESPONSE[s/"build_hash": "587409e"/"build_hash": $body.$_path/]
  253. // TESTRESPONSE[s/"roles": \[[^\]]*\]/"roles": $body.$_path/]
  254. // TESTRESPONSE[s/"attributes": \{[^\}]*\}/"attributes": $body.$_path/]
  255. // TESTRESPONSE[s/"processors": \[[^\]]*\]/"processors": $body.$_path/]
  256. The following information are available for each ingest processor:
  257. * `type`: the processor type