首頁 資訊 負(fù)載均衡 健康檢查異常排查v1

負(fù)載均衡 健康檢查異常排查v1

來源:泰然健康網(wǎng) 時間:2025年08月03日 13:49

健康檢查異常排查v1

最近更新時間:2025-04-18 14:43:21

負(fù)載均衡(CLB)通過健康檢查來判斷后端服務(wù)的可用性。若您遇到健康檢查異常,可參考以下方式進行排查。

說明:

當(dāng)健康檢查探測到異常時,CLB 將不再向異常后端服務(wù)轉(zhuǎn)發(fā)流量。

當(dāng)健康檢查探測到所有后端服務(wù)都有異常時,請求將會被轉(zhuǎn)發(fā)給所有后端服務(wù)。

檢查后端服務(wù)器的公網(wǎng)帶寬

傳統(tǒng)賬戶類型,負(fù)載均衡綁定的后端 CVM 需要配置公網(wǎng)帶寬,否則會導(dǎo)致健康檢查異常。因為該賬戶的帶寬屬性在 CVM 上,而非 CLB 上。

標(biāo)準(zhǔn)賬戶類型,負(fù)載均衡綁定的后端 CVM 無需配置公網(wǎng)帶寬,且不會影響負(fù)載均衡服務(wù)。

說明

傳統(tǒng)賬戶類型的負(fù)載均衡不收取任何流量或帶寬費用。負(fù)載均衡服務(wù)產(chǎn)生的公網(wǎng)流量費用,由綁定的后端 CVM 收取。

您可在不分配公網(wǎng) IP 的情況下,為 CVM 購買公網(wǎng)帶寬。

檢查安全組配置

檢查負(fù)載均衡實例是否開啟安全組默認(rèn)放通功能。如果未開啟,則需在 CVM 的安全組上放通來源 IP。如果您的 CLB 服務(wù)支持任意 IP 的訪問,則在安全組的入站規(guī)則中配置來源 IP 為0.0.0.0/0。詳情請參考 配置負(fù)載均衡安全組。

檢查四層監(jiān)聽器

說明

TCP 協(xié)議下,負(fù)載均衡使用 SYN 包進行探測。

UDP 協(xié)議下,負(fù)載均衡使用 ping 命令進行探測。

在頁面查看 CLB 后端服務(wù)器端口的健康狀態(tài),狀態(tài)為異常時的排查方法如下:

確定 CLB 后端服務(wù)器是否配置了安全組導(dǎo)致影響服務(wù)。后端服務(wù)器可通過安全組進行訪問控制從而保證服務(wù)正常運行,詳情請參考 后端云服務(wù)器安全組配置說明。

使用 netstat 命令,檢查后端服務(wù)器的端口是否有進程在監(jiān)聽。若未發(fā)現(xiàn)進程,則重新啟動服務(wù)。

檢查七層協(xié)議

針對七層(HTTP 協(xié)議)服務(wù),當(dāng)某一監(jiān)聽出現(xiàn)健康檢查“異?!睍r,可以通過以下方面進行排查:

由于負(fù)載均衡的七層健康檢查服務(wù)與后端 CVM 之間通過內(nèi)網(wǎng)通信,您需要登錄服務(wù)器檢查應(yīng)用服務(wù)器端口是否正常監(jiān)聽在內(nèi)網(wǎng)地址上,如果沒有監(jiān)聽在內(nèi)網(wǎng)地址,請將應(yīng)用服務(wù)器端口監(jiān)聽到內(nèi)網(wǎng)上,從而確保負(fù)載均衡系統(tǒng)和后端 CVM 之間的正常通信。 假設(shè)負(fù)載均衡前端端口是80,CVM 后端端口也是80,CVM 內(nèi)網(wǎng) IP 是:1.1.1.10。

Windows 系統(tǒng)服務(wù)器使用如下命令:

netstat -ano | findstr :80

Linux 系統(tǒng)服務(wù)器使用如下命令:

netstat -anp | grep :80

如果可以看到1.1.1.10:80的監(jiān)聽或0.0.0.0:80的監(jiān)聽則說明此配置正常。

請確保后端服務(wù)器開啟了您在負(fù)載均衡監(jiān)聽器中配置的后端端口。

如果是四層負(fù)載均衡,只要后端端口 telnet 有響應(yīng)即可,可以使用telnet 1.1.1.10 80來測試。

如果是七層負(fù)載均衡,需要 HTTP 狀態(tài)碼是200 等代表正常的狀態(tài)碼,檢驗方法如下:

