[[cat-nodes]] == cat nodes The `nodes` command shows the cluster topology. For example [source,js] -------------------------------------------------- GET /_cat/nodes?v -------------------------------------------------- // CONSOLE Might look like: [source,js] -------------------------------------------------- ip heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name 127.0.0.1 65 99 42 3.07 mdi * mJw06l1 -------------------------------------------------- // TESTRESPONSE[s/3.07/(\\d+\\.\\d+( \\d+\\.\\d+ (\\d+\\.\\d+)?)?)?/] // TESTRESPONSE[s/65 99 42/\\d+ \\d+ \\d+/] // TESTRESPONSE[s/[*]/[*]/ s/mJw06l1/.+/ _cat] The first few columns (`ip, `heap.percent`, `ram.percent`, `cpu, `load_*`) tell you where your nodes live and give a quick picture of performance stats. 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? [float] === Columns 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: [source,js] -------------------------------------------------- GET /_cat/nodes?v&h=id,ip,port,v,m -------------------------------------------------- // CONSOLE Might look like: ["source","js",subs="attributes,callouts"] -------------------------------------------------- id ip port v m veJR 127.0.0.1 59938 {version} * -------------------------------------------------- // TESTRESPONSE[s/veJR/.+/ s/59938/\\d+/ s/[*]/[*]/ _cat] [cols="<,<,<,<,<",options="header",subs="normal"] |======================================================================= |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 |`http_address` |`http`| No | bound http address | 127.0.0.1:9200 |`version` |`v` |No |Elasticsearch version |{version} |`build` |`b` |No |Elasticsearch Build hash |5c03844 |`jdk` |`j` |No |Running Java version |1.8.0 |`disk.avail` |`d`, `disk`, `diskAvail` |No |Available disk space |1.8gb |`heap.current` |`hc`, `heapCurrent` |No |Used heap |311.2mb |`heap.percent` |`hp`, `heapPercent` |Yes |Used heap percentage |7 |`heap.max` |`hm`, `heapMax` |No |Maximum configured heap |1015.6mb |`ram.current` |`rc`, `ramCurrent` |No |Used total memory |513.4mb |`ram.percent` |`rp`, `ramPercent` |Yes |Used total memory percentage |47 |`ram.max` |`rm`, `ramMax` |No |Total memory |2.9gb |`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 |`cpu` | |No |Recent system CPU usage as percent |12 |`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 |`uptime` |`u` |No |Node uptime |17.3m |`node.role` |`r`, `role`, `nodeRole` |Yes |Master eligible node (m); Data node (d); Ingest node (i); Coordinating node only (-) |mdi |`master` |`m` |Yes |Elected master (*); Not elected master (-) |* |`name` |`n` |Yes |Node name |I8hydUG |`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 |`query_cache.memory_size` |`qcm`, `queryCacheMemory` |No |Used query cache memory |0b |`query_cache.evictions` |`qce`, `queryCacheEvictions` |No |Query cache evictions |0 |`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 |`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 |`indexing.index_failed` |`iif`, `indexingIndexFailed` |No |Number of failed indexing operations |0 |`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 |`script.compilations` |`scrcc`, `scriptCompilations` |No |Total script compilations |17 |`script.cache_evictions` |`scrce`, `scriptCacheEvictions` |No |Total compiled scripts evicted from cache |6 |`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 |`search.query_current` |`sqc`, `searchFetchCurrent` |No |Current query phase operations |0 |`search.query_time` |`sqti`, `searchFetchTime` |No |Time spent in query phase |43ms |`search.query_total` |`sqto`, `searchFetchTotal` |No |Number of query operations |9 |`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 |`segments.count` |`sc`, `segmentsCount` |No |Number of segments |4 |`segments.memory` |`sm`, `segmentsMemory` |No |Memory used by segments |1.4kb |`segments.index_writer_memory` |`siwm`, `segmentsIndexWriterMemory` |No |Memory used by index writer |18mb |`segments.version_map_memory` |`svmm`, `segmentsVersionMapMemory` |No |Memory used by version map |1.0kb |`segments.fixed_bitset_memory` |`sfbm`, `fixedBitsetMemory` |No |Memory used by fixed bit sets for nested object field types and type filters for types referred in _parent fields |1.0kb |`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 |=======================================================================