性能監(jiān)控主要通過數(shù)據(jù)采集-數(shù)據(jù)分析-數(shù)據(jù)展示-故障告警來實(shí)現(xiàn),其中畅姊,數(shù)據(jù)采集是性能監(jiān)控的第一步咒钟,也是最為關(guān)鍵的一步。
不同數(shù)據(jù)采集方式獲得的數(shù)據(jù)類型和顆粒度是不同的若未,不同的數(shù)據(jù)源能夠分析出的指標(biāo)類型也是不同朱嘴。根據(jù)數(shù)據(jù)采集方式的不同,便產(chǎn)生了不同的性能監(jiān)控流派粗合。其中較有代表性的流派有三個(gè)萍嬉,分別是:日志、Agent和網(wǎng)絡(luò)流量分析隙疚。今天壤追,我們就來聊一聊這三大性能監(jiān)控流派有什么不同?
日志甚淡、Agent和網(wǎng)絡(luò)流量分析流派分別是如何采集數(shù)據(jù)的大诸?
日志流派:日志類的數(shù)據(jù)來源有兩類,一種是傳統(tǒng)物理設(shè)備上的日志文件贯卦,這種日志文件能夠提供的數(shù)據(jù)格式资柔、數(shù)據(jù)精細(xì)度、數(shù)據(jù)內(nèi)容都是各個(gè)設(shè)備廠商預(yù)先設(shè)定的撵割。另外一種是程序開發(fā)過程之中或之后贿堰,為捕獲程序或者系統(tǒng)本身的運(yùn)行信息開發(fā)出來的日志系統(tǒng)。日志系統(tǒng)本身不對應(yīng)用程序發(fā)起主動(dòng)式訪問啡彬,只是伴隨著程序的運(yùn)行羹与,將相關(guān)的運(yùn)行數(shù)據(jù)輸送出來,大部分日志系統(tǒng)輸送出來的都是機(jī)器本身或者程序運(yùn)行的狀態(tài)信息庶灿。
Agent流派:Agent一般通過在裝有應(yīng)用程序的服務(wù)器上面部署相應(yīng)插件或者在程序中植入相應(yīng)代碼的方式獲取數(shù)據(jù)纵搁。Agent獲取數(shù)據(jù)的方式是主動(dòng)取數(shù)。由于Agent部署在服務(wù)器內(nèi)部往踢,并且可以主動(dòng)探測應(yīng)用程序腾誉,所以Agent方式能夠獲取到很多程序底層運(yùn)行的數(shù)據(jù),更多的是反應(yīng)了代碼級別的程序運(yùn)行狀況峻呕。
網(wǎng)絡(luò)流量分析流派:即通過交換機(jī)鏡像的方式獲取數(shù)據(jù)中心內(nèi)部業(yè)務(wù)系統(tǒng)各組件之間交互的數(shù)據(jù)包利职,即網(wǎng)絡(luò)流量數(shù)據(jù)。交換機(jī)鏡像是目前所有商用交換機(jī)都具備的標(biāo)準(zhǔn)功能瘦癌,它可以將交換機(jī)上傳輸?shù)臄?shù)據(jù)復(fù)制一份送出來猪贪。數(shù)據(jù)包送到分析服務(wù)器之后,通過對數(shù)據(jù)包的解析便可以達(dá)到業(yè)務(wù)性能監(jiān)控的目的讯私。
三大性能監(jiān)控流派的綜合對比
下面我們將從部署周期热押、數(shù)據(jù)全面性西傀、對應(yīng)用的影響、風(fēng)險(xiǎn)性楞黄、擴(kuò)展性等幾個(gè)維度池凄,對三大性能監(jiān)控流派進(jìn)行綜合對比,幫助大家簡單了解各個(gè)性能監(jiān)控流派的優(yōu)缺點(diǎn)鬼廓,以便根據(jù)自身情況選取適合的性能監(jiān)控工具肿仑。
部署周期:日志系統(tǒng)和Agent部署周期都比較長,一般以年或月為單位碎税,而網(wǎng)絡(luò)流量分析周期相對比較短尤慰,一般以周或月為單位;
數(shù)據(jù)全面性:日志系統(tǒng)相對較全面雷蹂,但也存在一定盲區(qū)伟端,例如證券集中交易系統(tǒng)中,通訊服務(wù)器KCXP作為通訊中間件匪煌,數(shù)據(jù)在這個(gè)節(jié)點(diǎn)并沒有落地责蝠,導(dǎo)致日志等監(jiān)控方式無法在這個(gè)節(jié)點(diǎn)采集到每一筆交易的細(xì)節(jié)數(shù)據(jù)。再比如萎庭,證券極速交易系統(tǒng)為了追求性能最大化通常不會(huì)開啟日志功能霜医。
Agent模式由于無法在交換機(jī)、路由器驳规、防火墻肴敛、負(fù)載均衡等傳統(tǒng)物理設(shè)備上安裝相應(yīng)插件或代碼,所以數(shù)據(jù)全面性有所局限吗购;
網(wǎng)絡(luò)流量分析則相對更加全面一些医男。
對應(yīng)用的影響和風(fēng)險(xiǎn)性:日志系統(tǒng)和Agent系統(tǒng)需要占用較多的主機(jī)資源,而且有一定的兼容性風(fēng)險(xiǎn)捻勉。
而網(wǎng)絡(luò)流量分析所采用的旁路抓包方式镀梭,不需要改變現(xiàn)有的網(wǎng)絡(luò)架構(gòu)、不需要對現(xiàn)有的業(yè)務(wù)系統(tǒng)進(jìn)行變更踱启,因此不會(huì)影響應(yīng)用系統(tǒng)本身丰辣,可以說是零風(fēng)險(xiǎn)的,更適用于關(guān)鍵業(yè)務(wù)系統(tǒng)禽捆、核心服務(wù)器等重要系統(tǒng)。
擴(kuò)展性:日志系統(tǒng)和Agent系統(tǒng)擴(kuò)展的難度較大飘哨,一般都會(huì)涉及到二次開發(fā)胚想;而網(wǎng)絡(luò)流量分析只需對新接入的數(shù)據(jù)包進(jìn)行分析即可實(shí)現(xiàn),因此是全面向前兼容的芽隆。
Gartner:網(wǎng)絡(luò)數(shù)據(jù)將在 IT 可用性和性能管理上發(fā)揮關(guān)鍵作用
綜上浊服,網(wǎng)絡(luò)流量分析在部署周期统屈、擴(kuò)展性、數(shù)據(jù)全面性等方面有比較優(yōu)勢牙躺,天旦性能監(jiān)控所采用的便是這種數(shù)據(jù)采集方式愁憔。
自創(chuàng)立之初,天旦就理解到網(wǎng)絡(luò)數(shù)據(jù)的重要性孽拷,開創(chuàng)性地通過對網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行加工吨掌,轉(zhuǎn)換成高價(jià)值的互聯(lián)數(shù)據(jù),進(jìn)而應(yīng)用在業(yè)務(wù)性能監(jiān)控脓恕、網(wǎng)絡(luò)性能監(jiān)控等領(lǐng)域膜宋。
無獨(dú)有偶,Gartner對于網(wǎng)絡(luò)數(shù)據(jù)的應(yīng)用價(jià)值也十分看好炼幔,曾在2016年發(fā)表觀點(diǎn)稱秋茫,未來 5 年,網(wǎng)絡(luò)數(shù)據(jù)將在 IT 的可用性和性能管理上起到非常關(guān)鍵的作用乃秀。憑借過硬的技術(shù)能力以及在該領(lǐng)域的突出表現(xiàn)肛著,天旦還成為唯一入選Gartner性能分析領(lǐng)域最酷廠商報(bào)告《Cool Vendor in Performance Analysis,2017》的中國企業(yè)跺讯。
Gartner報(bào)告指出:天旦的產(chǎn)品利用網(wǎng)絡(luò)數(shù)據(jù)提供了多層關(guān)聯(lián)的能力枢贿。這使得天旦的產(chǎn)品可以實(shí)現(xiàn)面向服務(wù)的性能管理和分析、故障定位及通過報(bào)告呈現(xiàn)性能的各項(xiàng)關(guān)鍵指標(biāo)抬吟。
與傳統(tǒng)應(yīng)用性能監(jiān)控工具不同萨咕,基于網(wǎng)絡(luò)流量分析的天旦業(yè)務(wù)性能監(jiān)控產(chǎn)品BPC關(guān)注的是業(yè)務(wù)量、業(yè)務(wù)走勢火本、業(yè)務(wù)成功與失敗情況等危队,即從業(yè)務(wù)視角出發(fā),關(guān)注業(yè)務(wù)的平穩(wěn)運(yùn)行钙畔;而應(yīng)用性的監(jiān)控關(guān)注的是系統(tǒng)和應(yīng)用的運(yùn)行狀況等茫陆,雖然兩者的關(guān)注點(diǎn)不同,但是最終的目的都是為了保障業(yè)務(wù)的平穩(wěn)運(yùn)行擎析。
案例:一種故障場景簿盅,3種技術(shù)流派的不同排障表現(xiàn)
那么,面對同一運(yùn)維故障揍魂,這三大流派都是如何進(jìn)行監(jiān)控呢桨醋?下面與大家分享一個(gè)實(shí)際案例:
某保險(xiǎn)公司核心服務(wù)器出現(xiàn)宕機(jī),經(jīng)排查發(fā)現(xiàn)是網(wǎng)廳觸發(fā)核心系統(tǒng)高并訪問所致现斋。正常情況下喜最,當(dāng)用戶發(fā)起一筆交易,從F5到WEB庄蹋、F5再到核心瞬内,收到的對應(yīng)交易數(shù)量應(yīng)該也都是一筆迷雪。但當(dāng)時(shí)情況是,當(dāng)用戶提交一筆交易虫蝶,核心調(diào)用數(shù)量卻高達(dá)2-5筆章咧。
當(dāng)時(shí)應(yīng)用部門配備了日志分析和某Agent工具,通過這兩個(gè)工具看到能真,從WEB發(fā)出的1筆交易赁严,到了核心服務(wù)器變成了2-5筆。因此舟陆,應(yīng)用部判斷問題出在網(wǎng)絡(luò)部門误澳。
但從技術(shù)角度來講,F(xiàn)5所做的只是從左手到右手的轉(zhuǎn)發(fā)工作秦躯,永遠(yuǎn)不可能做復(fù)制忆谓。網(wǎng)絡(luò)部百思不解之下,便找到當(dāng)時(shí)正在該保險(xiǎn)公司進(jìn)行POC測試的天旦BPC技術(shù)人員踱承,希望能夠通過BPC看到到底發(fā)生了什么倡缠。
通過BPC發(fā)現(xiàn),從WEB到F5發(fā)出交易數(shù)量確實(shí)是2-5筆茎活,問題的源頭在于WEB服務(wù)器昙沦。同時(shí)BPC還發(fā)現(xiàn)從WEB端發(fā)出的這2-5筆都是沒有響應(yīng)的,且每一筆間隔時(shí)間都是固定300秒载荔。
憑借豐富的經(jīng)驗(yàn)盾饮,天旦技術(shù)人員立刻讓網(wǎng)絡(luò)部去查F5中TCP超時(shí)限制時(shí)間,發(fā)現(xiàn)超時(shí)設(shè)置確實(shí)是300秒懒熙。即當(dāng)發(fā)生請求300秒無響應(yīng)后丘损,系統(tǒng)會(huì)自動(dòng)重復(fù)發(fā)起。
為什么發(fā)起的交易會(huì)超時(shí)呢工扎?為了進(jìn)一步驗(yàn)證問題徘钥,技術(shù)人員將問題交易的交易號輸入到日志管理系統(tǒng)中,發(fā)現(xiàn)這筆業(yè)務(wù)在核心服務(wù)器執(zhí)行時(shí)間為12分鐘肢娘,遠(yuǎn)大于300秒呈础。也就是說,這筆交易從發(fā)起之時(shí)就注定了無法完成橱健。
為什么交易無響應(yīng)后會(huì)重復(fù)發(fā)起呢而钞?具體是誰發(fā)的?原來在WEB應(yīng)用的底層有個(gè)JAVA HTTP CLIENT小程序拘荡,它負(fù)責(zé)將APP封裝好的請求通過網(wǎng)絡(luò)發(fā)出去笨忌,該程序的默認(rèn)配置是只要發(fā)出的請求被異常中斷就會(huì)retry(重試)。因此,每當(dāng)交易請求300秒超時(shí)異常中斷后官疲,該程序就會(huì)再次發(fā)出請求,直到最終將核心服務(wù)器拖垮亮隙。
基于BPC提供的數(shù)據(jù)分析途凫,天旦技術(shù)人員最終還原了故障形成過程:
1、應(yīng)用服務(wù)器發(fā)出交易請求溢吻,由于交易所需執(zhí)行時(shí)間為12分鐘维费,大于F5超時(shí)時(shí)間設(shè)置300秒,交易被中斷
2促王、應(yīng)用服務(wù)器底層的JAVA HTTP CLIENT小程序重新發(fā)出交易請求(JAVA HTTP CLIENT小程序負(fù)責(zé)將APP封裝好的請求通過網(wǎng)絡(luò)發(fā)出去犀盟,該程序的默認(rèn)配置是只要發(fā)出的請求被異常中斷就會(huì)retry重試)。
3蝇狼、交易超時(shí)阅畴,被異常中斷
4、JAVA HTTP CLIENT再次retry
……
在實(shí)際業(yè)務(wù)性能監(jiān)控中迅耘,基于網(wǎng)絡(luò)流量分析的BPC關(guān)注的是應(yīng)用與其他組件贱枣、應(yīng)用與應(yīng)用之間的數(shù)據(jù)交互,即各環(huán)節(jié)之間究竟發(fā)生了什么颤专。因而能夠看到日志纽哥、Agent工具看不到的地方,為故障排查提供更多參考數(shù)據(jù)栖秕。
更多文章詳見:http://www.magedu.com/xwzx/linuxxx