2016-10-05 164 views
0

我想創建一個運行狀況檢查機制,以確保刪除在負載平衡器後面配置的不健康的Knox實例。apache knox的健康檢查

正常ping到底層實例將有助於檢查機器是否可達。但它不會幫助確定網關是否健康/正在運行以向該實例提供傳入請求。

我可以通過LB向Knox發出請求,但它只會轉到一個實例,並且無法知道它。

我想知道是否有任何方法來確定相同的?或者是否存在Knox自身提供的一種機制,但我可以通過該機制對網關服務器調用http(非安全,因爲不允許直接https調用實例)調用並確定?

謝謝!

+0

解決方案,可用於健康檢查的目的。檢查機器中的網關服務的端口或者擊中服務(如果LB的機器可以直接訪問網關呼叫,這可以通過腳本完成)直接起作用。 – Krishna

回答

0

我不確定你正在使用哪個Load Balancer。從「健康檢查」中我假設您正在使用Elastic Load Balancer。

使用tcp協議創建健康檢查。它只會檢查這些端口是否打開。如果knox沒有運行,那些實例將停止服務,並且傳入的請求將被重定向到正在服務的實例。

PFB的截圖相同。通過尼西和桑迪普提出 enter image description here enter image description here enter image description here

0

我不知道您的負載均衡器是如何配置的,但您可以嘗試直接ping knox_host:knox_port,這至少會告訴您knox是否啓動並運行(並正在偵聽)。

如果你想知道諾克斯是否是健康的(特別是你的拓撲),那麼你可以嘗試定期發出測試請求,並查找響應碼200

例如

curl -i -u guest:guest-password -X GET \ 
    'http://<direct-knox>:8443/gateway/sandbox/webhdfs/v1/?op=LISTSTATUS' 

希望有幫助!