閱讀340 返回首頁    go 小米 go 小米6


健康檢查異常的排查思路__最佳實踐_負載均衡-阿裏雲

在負載均衡服務中開啟健康檢查功能後,當後端某個 ECS 健康檢查出現問題時,會將請求轉發到其他健康檢查正常的 ECS 上。當該 EC S恢複正常運行時,負載均衡會將其自動恢複到對外或對內的服務中。負載均衡健康檢查的實現機製可以 點擊這裏 ,在“健康檢查”章節中查看。

針對 7 層( HTTP 協議)負載均衡服務,當監聽獲取到健康檢查“異常”的信息時,可以排查以下方麵:

  • 確保您能夠直接通過 ECS 訪問到您的應用服務。
  • 確保後端服務器開啟了相應的端口,該端口必須與您在負載均衡監聽配置中配置的後端端口保持一致。
  • 檢查後端 ECS 內部是否開啟了防火牆或其他的安全類防護軟件,這類軟件很容易將負載均衡服務的本地 IP 地址屏蔽掉,導致負載均衡服務無法跟後端服務器進行通訊。
  • 檢查負載均衡健康檢查參數設置是否正確,建議參照缺省提供的健康檢查參數進行設置。
  • 建議使用靜態頁麵來進行健康檢查,如果您用於健康檢查的頁麵在後端 ECS 應用服務器上並不是缺省首頁,需要您在健康檢查配置中指定該頁麵的URL。健康檢查指定的檢測文件,建議是以 html 形式的簡單頁麵,隻用於檢查返回結果,不建議用 php 等動態腳本語言。
  • 檢查後端 ECS 資源是否有較高負載,降低了 ECS 對外提供服務的響應速度。

另外,由於7層( HTTP 協議)負載均衡服務跟後端 ECS 之間通過內網通訊,因此需要 ECS 監聽內網或者全網端口。您可使用以下方法進行檢查:

  1. 檢查監聽功能是否正常。

    假設負載均衡前端端口是 80,ECS 後端端口也是 80,ECS 內網 IP 是 10.11.192.1。在服務器上運行以下命令,如果能看到 10.11.192.1:80 的監聽信息,或者 0.0.0.0:80 的監聽信息,說明這部分端口的監聽正常。

    • Windows 服務器上運行:netstat -ano | findstr :80
    • Linux 服務器上運行:netstat -anp | grep :80
  2. 檢查服務器內網防火牆是否放行 80 端口,可以暫時關閉防火牆進行測試。輸入以下命令關閉防火牆。

    • Windows:firewall.cpl
    • Linux:/etc/init.d/iptables stop
  3. 檢查後端端口是否正常。

    • 對於 4 層負載均衡,使用 telnet 測試有響應即為正常。本例中,使用 telnet 10.11.192.1 80 來測試。
    • 對於 7 層負載均衡,HTTP 狀態碼需要是 200 等代表正常的狀態碼,檢驗方法如下:
      • Windows:直接在 ECS 上的瀏覽器內輸入內網 IP 測試是否正常,本例是:https://10.11.192.1
      • Linux:使用 curl -I 命令查看狀態是否為 HTTP/1.1 200 OK,本例是: curl -I 10.11.192.1

最後更新:2016-12-14 16:42:01

  上一篇:go 監控數據__監控_用戶指南_負載均衡-阿裏雲
  下一篇:go 獲取來訪真實IP的方法__最佳實踐_負載均衡-阿裏雲