我有 3 個節點的彈性搜索集群。如果不止一個節點出現故障,那么我可以輕松地手動檢查它們。假設集群中的節點增加了,那么手動檢查它們將很困難。那么,即使它們已關閉,我如何才能獲取集群的所有節點(特別是節點的名稱)?
為了獲得實時/健康節點,我點擊了 api 端點:
curl -X GET "hostname/ip:port/_cat/nodes?v&pretty"
是否有任何端點可以讓我獲得彈性搜索集群中的總節點和不健康/停機節點?
我試圖列出所有使用discovery.seed.hosts存在于elasticsearch.yml組態檔中的節點。但我不知道該怎么做,或者它是否正確。
uj5u.com熱心網友回復:
我認為沒有任何 API 可以了解離線節點。如果您的整個集群出現故障或單個節點出現故障,則 Elastic 不會提供任何方法來檢查節點的運行狀況。您需要依賴外部腳本或代碼或監控工具來 ping 您的所有節點并列印狀態。
您可以撰寫一個自定義腳本,該腳本將呼叫下面的 API,它將回傳集群中可用的所有節點。收到回應后,您可以過濾掉節點的 IP 或主機名,無論哪個沒有回應,您都可以將其視為關閉節點。
GET _cat/nodes?format=json&filter_path=ip,name
另一個選項是啟用集群監控,這將為您提供整個集群的狀態,但它會再次顯示有關正在運行的節點的資訊。
請查看此答案以了解 Kibana 如何在集群監控中顯示脫機節點。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/453279.html