Windows 系統(tǒng)可以直接在 CVM 內(nèi)的瀏覽器輸入內(nèi)網(wǎng) IP 測試是否正常,本例為:http://1.1.1.10。

Linux 系統(tǒng)可以通過curl -I命令查看狀態(tài)是否為 HTTP/1.1 200 OK,本例為:curl -I 1.1.1.10。

檢查后端 CVM 內(nèi)部是否有防火墻或其他安全類防護軟件,這類軟件很容易將負(fù)載均衡系統(tǒng)的本地 IP 地址屏蔽,從而導(dǎo)致負(fù)載均衡系統(tǒng)無法跟后端服務(wù)器進行通信。 檢查服務(wù)器內(nèi)網(wǎng)防火墻是否放行80端口,可以暫時關(guān)閉防火墻進行測試。

Windows 系統(tǒng)可以在運行輸入firewall.cpl 命令關(guān)閉。

Linux 系統(tǒng)可以輸入/etc/init.d/iptables stop命令關(guān)閉(CentOS 7.x 系統(tǒng)請運行 systemctl stop firewalld命令)。

檢查負(fù)載均衡健康檢查參數(shù)設(shè)置是否正確,建議參考 健康檢查 提供的健康檢查參數(shù)默認(rèn)值進行設(shè)置。

健康檢查指定的檢測文件,建議是以 HTML 形式的簡單頁面,只用于檢查返回結(jié)果。不建議使用 PHP 等動態(tài)腳本語言。

檢查后端是否有較高負(fù)載導(dǎo)致 CVM 對外提供服務(wù)響應(yīng)慢。

檢查 HTTP 請求方式。

如果使用 HEAD 方法,則后端服務(wù)一定要支持 HEAD。

如果是 GET 方法,則后端服務(wù)一定要支持 GET。

如果同時開啟了 TCP 的快速回收(tcp_tw_recycle)和時間戳(tcp_timestamps)可能導(dǎo)致健康檢查異常,建議關(guān)閉 tcp_tw_recycle,詳見 原因分析。

健康檢查探測頻率過高

控制臺設(shè)置5s接收1次探測包,實際后端服務(wù)器發(fā)現(xiàn)1s內(nèi)收到1次甚至多次健康檢查請求,導(dǎo)致健康檢查探測頻率過高的原因主要是和負(fù)載均衡的后端健康探測實現(xiàn)機制有關(guān): 假設(shè)100萬的 Client 端請求,會分散在4臺 CLB 后端物理機上,再轉(zhuǎn)發(fā)給后端服務(wù)器。 健康檢查探測是在 CLB 的各個后端物理機上分別進行探測,因此,CLB 實例設(shè)置5s1次的探測請求時,實際上 CLB 后端的每臺物理機都會每5s發(fā)送一次探測。此時后端服務(wù)器上可能會在5s中收到4次探測請求。

該方案的優(yōu)勢是效率高,探測精準(zhǔn),避免誤剔除。例如,CLB 實例集群的8臺物理機中,其中1臺判斷失敗,那么僅此臺機器不再轉(zhuǎn)發(fā)流量,另外7臺仍然正常轉(zhuǎn)發(fā)流量。

如果您的業(yè)務(wù)對負(fù)載敏感性較高,高頻率的健康檢查探測可能會對正常業(yè)務(wù)訪問造成影響,您可以通過增大探測時間間隔的方式來降低對業(yè)務(wù)的影響(例如設(shè)置為15s探測一次)。

一個后端服務(wù)器綁定在多個 CLB 實例上時,每個 CLB 實例都會發(fā)送健康探測報文用于探測該服務(wù)器是否健康,從而導(dǎo)致健康探測的頻率較高。

相關(guān)知識

負(fù)載均衡 健康檢查概述
負(fù)載均衡SLB四層(TCP/UDP)健康檢查出現(xiàn)異常的解決方法
健康檢查 負(fù)載均衡 ULB
Kubernetes:健康檢查
Pod的健康檢查機制
心電圖檢查T波異常是怎么回事
關(guān)閉健康檢查后恢復(fù)
Kubernetes下Java應(yīng)用的健康檢查機制
Nginx健康檢查【轉(zhuǎn)】
取消健康檢查關(guān)聯(lián)

網(wǎng)址: 負(fù)載均衡 健康檢查異常排查v1 http://m.gysdgmq.cn/newsview1634925.html

推薦資訊