APM系統(tǒng)中網(wǎng)絡(luò)協(xié)議分析引擎的設(shè)計(jì)與實(shí)現(xiàn)
發(fā)布時(shí)間:2020-06-02 09:01
【摘要】:現(xiàn)如今互聯(lián)網(wǎng)發(fā)展迅速,越來越多的企業(yè)都選擇投入互聯(lián)網(wǎng)的懷抱,但是多數(shù)企業(yè)最關(guān)心的往往是其業(yè)務(wù)邏輯,而忽略了對(duì)應(yīng)用程序性能的監(jiān)控。隨著時(shí)間的推移,企業(yè)對(duì)應(yīng)用程序性能監(jiān)控的需求日益強(qiáng)烈。因此,APM(Application Performance Monitor,應(yīng)用性能監(jiān)控)系統(tǒng)應(yīng)運(yùn)而生,解決了應(yīng)用程序的性能監(jiān)控問題。APM系統(tǒng)有多種采集性能數(shù)據(jù)的方式,其中最主要的兩種是探針式采集和網(wǎng)絡(luò)采集。對(duì)于一些傳統(tǒng)的行業(yè)如銀行系統(tǒng),其對(duì)于探針采集的方式抱有顧慮,擔(dān)心這種方式可能有潛在的性能問題以及安全問題,因此不予采用。他們更容易接受網(wǎng)絡(luò)采集的方式,F(xiàn)有的網(wǎng)絡(luò)采集方式主要分為兩種,一種是通過交換機(jī)等硬件設(shè)備進(jìn)行分光獲取,但現(xiàn)如今企業(yè)應(yīng)用逐漸向云端遷移,由于云環(huán)境具有高度的伸縮性、動(dòng)態(tài)性、虛擬性,這種網(wǎng)絡(luò)采集方式已經(jīng)無法準(zhǔn)確獲取到應(yīng)用程序的通信數(shù)據(jù)。另外一種是通過開源抓包軟件如Tcpdump\Wireshark等,這些軟件可以在云環(huán)境中正常采集到網(wǎng)絡(luò)數(shù)據(jù),但是由于這些軟件無法對(duì)應(yīng)用層的協(xié)議進(jìn)行詳細(xì)分析,并且無法解決數(shù)據(jù)包亂序的問題,同時(shí)還可能存在丟包現(xiàn)象,因此不能滿足APM系統(tǒng)的需要。為此,本文提出了一種新型的基于網(wǎng)絡(luò)采集的APM系統(tǒng),設(shè)計(jì)并實(shí)現(xiàn)了其中的網(wǎng)絡(luò)協(xié)議分析引擎——Netsniffer,彌補(bǔ)了傳統(tǒng)網(wǎng)絡(luò)APM系統(tǒng)無法適應(yīng)云環(huán)境的缺陷,解決了現(xiàn)有開源網(wǎng)絡(luò)分析工具無法對(duì)網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行深度分析的問題,同時(shí)解決了網(wǎng)絡(luò)丟包問題和TCP數(shù)據(jù)包亂序問題。
【圖文】:
圖2.1天旦部署方式逡逑天旦的產(chǎn)品主要分為兩個(gè)子系統(tǒng),一個(gè)是Smart邋Probe,這是一個(gè)流量捕獲系逡逑統(tǒng),另一個(gè)是CrossFlowNPM,這是整個(gè)NPM系統(tǒng)的數(shù)據(jù)處理中心,同時(shí)向客逡逑戶端提供了查詢接口,用于展示網(wǎng)絡(luò)數(shù)據(jù)。逡逑可以看到,為了實(shí)現(xiàn)對(duì)整個(gè)網(wǎng)絡(luò)狀況的數(shù)據(jù)抓取,天旦的產(chǎn)品需要在每?jī)蓚(gè)逡逑網(wǎng)絡(luò)節(jié)點(diǎn)之間部署Smart邋Probe,并且在特定的路由器上也要獲取一部分的IPFIX逡逑數(shù)據(jù)。這樣的部署成本較高。并且一旦用戶的系統(tǒng)想要往云環(huán)境中遷移,這種復(fù)逡逑雜的數(shù)據(jù)抓取方式,就變得不可用。逡逑因此,對(duì)于傳統(tǒng)的基于硬件抓包的產(chǎn)品,己經(jīng)不能滿足現(xiàn)在云計(jì)算的發(fā)展趨逡逑勢(shì)了,從而需要考慮使用軟件抓包的方式,來實(shí)現(xiàn)在云環(huán)境中抓取網(wǎng)絡(luò)數(shù)據(jù)實(shí)現(xiàn)逡逑分析的功能。逡逑2.2基于軟件抓包的底層庫(kù)逡逑Netsniffer的最基礎(chǔ)的技術(shù)就是網(wǎng)絡(luò)抓包,因此如何高效準(zhǔn)確地抓取網(wǎng)絡(luò)數(shù)據(jù)逡逑是首要的任務(wù),幸運(yùn)的是目前有很多抓包的方案可供選擇。逡逑
圖3.1邋APM系統(tǒng)架構(gòu)圖逡逑(1)邐Netsniffer逡逑這便是本文研究的主要內(nèi)容,其安裝部署在客戶的服務(wù)器主機(jī)或者Docker逡逑容器中,通過旁路監(jiān)聽的方式抓取網(wǎng)絡(luò)數(shù)據(jù)包,并對(duì)其進(jìn)行還原,,通過Netsniflfer逡逑可以獲取到網(wǎng)絡(luò)中真實(shí)發(fā)生的各種網(wǎng)絡(luò)協(xié)議信息,可以用來統(tǒng)計(jì)各個(gè)端口的進(jìn)出逡逑口流量,如果是HTTP協(xié)議的話,可以統(tǒng)計(jì)出不同URL的耗時(shí),頻率等信息。逡逑(2)邐DataCollector逡逑DataCollector處于客戶內(nèi)外網(wǎng)環(huán)境的結(jié)合處,正常情況下,Netsniffer無法將逡逑采集到的數(shù)據(jù)直接發(fā)送給數(shù)據(jù)處理分析中心,因此在客戶方,需要將Netsniffer逡逑采集到的數(shù)據(jù)發(fā)送給DataCollector,因?yàn)槠涮幱趦?nèi)外網(wǎng)交界處,因此可以與后臺(tái)逡逑的數(shù)據(jù)處理分析中心進(jìn)行數(shù)據(jù)交互,故由其負(fù)責(zé)將數(shù)據(jù)進(jìn)行轉(zhuǎn)發(fā),通過ZMQ協(xié)逡逑議發(fā)送至邋DataAnalysis。逡逑(3)邐DataAnalysis逡逑DataAnalysis是數(shù)據(jù)處理分析中心最重要的組件,主要完成以下幾個(gè)功能:逡逑1)拓?fù)鋱D的分析,這是通過HTTP協(xié)議、MySQL協(xié)議和Redis協(xié)議的數(shù)據(jù)逡逑
【學(xué)位授予單位】:浙江大學(xué)
【學(xué)位級(jí)別】:碩士
【學(xué)位授予年份】:2018
【分類號(hào)】:TP393.09
本文編號(hào):2692923
【圖文】:
圖2.1天旦部署方式逡逑天旦的產(chǎn)品主要分為兩個(gè)子系統(tǒng),一個(gè)是Smart邋Probe,這是一個(gè)流量捕獲系逡逑統(tǒng),另一個(gè)是CrossFlowNPM,這是整個(gè)NPM系統(tǒng)的數(shù)據(jù)處理中心,同時(shí)向客逡逑戶端提供了查詢接口,用于展示網(wǎng)絡(luò)數(shù)據(jù)。逡逑可以看到,為了實(shí)現(xiàn)對(duì)整個(gè)網(wǎng)絡(luò)狀況的數(shù)據(jù)抓取,天旦的產(chǎn)品需要在每?jī)蓚(gè)逡逑網(wǎng)絡(luò)節(jié)點(diǎn)之間部署Smart邋Probe,并且在特定的路由器上也要獲取一部分的IPFIX逡逑數(shù)據(jù)。這樣的部署成本較高。并且一旦用戶的系統(tǒng)想要往云環(huán)境中遷移,這種復(fù)逡逑雜的數(shù)據(jù)抓取方式,就變得不可用。逡逑因此,對(duì)于傳統(tǒng)的基于硬件抓包的產(chǎn)品,己經(jīng)不能滿足現(xiàn)在云計(jì)算的發(fā)展趨逡逑勢(shì)了,從而需要考慮使用軟件抓包的方式,來實(shí)現(xiàn)在云環(huán)境中抓取網(wǎng)絡(luò)數(shù)據(jù)實(shí)現(xiàn)逡逑分析的功能。逡逑2.2基于軟件抓包的底層庫(kù)逡逑Netsniffer的最基礎(chǔ)的技術(shù)就是網(wǎng)絡(luò)抓包,因此如何高效準(zhǔn)確地抓取網(wǎng)絡(luò)數(shù)據(jù)逡逑是首要的任務(wù),幸運(yùn)的是目前有很多抓包的方案可供選擇。逡逑
圖3.1邋APM系統(tǒng)架構(gòu)圖逡逑(1)邐Netsniffer逡逑這便是本文研究的主要內(nèi)容,其安裝部署在客戶的服務(wù)器主機(jī)或者Docker逡逑容器中,通過旁路監(jiān)聽的方式抓取網(wǎng)絡(luò)數(shù)據(jù)包,并對(duì)其進(jìn)行還原,,通過Netsniflfer逡逑可以獲取到網(wǎng)絡(luò)中真實(shí)發(fā)生的各種網(wǎng)絡(luò)協(xié)議信息,可以用來統(tǒng)計(jì)各個(gè)端口的進(jìn)出逡逑口流量,如果是HTTP協(xié)議的話,可以統(tǒng)計(jì)出不同URL的耗時(shí),頻率等信息。逡逑(2)邐DataCollector逡逑DataCollector處于客戶內(nèi)外網(wǎng)環(huán)境的結(jié)合處,正常情況下,Netsniffer無法將逡逑采集到的數(shù)據(jù)直接發(fā)送給數(shù)據(jù)處理分析中心,因此在客戶方,需要將Netsniffer逡逑采集到的數(shù)據(jù)發(fā)送給DataCollector,因?yàn)槠涮幱趦?nèi)外網(wǎng)交界處,因此可以與后臺(tái)逡逑的數(shù)據(jù)處理分析中心進(jìn)行數(shù)據(jù)交互,故由其負(fù)責(zé)將數(shù)據(jù)進(jìn)行轉(zhuǎn)發(fā),通過ZMQ協(xié)逡逑議發(fā)送至邋DataAnalysis。逡逑(3)邐DataAnalysis逡逑DataAnalysis是數(shù)據(jù)處理分析中心最重要的組件,主要完成以下幾個(gè)功能:逡逑1)拓?fù)鋱D的分析,這是通過HTTP協(xié)議、MySQL協(xié)議和Redis協(xié)議的數(shù)據(jù)逡逑
【學(xué)位授予單位】:浙江大學(xué)
【學(xué)位級(jí)別】:碩士
【學(xué)位授予年份】:2018
【分類號(hào)】:TP393.09
【參考文獻(xiàn)】
相關(guān)期刊論文 前2條
1 趙建立;吳聰聰;;Wireshark在《計(jì)算機(jī)網(wǎng)絡(luò)》教學(xué)中的應(yīng)用研究[J];現(xiàn)代計(jì)算機(jī);2013年05期
2 石樂義;戚平;;計(jì)算機(jī)網(wǎng)絡(luò)課程原始套接字編程實(shí)驗(yàn)的實(shí)踐探索[J];計(jì)算機(jī)教育;2010年23期
相關(guān)碩士學(xué)位論文 前2條
1 黃飛鋒;基于AOP的應(yīng)用性能管理框架的設(shè)計(jì)與實(shí)現(xiàn)[D];浙江大學(xué);2016年
2 劉青;PF_RING研究及其在網(wǎng)絡(luò)流高速采集中的應(yīng)用[D];昆明理工大學(xué);2009年
本文編號(hào):2692923
本文鏈接:http://sikaile.net/guanlilunwen/ydhl/2692923.html
最近更新
教材專著