The cluster API is used for getting information about cluster and its nodes and to make changes in them. To call this API, we need to specify the node name, address or _local.
GET /_nodes/_local
On running the above code, we get the response as shown below −
……………………………………………… cluster_name" : "elasticsearch", "nodes" : { "FKH-5blYTJmff2rJ_lQOCg" : { "name" : "ubuntu", "transport_address" : "127.0.0.1:9300", "host" : "127.0.0.1", "ip" : "127.0.0.1", "version" : "7.0.0", "build_flavor" : "default", "build_type" : "tar", "build_hash" : "b7e28a7", "total_indexing_buffer" : 106502553, "roles" : [ "master", "data", "ingest" ], "attributes" : { ………………………………………………
Cluster Health
This API is used to get the status on the health of the cluster by appending the ‘health’
keyword.
GET /_cluster/health
On running the above code, we get the response as shown below −
{ "cluster_name" : "elasticsearch", "status" : "yellow", "timed_out" : false, "number_of_nodes" : 1, "number_of_data_nodes" : 1, "active_primary_shards" : 7, "active_shards" : 7, "relocating_shards" : 0, "initializing_shards" : 0, "unassigned_shards" : 4, "delayed_unassigned_shards" : 0, "number_of_pending_tasks" : 0, "number_of_in_flight_fetch" : 0, "task_max_waiting_in_queue_millis" : 0, "active_shards_percent_as_number" : 63.63636363636363 }
Cluster State
This API is used to get state information about a cluster by appending the ‘state’ keyword
URL. The state information contains version, master node, other nodes, routing table, metadata and blocks.
GET /_cluster/state
On running the above code, we get the response as shown below −
……………………………………………… { "cluster_name" : "elasticsearch", "cluster_uuid" : "IzKu0OoVTQ6LxqONJnN2eQ", "version" : 89, "state_uuid" : "y3BlwvspR1eUQBTo0aBjig", "master_node" : "FKH-5blYTJmff2rJ_lQOCg", "blocks" : { }, "nodes" : { "FKH-5blYTJmff2rJ_lQOCg" : { "name" : "ubuntu", "ephemeral_id" : "426kTGpITGixhEzaM-5Qyg", "transport } ………………………………………………
Cluster Stats
This API helps to retrieve statistics about cluster by using the ‘stats’ keyword. This API
returns shard number, store size, memory usage, number of nodes, roles, OS, and file system.
GET /_cluster/stats
On running the above code, we get the response as shown below −
…………………………………………. "cluster_name" : "elasticsearch", "cluster_uuid" : "IzKu0OoVTQ6LxqONJnN2eQ", "timestamp" : 1556435464704, "status" : "yellow", "indices" : { "count" : 7, "shards" : { "total" : 7, "primaries" : 7, "replication" : 0.0, "index" : { "shards" : { "min" : 1, "max" : 1, "avg" : 1.0 }, "primaries" : { "min" : 1, "max" : 1, "avg" : 1.0 }, "replication" : { "min" : 0.0, "max" : 0.0, "avg" : 0.0 } ………………………………………….
Cluster Update Settings
This API allows you to update the settings of a cluster by using the ‘settings’ keyword.
There are two types of settings − persistent (applied across restarts) and transient (do not survive a full cluster restart).
Node Stats
This API is used to retrieve the statistics of one more nodes of the cluster. Node stats are
almost the same as cluster.
GET /_nodes/stats
On running the above code, we get the response as shown below −
{ "_nodes" : { "total" : 1, "successful" : 1, "failed" : 0 }, "cluster_name" : "elasticsearch", "nodes" : { "FKH-5blYTJmff2rJ_lQOCg" : { "timestamp" : 1556437348653, "name" : "ubuntu", "transport_address" : "127.0.0.1:9300", "host" : "127.0.0.1", "ip" : "127.0.0.1:9300", "roles" : [ "master", "data", "ingest" ], "attributes" : { "ml.machine_memory" : "4112797696", "xpack.installed" : "true", "ml.max_open_jobs" : "20" }, ………………………………………………………….
Nodes hot_threads
This API helps you to retrieve information about the current hot threads on each node in cluster.
GET /_nodes/hot_threads
On running the above code, we get the response as shown below −
:::{ubuntu}{FKH-5blYTJmff2rJ_lQOCg}{426kTGpITGixhEzaM5Qyg}{127.0.0.1}{127.0.0.1:9300}{ml.machine_memory=4112797696, xpack.installed=true, ml.max_open_jobs=20} Hot threads at 2019-04-28T07:43:58.265Z, interval=500ms, busiestThreads=3, ignoreIdleThreads=true: