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" : { ………………………………………………
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 }
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 } ………………………………………………
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 } ………………………………………….
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).
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" }, ………………………………………………………….
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: