2013-11-14 20:14:39 -05:00
|
|
|
[[cat-nodes]]
|
2019-07-19 14:35:36 -04:00
|
|
|
=== cat nodes
|
2013-11-14 20:14:39 -05:00
|
|
|
|
2016-10-13 16:42:21 -04:00
|
|
|
The `nodes` command shows the cluster topology. For example
|
2013-11-14 20:14:39 -05:00
|
|
|
|
2016-10-13 16:42:21 -04:00
|
|
|
[source,js]
|
2013-11-14 20:14:39 -05:00
|
|
|
--------------------------------------------------
|
2016-10-13 16:42:21 -04:00
|
|
|
GET /_cat/nodes?v
|
2013-11-14 20:14:39 -05:00
|
|
|
--------------------------------------------------
|
2016-10-13 16:42:21 -04:00
|
|
|
// CONSOLE
|
2013-11-14 20:14:39 -05:00
|
|
|
|
2016-10-13 16:42:21 -04:00
|
|
|
Might look like:
|
2013-11-14 20:14:39 -05:00
|
|
|
|
2016-10-25 10:56:30 -04:00
|
|
|
[source,txt]
|
2013-11-14 20:14:39 -05:00
|
|
|
--------------------------------------------------
|
2016-10-13 16:42:21 -04:00
|
|
|
ip heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
|
2019-06-13 14:43:14 -04:00
|
|
|
127.0.0.1 65 99 42 3.07 dim * mJw06l1
|
2013-11-14 20:14:39 -05:00
|
|
|
--------------------------------------------------
|
2016-10-13 16:42:21 -04:00
|
|
|
// TESTRESPONSE[s/3.07/(\\d+\\.\\d+( \\d+\\.\\d+ (\\d+\\.\\d+)?)?)?/]
|
|
|
|
// TESTRESPONSE[s/65 99 42/\\d+ \\d+ \\d+/]
|
2019-08-06 12:58:46 -04:00
|
|
|
// TESTRESPONSE[s/dim/.+/ s/[*]/[*]/ s/mJw06l1/.+/ non_json]
|
2013-11-14 20:14:39 -05:00
|
|
|
|
2017-02-16 14:41:42 -05:00
|
|
|
The first few columns (`ip`, `heap.percent`, `ram.percent`, `cpu`, `load_*`) tell
|
2016-10-13 16:42:21 -04:00
|
|
|
you where your nodes live and give a quick picture of performance stats.
|
2013-11-14 20:14:39 -05:00
|
|
|
|
2016-10-13 16:42:21 -04:00
|
|
|
The last (`node.role`, `master`, and `name`) columns provide ancillary
|
|
|
|
information that can often be useful when looking at the cluster as a whole,
|
|
|
|
particularly large ones. How many master-eligible nodes do I have?
|
2014-03-27 01:19:54 -04:00
|
|
|
|
2017-10-13 13:49:25 -04:00
|
|
|
The `nodes` API accepts an additional URL parameter `full_id` accepting `true`
|
|
|
|
or `false`. The purpose of this parameter is to format the ID field (if
|
|
|
|
requested with `id` or `nodeId`) in its full length or in abbreviated form (the
|
|
|
|
default).
|
|
|
|
|
2014-03-27 01:19:54 -04:00
|
|
|
[float]
|
2019-07-19 14:35:36 -04:00
|
|
|
==== Columns
|
2014-03-27 01:19:54 -04:00
|
|
|
|
|
|
|
Below is an exhaustive list of the existing headers that can be
|
|
|
|
passed to `nodes?h=` to retrieve the relevant details in ordered
|
|
|
|
columns. If no headers are specified, then those marked to Appear
|
|
|
|
by Default will appear. If any header is specified, then the defaults
|
|
|
|
are not used.
|
|
|
|
|
|
|
|
Aliases can be used in place of the full header name for brevity.
|
|
|
|
Columns appear in the order that they are listed below unless a
|
|
|
|
different order is specified (e.g., `h=pid,id` versus `h=id,pid`).
|
|
|
|
|
|
|
|
When specifying headers, the headers are not placed in the output
|
|
|
|
by default. To have the headers appear in the output, use verbose
|
|
|
|
mode (`v`). The header name will match the supplied value (e.g.,
|
|
|
|
`pid` versus `p`). For example:
|
|
|
|
|
2016-10-13 16:42:21 -04:00
|
|
|
[source,js]
|
|
|
|
--------------------------------------------------
|
|
|
|
GET /_cat/nodes?v&h=id,ip,port,v,m
|
|
|
|
--------------------------------------------------
|
|
|
|
// CONSOLE
|
|
|
|
|
|
|
|
Might look like:
|
|
|
|
|
Enforce that responses in docs are valid json (#26249)
All of the snippets in our docs marked with `// TESTRESPONSE` are
checked against the response from Elasticsearch but, due to the
way they are implemented they are actually parsed as YAML instead
of JSON. Luckilly, all valid JSON is valid YAML! Unfurtunately
that means that invalid JSON has snuck into the exmples!
This adds a step during the build to parse them as JSON and fail
the build if they don't parse.
But no! It isn't quite that simple. The displayed text of some of
these responses looks like:
```
{
...
"aggregations": {
"range": {
"buckets": [
{
"to": 1.4436576E12,
"to_as_string": "10-2015",
"doc_count": 7,
"key": "*-10-2015"
},
{
"from": 1.4436576E12,
"from_as_string": "10-2015",
"doc_count": 0,
"key": "10-2015-*"
}
]
}
}
}
```
Note the `...` which isn't valid json but we like it anyway and want
it in the output. We use substitution rules to convert the `...`
into the response we expect. That yields a response that looks like:
```
{
"took": $body.took,"timed_out": false,"_shards": $body._shards,"hits": $body.hits,
"aggregations": {
"range": {
"buckets": [
{
"to": 1.4436576E12,
"to_as_string": "10-2015",
"doc_count": 7,
"key": "*-10-2015"
},
{
"from": 1.4436576E12,
"from_as_string": "10-2015",
"doc_count": 0,
"key": "10-2015-*"
}
]
}
}
}
```
That is what the tests consume but it isn't valid JSON! Oh no! We don't
want to go update all the substitution rules because that'd be huge and,
ultimately, wouldn't buy much. So we quote the `$body.took` bits before
parsing the JSON.
Note the responses that we use for the `_cat` APIs are all converted into
regexes and there is no expectation that they are valid JSON.
Closes #26233
2017-08-17 09:02:10 -04:00
|
|
|
["source","txt",subs="attributes,callouts"]
|
2014-03-27 01:19:54 -04:00
|
|
|
--------------------------------------------------
|
2016-10-13 16:42:21 -04:00
|
|
|
id ip port v m
|
|
|
|
veJR 127.0.0.1 59938 {version} *
|
2014-03-27 01:19:54 -04:00
|
|
|
--------------------------------------------------
|
2019-06-10 09:33:32 -04:00
|
|
|
// TESTRESPONSE[s/veJR/.+/ s/59938/\\d+/ s/[*]/[*]/ non_json]
|
2014-03-27 01:19:54 -04:00
|
|
|
|
2014-07-23 05:54:53 -04:00
|
|
|
[cols="<,<,<,<,<",options="header",subs="normal"]
|
2014-03-27 01:19:54 -04:00
|
|
|
|=======================================================================
|
|
|
|
|Header |Alias |Appear by Default |Description |Example
|
|
|
|
|`id` |`nodeId` |No |Unique node ID |k0zy
|
|
|
|
|`pid` |`p` |No |Process ID |13061
|
|
|
|
|`ip` |`i` |Yes |IP address |127.0.1.1
|
|
|
|
|`port` |`po` |No |Bound transport port |9300
|
2017-02-16 14:41:42 -05:00
|
|
|
|`http_address` |`http`| No |Bound http address | 127.0.0.1:9200
|
2014-07-23 05:54:53 -04:00
|
|
|
|`version` |`v` |No |Elasticsearch version |{version}
|
2014-03-27 01:19:54 -04:00
|
|
|
|`build` |`b` |No |Elasticsearch Build hash |5c03844
|
|
|
|
|`jdk` |`j` |No |Running Java version |1.8.0
|
2017-06-28 12:20:20 -04:00
|
|
|
|`disk.total` |`dt`, `diskTotal` |No |Total disk space| 458.3gb
|
|
|
|
|`disk.used` |`du`, `diskUsed` |No |Used disk space| 259.8gb
|
|
|
|
|`disk.avail` |`d`, `disk`, `diskAvail` |No |Available disk space |198.4gb
|
|
|
|
|`disk.used_percent` |`dup`, `diskUsedPercent` |No |Used disk space percentage |56.71
|
2014-09-09 00:04:59 -04:00
|
|
|
|`heap.current` |`hc`, `heapCurrent` |No |Used heap |311.2mb
|
|
|
|
|`heap.percent` |`hp`, `heapPercent` |Yes |Used heap percentage |7
|
2014-03-27 01:19:54 -04:00
|
|
|
|`heap.max` |`hm`, `heapMax` |No |Maximum configured heap |1015.6mb
|
2014-09-09 00:04:59 -04:00
|
|
|
|`ram.current` |`rc`, `ramCurrent` |No |Used total memory |513.4mb
|
|
|
|
|`ram.percent` |`rp`, `ramPercent` |Yes |Used total memory percentage |47
|
2014-03-27 01:19:54 -04:00
|
|
|
|`ram.max` |`rm`, `ramMax` |No |Total memory |2.9gb
|
2014-09-09 00:04:59 -04:00
|
|
|
|`file_desc.current` |`fdc`, `fileDescriptorCurrent` |No |Used file
|
|
|
|
descriptors |123
|
|
|
|
|`file_desc.percent` |`fdp`, `fileDescriptorPercent` |Yes |Used file
|
|
|
|
descriptors percentage |1
|
|
|
|
|`file_desc.max` |`fdm`, `fileDescriptorMax` |No |Maximum number of file
|
|
|
|
descriptors |1024
|
2016-02-22 16:30:37 -05:00
|
|
|
|`cpu` | |No |Recent system CPU usage as percent |12
|
2016-09-16 05:50:10 -04:00
|
|
|
|`load_1m` |`l` |No |Most recent load average |0.22
|
|
|
|
|`load_5m` |`l` |No |Load average for the last five minutes |0.78
|
|
|
|
|`load_15m` |`l` |No |Load average for the last fifteen minutes |1.24
|
2014-03-27 01:19:54 -04:00
|
|
|
|`uptime` |`u` |No |Node uptime |17.3m
|
2016-03-31 10:35:57 -04:00
|
|
|
|`node.role` |`r`, `role`, `nodeRole` |Yes |Master eligible node (m);
|
2016-03-04 05:21:46 -05:00
|
|
|
Data node (d); Ingest node (i); Coordinating node only (-) |mdi
|
2016-03-31 10:35:57 -04:00
|
|
|
|`master` |`m` |Yes |Elected master (*); Not elected master (-) |*
|
2016-09-16 05:50:10 -04:00
|
|
|
|`name` |`n` |Yes |Node name |I8hydUG
|
2014-03-27 01:19:54 -04:00
|
|
|
|`completion.size` |`cs`, `completionSize` |No |Size of completion |0b
|
|
|
|
|`fielddata.memory_size` |`fm`, `fielddataMemory` |No |Used fielddata
|
|
|
|
cache memory |0b
|
|
|
|
|`fielddata.evictions` |`fe`, `fielddataEvictions` |No |Fielddata cache
|
|
|
|
evictions |0
|
2016-03-16 12:18:43 -04:00
|
|
|
|`query_cache.memory_size` |`qcm`, `queryCacheMemory` |No |Used query
|
2014-03-27 01:19:54 -04:00
|
|
|
cache memory |0b
|
2016-03-16 12:18:43 -04:00
|
|
|
|`query_cache.evictions` |`qce`, `queryCacheEvictions` |No |Query
|
2014-03-27 01:19:54 -04:00
|
|
|
cache evictions |0
|
2016-03-16 12:18:43 -04:00
|
|
|
|`request_cache.memory_size` |`rcm`, `requestCacheMemory` |No | Used request
|
|
|
|
cache memory |0b
|
|
|
|
|`request_cache.evictions` |`rce`, `requestCacheEvictions` |No |Request
|
|
|
|
cache evictions |0
|
|
|
|
|`request_cache.hit_count` |`rchc`, `requestCacheHitCount` |No | Request
|
|
|
|
cache hit count |0
|
|
|
|
|`request_cache.miss_count` |`rcmc`, `requestCacheMissCount` |No | Request
|
|
|
|
cache miss count |0
|
2014-03-27 01:19:54 -04:00
|
|
|
|`flush.total` |`ft`, `flushTotal` |No |Number of flushes |1
|
|
|
|
|`flush.total_time` |`ftt`, `flushTotalTime` |No |Time spent in flush |1
|
|
|
|
|`get.current` |`gc`, `getCurrent` |No |Number of current get
|
|
|
|
operations |0
|
|
|
|
|`get.time` |`gti`, `getTime` |No |Time spent in get |14ms
|
|
|
|
|`get.total` |`gto`, `getTotal` |No |Number of get operations |2
|
|
|
|
|`get.exists_time` |`geti`, `getExistsTime` |No |Time spent in
|
|
|
|
successful gets |14ms
|
|
|
|
|`get.exists_total` |`geto`, `getExistsTotal` |No |Number of successful
|
|
|
|
get operations |2
|
|
|
|
|`get.missing_time` |`gmti`, `getMissingTime` |No |Time spent in failed
|
|
|
|
gets |0s
|
|
|
|
|`get.missing_total` |`gmto`, `getMissingTotal` |No |Number of failed
|
|
|
|
get operations |1
|
|
|
|
|`indexing.delete_current` |`idc`, `indexingDeleteCurrent` |No |Number
|
|
|
|
of current deletion operations |0
|
|
|
|
|`indexing.delete_time` |`idti`, `indexingDeleteTime` |No |Time spent in
|
|
|
|
deletions |2ms
|
|
|
|
|`indexing.delete_total` |`idto`, `indexingDeleteTotal` |No |Number of
|
|
|
|
deletion operations |2
|
|
|
|
|`indexing.index_current` |`iic`, `indexingIndexCurrent` |No |Number
|
|
|
|
of current indexing operations |0
|
|
|
|
|`indexing.index_time` |`iiti`, `indexingIndexTime` |No |Time spent in
|
|
|
|
indexing |134ms
|
|
|
|
|`indexing.index_total` |`iito`, `indexingIndexTotal` |No |Number of
|
|
|
|
indexing operations |1
|
2016-09-16 05:50:10 -04:00
|
|
|
|`indexing.index_failed` |`iif`, `indexingIndexFailed` |No |Number of
|
|
|
|
failed indexing operations |0
|
2014-03-27 01:19:54 -04:00
|
|
|
|`merges.current` |`mc`, `mergesCurrent` |No |Number of current
|
|
|
|
merge operations |0
|
|
|
|
|`merges.current_docs` |`mcd`, `mergesCurrentDocs` |No |Number of
|
|
|
|
current merging documents |0
|
|
|
|
|`merges.current_size` |`mcs`, `mergesCurrentSize` |No |Size of current
|
|
|
|
merges |0b
|
|
|
|
|`merges.total` |`mt`, `mergesTotal` |No |Number of completed merge
|
|
|
|
operations |0
|
|
|
|
|`merges.total_docs` |`mtd`, `mergesTotalDocs` |No |Number of merged
|
|
|
|
documents |0
|
|
|
|
|`merges.total_size` |`mts`, `mergesTotalSize` |No |Size of current
|
|
|
|
merges |0b
|
|
|
|
|`merges.total_time` |`mtt`, `mergesTotalTime` |No |Time spent merging
|
|
|
|
documents |0s
|
|
|
|
|`refresh.total` |`rto`, `refreshTotal` |No |Number of refreshes |16
|
|
|
|
|`refresh.time` |`rti`, `refreshTime` |No |Time spent in refreshes |91ms
|
2015-08-07 14:48:49 -04:00
|
|
|
|`script.compilations` |`scrcc`, `scriptCompilations` |No |Total script compilations |17
|
|
|
|
|`script.cache_evictions` |`scrce`, `scriptCacheEvictions` |No |Total compiled scripts evicted from cache |6
|
2014-03-27 01:19:54 -04:00
|
|
|
|`search.fetch_current` |`sfc`, `searchFetchCurrent` |No |Current fetch
|
|
|
|
phase operations |0
|
|
|
|
|`search.fetch_time` |`sfti`, `searchFetchTime` |No |Time spent in fetch
|
|
|
|
phase |37ms
|
|
|
|
|`search.fetch_total` |`sfto`, `searchFetchTotal` |No |Number of fetch
|
|
|
|
operations |7
|
|
|
|
|`search.open_contexts` |`so`, `searchOpenContexts` |No |Open search
|
|
|
|
contexts |0
|
2017-01-20 12:44:21 -05:00
|
|
|
|`search.query_current` |`sqc`, `searchQueryCurrent` |No |Current query
|
2014-03-27 01:19:54 -04:00
|
|
|
phase operations |0
|
2017-01-20 12:44:21 -05:00
|
|
|
|`search.query_time` |`sqti`, `searchQueryTime` |No |Time spent in query
|
2014-03-27 01:19:54 -04:00
|
|
|
phase |43ms
|
2017-01-20 12:44:21 -05:00
|
|
|
|`search.query_total` |`sqto`, `searchQueryTotal` |No |Number of query
|
2014-03-27 01:19:54 -04:00
|
|
|
operations |9
|
2015-07-19 13:41:46 -04:00
|
|
|
|`search.scroll_current` |`scc`, `searchScrollCurrent` |No |Open scroll contexts |2
|
|
|
|
|`search.scroll_time` |`scti`, `searchScrollTime` |No |Time scroll contexts held open|2m
|
|
|
|
|`search.scroll_total` |`scto`, `searchScrollTotal` |No |Completed scroll contexts |1
|
2014-03-27 01:19:54 -04:00
|
|
|
|`segments.count` |`sc`, `segmentsCount` |No |Number of segments |4
|
|
|
|
|`segments.memory` |`sm`, `segmentsMemory` |No |Memory used by
|
|
|
|
segments |1.4kb
|
2014-07-11 17:07:38 -04:00
|
|
|
|`segments.index_writer_memory` |`siwm`, `segmentsIndexWriterMemory` |No
|
2014-08-25 14:43:09 -04:00
|
|
|
|Memory used by index writer |18mb
|
2014-07-11 17:07:38 -04:00
|
|
|
|`segments.version_map_memory` |`svmm`, `segmentsVersionMapMemory` |No
|
|
|
|
|Memory used by version map |1.0kb
|
2016-09-16 05:50:10 -04:00
|
|
|
|`segments.fixed_bitset_memory` |`sfbm`, `fixedBitsetMemory` |No
|
2017-07-05 06:30:19 -04:00
|
|
|
|Memory used by fixed bit sets for nested object field types and type filters for types referred in `join` fields |1.0kb
|
2016-09-16 05:50:10 -04:00
|
|
|
|`suggest.current` |`suc`, `suggestCurrent` |No |Number of current suggest operations |0
|
|
|
|
|`suggest.time` |`suti`, `suggestTime` |No |Time spent in suggest |0
|
|
|
|
|`suggest.total` |`suto`, `suggestTotal` |No |Number of suggest operations |0
|
2014-03-27 01:19:54 -04:00
|
|
|
|=======================================================================
|