Elasticsearch叢集健康
阿新 • • 發佈:2018-11-19
叢集健康 (cluster health):ES叢集監控資訊中的一種,用status表示,status可為green,yellow,red。當status為green時,說明所有的主分片和副本分片都可用;當status為green時,說明所有的主分片都可用,但不是所有的副本分片都可用;當status為red時,說明不是所有的主分片都可用,在這種情況下,可用的主分片依然可提供搜尋請求服務。
查詢叢集健康可使用_cat API或者_cluster API。
1、使用_cat API查詢叢集健康狀況,如下:
GET /_cat/health?v
響應內容如下:
epoch timestamp cluster status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent 1537015892 20:51:32 my-esLearn yellow 1 1 10 10 0 0 10 0 - 50.0%
從響應內容中可知,叢集名為"my-esLearn",叢集健康狀況(status)為yellow。
將所有節點都啟動之後,再次查詢叢集健康狀況,叢集健康狀況(status)為green,結果如下:
epoch timestamp cluster status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent 1537016682 21:04:42 my-esLearn green 3 3 29 13 1 0 0 0 - 100.0%
本例中一共三個節點,由node.total可知,一共三個節點,也可使用_cat API查詢每個節點更詳細的資訊,如下:
GET /_cat/nodes?v
節點資訊如下:
host ip heap.percent ram.percent load node.role master name 127.0.0.1 127.0.0.1 3 70 -1.00 d m node-3 127.0.0.1 127.0.0.1 7 70 -1.00 d * node-1 127.0.0.1 127.0.0.1 5 70 -1.00 d m node-2
由以上結果可知,節點名稱分別為:node-1、node-2、node-3
2、使用_cluster API查詢叢集健康狀況,如下:
GET /_cluster/health
查詢結果如下:
{
"cluster_name": "my-esLearn",
"status": "green",
"timed_out": false,
"number_of_nodes": 3,
"number_of_data_nodes": 3,
"active_primary_shards": 13,
"active_shards": 29,
"relocating_shards": 0,
"initializing_shards": 0,
"unassigned_shards": 0,
"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": 100.0
}