ES集群的狀態實際上也是使用RESTful的接口,一般用的是GET方法
http://[主機IP]:[ES端口]
通常我們啟動服務器之后,就可以通過這個簡單的方式來驗證服務器是否啟動成功。
從下面返加的JSON我們可以得到該節點的節點名,所屬集群名,ES版本號,lucene版本號
@
以下端口31800是9200做的映射
1,集群的健康狀態
http://ip:9200/_cat/health?v
RL中_cat表示查看信息,health表明返回的信息為集群健康信息,?v表示返回的信息加上頭信息,跟返回JSON信息加上?pretty同理,就是為了獲得更直觀的信息,當然,你也可以不加,不要頭信息,特別是通過代碼獲取返回信息進行解釋,頭信息有時候不需要,寫shell腳本也一樣,經常要去除一些多余的信息。
通過這個鏈接會返回下面的信息,下面的信息包括:
集群的狀態(status):red紅表示集群不可用,有故障。yellow黃表示集群不可靠但可用,一般單節點時就是此狀態。green正常狀態,表示集群一切正常。
節點數(node.total):節點數,這里是3,表示該集群有三個節點。
數據節點數(node.data):存儲數據的節點數,這里是2。
分片數(shards):這是20,表示我們把數據分成多少塊存儲。
主分片數(pri):primary shards,這里是10,實際上是分片數的兩倍,因為有一個副本,如果有兩個副本,這里的數量應該是分片數的三倍,這個會跟后面的索引分片數對應起來,這里只是個總數。
激活的分片百分比(active_shards_percent):這里可以理解為加載的數據分片數,只有加載所有的分片數,集群才算正常啟動,在啟動的過程中,如果我們不斷刷新這個頁面,我們會發現這個百分比會不斷加大。
2,集群的索引數
http://ip:9200/_cat/indices?v
通過該連接返回了集群中的所有索引,其中.kibana是kibana連接后在es建的索引,mca1,mcm1,router1是我自己添加的。
這些信息,包括:
索引健康(health),green為正常,yellow表示索引不可靠(單節點),red索引不可用。與集群健康狀態一致。
狀態(status),表明索引是否打開。
索引名稱(index)。
uuid,索引內部隨機分配的名稱,表示唯一標識這個索引。
主分片(pri)
文檔數(docs.count)
已刪除文檔數(docs.deleted),這里統計了被刪除文檔的數量。
索引存儲的總容量(store.size)
主分片的總容量(pri.store.size)
3,集群所在磁盤的分配狀況
http://ip:9200/_cat/allocation?v
通過該連接返回了集群中的各節點所在磁盤的磁盤狀況
返回的信息包括:
分片數(shards),集群中各節點的分片數相同。
索引所占空間(disk.indices),該節點中所有索引在該磁盤所點的空間
磁盤使用容量(disk.used)
磁盤可用容量(disk.avail)
磁盤總容量(disk.total)
磁盤使用率(disk.percent)
4,集群的節點
http://ip:9200/_cat/nodes?v
通過該連接返回了集群中各節點的情況。這些信息中比較重要的是master列,帶*星號表明該節點是主節點。帶-表明該節點是從節點。
另外還是heap.percent堆內存使用情況,ram.percent運行內存使用情況,cpu使用情況。
5,集群的其它信息
http://ip:9200/_cat/
查看集群信息的目錄