如何定位系統(tǒng)大面積無法訪問的根源
前言
客戶端或稱為用戶端,是指與服務(wù)器相對應(yīng),為客戶提供本地服務(wù)的程序。而當(dāng)客戶端無法訪問時,將造成所有服務(wù)的直接中斷。針對這一問題,運維人員將進(jìn)行大量的排查工作,且由于原因的多種多樣使得排查難度增大。面對這樣棘手的問題,如何第一時間定位問題原因并有效解決?本案例通過講解如何運用網(wǎng)絡(luò)回溯分析技術(shù)而快速精準(zhǔn)定位該類事件的問題根源
1.1 問題描述
網(wǎng)絡(luò)分析工程師接到某省運營商的系統(tǒng)運維人員反饋,該集團(tuán)V8系統(tǒng)的客戶端突然出現(xiàn)大面積無法訪問情況,頁面無法正常打開,雖然已經(jīng)對網(wǎng)絡(luò)設(shè)備經(jīng)過一系列檢測,但仍然無法確定問題原因。由于前期已經(jīng)在V8系統(tǒng)的服務(wù)器區(qū)處部署了科來網(wǎng)絡(luò)回溯分析系統(tǒng),對系統(tǒng)進(jìn)行實時網(wǎng)絡(luò)監(jiān)測與網(wǎng)絡(luò)全流量數(shù)據(jù)存儲,這為成功幫助用戶定位異?,F(xiàn)象的根本原因,提供了有效的數(shù)據(jù)支撐。
1.2 分析過程
通過配置科來網(wǎng)絡(luò)回溯分析系統(tǒng),回溯整個事件進(jìn)行取證,對相關(guān)的業(yè)務(wù)訪問邏輯進(jìn)行抓包分析。在對營業(yè)廳→外網(wǎng)X.X.244.46→負(fù)載均衡設(shè)備(F5)X.X.248.27→服務(wù)器X.X.16.92-95→數(shù)據(jù)庫X.X.16.86的監(jiān)控分析中發(fā)現(xiàn)發(fā)生故障的時間段內(nèi)存在大量訪問被重置的情況,詳情如下圖所示。
通過對該時間段的會話分析,發(fā)現(xiàn)客戶端在與服務(wù)端建立三次握手后發(fā)送POST請求,服務(wù)端正?;貜?fù)了ACK進(jìn)行確認(rèn),但等待幾秒甚至幾百秒后,客戶端仍未接收到數(shù)據(jù),于是將會話斷開,直接回復(fù)客戶端RST會話關(guān)閉,如下圖所示。
通過對數(shù)據(jù)庫X.X.16.86的監(jiān)控,發(fā)現(xiàn)應(yīng)用需要從數(shù)據(jù)庫調(diào)用數(shù)據(jù),那么是不是數(shù)據(jù)庫端出現(xiàn)了問題?
經(jīng)客戶反饋,得知該系統(tǒng)數(shù)據(jù)庫正常情況下連接數(shù)較少且連接多為長連接,所以單個客戶端相關(guān)連接數(shù)上限設(shè)定值為100。但通過本次對數(shù)據(jù)庫的分析,發(fā)現(xiàn)服務(wù)器X.X.16.94在半個小時的連接數(shù)達(dá)到了229個,X.X.16.93的連接數(shù)達(dá)到了132個,明顯超過100個連接數(shù)的上限值。
由于該段時間內(nèi)的數(shù)據(jù)庫連接數(shù)很高,導(dǎo)致數(shù)據(jù)庫響應(yīng)緩慢甚至無響應(yīng),也間接導(dǎo)致了客戶端訪問應(yīng)用也無法正常打開的現(xiàn)象,如下圖所示。
通過對客戶端X.X.16.94訪問數(shù)據(jù)庫的會話進(jìn)行詳細(xì)分析,發(fā)現(xiàn)客戶端在發(fā)送請求之后,數(shù)據(jù)庫沒有及時發(fā)送數(shù)據(jù)進(jìn)行響應(yīng),客戶端在等待264秒后發(fā)送FIN中斷連接信號,五分鐘之后才得到數(shù)據(jù)庫X.X.16.86回復(fù)響應(yīng)數(shù)據(jù)以及FIN包。這直接導(dǎo)致數(shù)據(jù)庫X.X.16.86的連接數(shù)過多,數(shù)據(jù)庫無法正常響應(yīng),如下圖所示。
通過上述分析可知:由于數(shù)據(jù)庫出現(xiàn)問題,不能及時斷開連接,導(dǎo)致客戶端的連接數(shù)超過客戶設(shè)定的上限值。因此數(shù)據(jù)庫無法正常響應(yīng)數(shù)據(jù),間接導(dǎo)致客戶端無法正常調(diào)取數(shù)據(jù)以及正常訪問應(yīng)用,應(yīng)用服務(wù)器的連接數(shù)就撐爆了連接池。數(shù)據(jù)庫監(jiān)控,如下圖所示。
1.3 分析結(jié)論及建議
定位問題發(fā)生的原因后,我們與該系統(tǒng)的應(yīng)用及數(shù)據(jù)庫的管理員進(jìn)行溝通,希望其修改X.X.16.92-95服務(wù)器的最大DB連接數(shù)配置,從而提高系統(tǒng)容錯瓶頸,解決問題。
調(diào)整后,系統(tǒng)恢復(fù)正常。同時客戶端(X.X.16.92-95)連接數(shù)恢復(fù)正常,如下兩圖所示。
1.4 價值
現(xiàn)如今我們面對的業(yè)務(wù)系統(tǒng)越加復(fù)雜,當(dāng)遇到故障時,傳統(tǒng)檢測手段往往不能有效地從錯綜復(fù)雜的相關(guān)因素中定位問題根因。這時可通過網(wǎng)絡(luò)回溯分析技術(shù)對故障事件的相關(guān)業(yè)務(wù)進(jìn)行取證分析,精準(zhǔn)發(fā)現(xiàn)業(yè)務(wù)流程中的異常環(huán)節(jié),從而實現(xiàn)故障根因的快速定位。