| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252 | [[cluster-nodes-stats]]== Nodes Stats[float]=== Nodes statisticsThe cluster nodes stats API allows to retrieve one or more (or all) ofthe cluster nodes statistics.[source,js]--------------------------------------------------curl -XGET 'http://localhost:9200/_nodes/stats'curl -XGET 'http://localhost:9200/_nodes/nodeId1,nodeId2/stats'--------------------------------------------------The first command retrieves stats of all the nodes in the cluster. Thesecond command selectively retrieves nodes stats of only `nodeId1` and`nodeId2`. All the nodes selective options are explained<<cluster-nodes,here>>.By default, all stats are returned. You can limit this by combining anyof `indices`, `os`, `process`, `jvm`, `transport`, `http`,`fs`, `breaker` and `thread_pool`. For example:[horizontal]`indices`::	Indices stats about size, document count, indexing and	deletion times, search times, field cache size, merges and flushes`fs`::	File system information, data path, free disk space, read/write	stats (see <<fs-info,FS information>>)`http`::	HTTP connection information`jvm`::	JVM stats, memory pool information, garbage collection, buffer	pools, number of loaded/unloaded classes`os`::	Operating system stats, load average, mem, swap	(see <<os-stats,OS statistics>>)`process`::	Process statistics, memory consumption, cpu usage, open	file descriptors (see <<process-stats,Process statistics>>)`thread_pool`::	Statistics about each thread pool, including current	size, queue and rejected tasks`transport`::	Transport statistics about sent and received bytes in	cluster communication`breaker`::	Statistics about the field data circuit breaker`discovery`::	Statistics about the discovery`ingest`::    Statistics about ingest preprocessing[source,js]--------------------------------------------------# return indices and oscurl -XGET 'http://localhost:9200/_nodes/stats/os'# return just os and processcurl -XGET 'http://localhost:9200/_nodes/stats/os,process'# specific type endpointcurl -XGET 'http://localhost:9200/_nodes/stats/process'curl -XGET 'http://localhost:9200/_nodes/10.0.0.1/stats/process'--------------------------------------------------The `all` flag can be set to return all the stats.[float][[fs-info]]==== FS informationThe `fs` flag can be set to retrieveinformation that concern the file system:`fs.timestamp`::	Last time the file stores statistics have been refreshed`fs.total.total_in_bytes`::	Total size (in bytes) of all file stores`fs.total.free_in_bytes`::	Total number of unallocated bytes in all file stores`fs.total.available_in_bytes`::	Total number of bytes available to this Java virtual machine on all file stores`fs.data`::	List of all file stores`fs.data.path`::	Path to the file store`fs.data.mount`::	Mount point of the file store (ex: /dev/sda2)`fs.data.type`::	Type of the file store (ex: ext4)`fs.data.total_in_bytes`::	Total size (in bytes) of the file store`fs.data.free_in_bytes`::	Total number of unallocated bytes in the file store`fs.data.available_in_bytes`::	Total number of bytes available to this Java virtual machine on this file store`fs.data.spins` (Linux only)::	Indicates if the file store is backed by spinning storage.	`null` means we could not determine it, `true` means the device possibly spins	 and `false` means it does not (ex: solid-state disks).[float][[os-stats]]==== Operating System statisticsThe `os` flag can be set to retrieve statistics that concernthe operating system:`os.timestamp`::	Last time the operating system statistics have been refreshed`os.cpu.percent`::    Recent CPU usage for the whole system, or -1 if not supported`os.cpu.load_average.1m`::    One-minute load average on the system (field is not present if    one-minute load average is not available)`os.cpu.load_average.5m`::    Five-minute load average on the system (field is not present if    five-minute load average is not available)`os.cpu.load_average.15m`::    Fifteen-minute load average on the system (field is not present if    fifteen-minute load average is not available)`os.mem.total_in_bytes`::	Total amount of physical memory in bytes`os.mem.free_in_bytes`::	Amount of free physical memory in bytes`os.mem.free_percent`::	Percentage of free memory`os.mem.used_in_bytes`::	Amount of used physical memory in bytes`os.mem.used_percent`::	Percentage of used memory`os.swap.total_in_bytes`::	Total amount of swap space in bytes`os.swap.free_in_bytes`::	Amount of free swap space in bytes`os.swap.used_in_bytes`::	Amount of used swap space in bytes[float][[process-stats]]==== Process statisticsThe `process` flag can be set to retrieve statistics that concernthe current running process:`process.timestamp`::	Last time the process statistics have been refreshed`process.open_file_descriptors`::	Number of opened file descriptors associated with the current process, or -1 if not supported`process.max_file_descriptors`::	Maximum number of file descriptors allowed on the system, or -1 if not supported`process.cpu.percent`::	CPU usage in percent, or -1 if not known at the time the stats are computed`process.cpu.total_in_millis`::	CPU time (in milliseconds) used by the process on which the Java virtual machine is running, or -1 if not supported`process.mem.total_virtual_in_bytes`::	Size in bytes of virtual memory that is guaranteed to be available to the running process[float][[field-data]]=== Field data statisticsYou can get information about field data memory usage on nodelevel or on index level.[source,js]--------------------------------------------------# Node Statscurl -XGET 'http://localhost:9200/_nodes/stats/indices/?fields=field1,field2&pretty'# Indices Statcurl -XGET 'http://localhost:9200/_stats/fielddata/?fields=field1,field2&pretty'# You can use wildcards for field namescurl -XGET 'http://localhost:9200/_stats/fielddata/?fields=field*&pretty'curl -XGET 'http://localhost:9200/_nodes/stats/indices/?fields=field*&pretty'--------------------------------------------------[float][[search-groups]]=== Search groupsYou can get statistics about search groups for searches executedon this node.[source,js]--------------------------------------------------# All groups with all statscurl -XGET 'http://localhost:9200/_nodes/stats?pretty&groups=_all'# Some groups from just the indices statscurl -XGET 'http://localhost:9200/_nodes/stats/indices?pretty&groups=foo,bar'--------------------------------------------------[float][[ingest-stats]]=== Ingest statisticsThe `ingest` flag can be set to retrieve statistics that concern ingest:`ingest.total.count`::    The total number of document ingested during the lifetime of this node`ingest.total.time_in_millis`::    The total time spent on ingest preprocessing documents during the lifetime of this node`ingest.total.current`::    The total number of documents currently being ingested.`ingest.total.failed`::    The total number ingest preprocessing operations failed during the lifetime of this nodeOn top of these overall ingest statistics, these statistics are also provided on a per pipeline basis.
 |