凌云
摘要:隨著電信企業(yè)業(yè)務規(guī)模的不斷擴大,網(wǎng)元數(shù)量不斷增多,待處理和維護的數(shù)據(jù)量也與日俱增,數(shù)據(jù)類型更呈多樣化發(fā)展,這給企業(yè)信息網(wǎng)絡的管理與維護工作提出了新的要求。傳統(tǒng)的管理模式過于細化,將網(wǎng)絡內(nèi)的所有組件作為管理單元,在大規(guī)模網(wǎng)絡中的運行效率低下,同時也缺乏針對應用性能的統(tǒng)一監(jiān)測,更無法滿足端到端的用戶管理要求,迫切需要改進。APM模式以業(yè)務整體為管理對象,很好地提高了網(wǎng)絡性能管理效率,該文結(jié)合電信企業(yè)業(yè)務實際,對傳統(tǒng)監(jiān)控模式存在的問題進行了細致的分析,以APM技術為核心,設計了一款實用性的網(wǎng)絡性能管理系統(tǒng),具有一定的推廣應用價值。
關鍵詞:應用性能;端到端;APM
中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2018)25-0027-02
1 引言
APM(Application Performance Management)是近年來衍生的一種新型應用性能管理理念,該技術通過高效的網(wǎng)絡通信大規(guī)模的數(shù)據(jù)分析,將管轄區(qū)域內(nèi)的各類網(wǎng)元設備集中協(xié)調(diào)、統(tǒng)一管理,將原本垂直模式的分散管理工作轉(zhuǎn)變?yōu)榛谀硹l業(yè)務對應的數(shù)據(jù)傳輸鏈整體進行管理,并從多個層面對網(wǎng)絡性能進行評測。APM針對業(yè)務邏輯中可能出現(xiàn)的性能異常情況能夠進行快速的預判與分析,并采取合理的應對措施予以快速排查與處理,盡可能地減少異常與故障情況帶來的負面影響。APM技術的出現(xiàn),極大地提高了原信息網(wǎng)絡系統(tǒng)中故障點搜索的準確性與快捷性,因此從整體上顯著提高了系統(tǒng)的表現(xiàn)性能。本文將該技術同電信企業(yè)業(yè)務性能管理工作相結(jié)合,設計了一套實用性較高的網(wǎng)絡性能管理系統(tǒng),顯著地改善了電信企業(yè)對網(wǎng)絡性能的監(jiān)控效率。
2 傳統(tǒng)的監(jiān)控模式存在的問題分析
在傳統(tǒng)的電信網(wǎng)絡性能管理工作中,絕大多數(shù)采取的都是“自下而上”的監(jiān)控模式,即首先針對底層的各個節(jié)點設施(包括各類網(wǎng)絡節(jié)點設備、服務器、存儲設備、中間件和數(shù)據(jù)庫等IT資產(chǎn))的工作狀態(tài),或者根據(jù)底層的數(shù)據(jù)流量的變化情況進行監(jiān)控與統(tǒng)計,并將這些可能存在故障的信息結(jié)合上層的工作狀態(tài)(如數(shù)據(jù)層、網(wǎng)絡層、APP層等)進行綜合分析,直至判斷出導致用戶端出現(xiàn)性能異常的根本原因。該模式針對單一化的網(wǎng)絡和小規(guī)模的節(jié)點設施群較為有效,但其缺點是缺乏統(tǒng)一的業(yè)務和IT視圖,只能針對各個設備的運行狀態(tài)進行監(jiān)管,而無法從業(yè)務角度去衡量IT服務質(zhì)量,因此在大規(guī)模數(shù)據(jù)存儲及通信的場合中,無法實現(xiàn)高效的端到端的用戶體驗和應用管理,另一方面,隨著企業(yè)規(guī)模的不斷擴大,目前在電信企業(yè)中,云化分布式X86、SOA架構(gòu)機器繁多,而在這種異構(gòu)性較大的設施群中進行大規(guī)模的數(shù)據(jù)交換與資源調(diào)用,其業(yè)務關系的復雜程度是非常高的,這都給網(wǎng)絡性能管理工作的開展造成了困難。圖1描述了在分布式應用的復雜環(huán)境中可能會出現(xiàn)的各種故障。
觀察圖1可以發(fā)現(xiàn),在眾多異構(gòu)節(jié)點群中,應用性能瓶頸與故障可能發(fā)生于各個層次中的設施,而對這些故障信息的判斷難度是非常高的,也幾乎不可能根據(jù)用戶端出現(xiàn)的異常類型來準確定位故障發(fā)生的具體位置,出現(xiàn)該問題的原因就是傳統(tǒng)的監(jiān)控與管理模式存在的以下不足之處:
(1)信息采集手段單一,技術缺乏多樣化,無法延展至客戶端的“最后一公里”,尤其是針對客戶端的感知方法功能不足;
(2)云化分布式、SOA架構(gòu)的大規(guī)模運用導致系統(tǒng)業(yè)務復雜性大大提高,目前的監(jiān)控方法缺少對業(yè)務辦理全路徑下各個環(huán)節(jié)的統(tǒng)一管控,故障定位困難;
(3)缺乏高效的IT技術工具,無法為管理人員提供快捷可靠的功能輔助。
因此,采用多樣化的監(jiān)控技術,改變傳統(tǒng)模式下針對各個節(jié)點設施的自下而上的監(jiān)控方法,轉(zhuǎn)為使用針對業(yè)務性能的從端到端的統(tǒng)一的監(jiān)管模式,將會大大提高電信網(wǎng)絡的管理效率,及時排查與解決異常,改善用戶體驗。
3 APM系統(tǒng)的設計與實現(xiàn)
3.1 APM系統(tǒng)監(jiān)控方案的設計
APM系統(tǒng)同傳統(tǒng)的IT管理系統(tǒng)相比,其最大的特點是更加側(cè)重從應用表現(xiàn)方面來對網(wǎng)絡和數(shù)據(jù)處理服務的性能狀態(tài)進行監(jiān)測與分析,并從全局角度快速判定故障與異常的發(fā)生點。因此,APM首先就將各種應用服務與業(yè)務作為監(jiān)管對象,并采用各種技術對其進行實時監(jiān)測,收集大量的性能數(shù)據(jù)后加以提煉分析,其數(shù)據(jù)采集的方式主要有以下兩種:
(1) 模擬用戶監(jiān)控方式:該方法屬于主動監(jiān)測方法,需要在APM系統(tǒng)中配置一定數(shù)量的測試終端,用以模擬真實用戶向各類服務器發(fā)起服務請求,從而記錄這些服務器的反饋信息以及響應時延,最終得出監(jiān)測對象較為精確的應用運行狀態(tài)和服務質(zhì)量,尤其對于測試范圍廣、測試對象明確的場合,該方法能夠充分地體現(xiàn)其準確性和針對性的優(yōu)勢,但由于該方法的測試過程等同于用戶的直接操作行為,因此其測試精度隨著測試終端數(shù)量的增長而提高,但后者的增多將會不可避免的增大整個網(wǎng)絡的開銷,以及各個服務器的負載,形成負面影響。
(2) 監(jiān)聽型方式:該方法屬于被動監(jiān)測方法,主要通過監(jiān)聽端口鏡像、多路轉(zhuǎn)發(fā)以及鏈路串接等方式收集網(wǎng)絡中傳輸?shù)挠脩魯?shù)據(jù)報、信令數(shù)據(jù)包(OAM) 或者管理信息(SNMP MIB/RMON),同時監(jiān)測通過這些網(wǎng)絡節(jié)點的數(shù)據(jù)流量,從而對該區(qū)域內(nèi)的應用服務性能進行評估。該方法的優(yōu)點在于不會對網(wǎng)絡通信資源和服務器資源造成額外的消耗,但缺點在于僅能獲得局部網(wǎng)絡的信息,評估結(jié)論有一定的片面性,尤其對于大型網(wǎng)絡而言,該方法無論在精確性方面還是在穩(wěn)定性方面都無法達到令人滿意的水平。
本次APM系統(tǒng)的設計方案采取了將以上兩種方法有機結(jié)合的方式,既考慮到了監(jiān)控系統(tǒng)本身對網(wǎng)絡性能造成的影響,又確保了數(shù)據(jù)采集的準確性,保障了網(wǎng)絡和應用服務的正常運行。圖2給出了本系統(tǒng)的網(wǎng)絡拓撲結(jié)構(gòu)。
如上圖所示,系統(tǒng)中的測試終端可對任一服務器發(fā)送服務申請,并記錄該服務器的應答狀況,將采集到的信息進行分類匯總后,傳輸至系統(tǒng)中的APM服務器進行后續(xù)的分析計算,并得出對被測對象的性能評估結(jié)果,同時也針對異常數(shù)據(jù)的特征來對本系統(tǒng)內(nèi)的性能瓶頸和故障點進行快速的定位于排查;測試終端的位置可靈活的根據(jù)測試需求配置到最接近待測用戶的區(qū)域,以確保測試結(jié)果最大限度地貼近用戶的真實體驗;各測試終端的開啟測試時間也可由管理員進行靈活調(diào)整,以達到最佳測試效果。監(jiān)聽型方式的采集器可針對某個應用服務在運行過程中發(fā)生的數(shù)據(jù)流進行監(jiān)聽,分析獲取到的應用數(shù)據(jù)包的數(shù)量與狀態(tài)是否處于正常范圍之內(nèi),從而判斷是否出現(xiàn)了應用性能問題,同時也可通過過濾分析計算出該應用服務的業(yè)務量和使用頻率。這些數(shù)據(jù)匯總后傳輸至APM系統(tǒng)中,通過一系列的優(yōu)化管理措施,可有效地實現(xiàn)負載均衡的效果。此外,APM系統(tǒng)將獲取的各種應用性能數(shù)據(jù)持久化,通過數(shù)據(jù)的不斷累積,向管理員提供更加直觀的數(shù)據(jù)變化趨勢,幫助管理員更好地調(diào)整監(jiān)控策略,不斷改善系統(tǒng)性能。
3.2 APM系統(tǒng)層次框架設計
由于電信企業(yè)應用服務種類眾多,采用的技術也多種多樣,因此本系統(tǒng)在設計過程中,充分強調(diào)了其兼容性能,目前,該系統(tǒng)可有效地對J2EE、.Net、PHP、Python等多種技術或平臺研發(fā)的信息系統(tǒng)進行管理,圖3則以J2EE技術為了進行了說明。
本系統(tǒng)主要包括的組件如下:
(1) Application探針:該部件部署在各個應用服務器中的Java虛擬機上,負責與各種類型的監(jiān)聽設備進行交互,接受末梢節(jié)點反饋回的各種性能參數(shù)并加以分析,其管理與分析的數(shù)據(jù)對象包括J2EE服務器進程的運行狀態(tài)、EJB和Java Bean中的對象與方法狀態(tài)信息等。如圖可見,該組件在完成其任務后,需將分析結(jié)果通過HTTP協(xié)議傳輸至Application管理服務器。
(2) Application管理服務器:該組件首先負責接受從Application探針處傳來的性能數(shù)據(jù),在對數(shù)據(jù)進行審核確認后,將其分類存儲,并通過數(shù)據(jù)庫進行可靠管理;另一方面,該服務器同樣需要采用各類分析軟件對這些數(shù)據(jù)進行加工,最終形成可視化的圖表呈交用戶;在處理異常方面,該服務器采用快速匹配關聯(lián)的方法,結(jié)合預設的安全指標閾值判斷網(wǎng)絡中的各項業(yè)務是否出現(xiàn)異常,需要時將啟動報警功能,確保系統(tǒng)的安全性。
(3) Application人機交互界面:為了提高系統(tǒng)的可維護性與靈活性,本次設計工作采用了Web技術完成了人機交互操作的各項功能,經(jīng)過實地測試,功能分布合理,界面跳轉(zhuǎn)與管理業(yè)務邏輯相吻合,較為可靠的實現(xiàn)了系統(tǒng)的實用性和便捷性。
4 總結(jié)
本文對目前電信企業(yè)網(wǎng)絡和業(yè)務性能管理工作中存在的問題進行了細致的分析與探討,并提出了采用APM技術構(gòu)建新型網(wǎng)絡及業(yè)務性能管理系統(tǒng)的設計思路,以此為基礎,結(jié)合多種網(wǎng)絡性能監(jiān)測技術,對企業(yè)級網(wǎng)絡運維系統(tǒng)進行了改進和優(yōu)化,實現(xiàn)了端到端的網(wǎng)絡性能監(jiān)控目標。目前在網(wǎng)絡通信和大規(guī)模數(shù)據(jù)處理領域,更多學者提出采用智能算法參與到數(shù)據(jù)分析和判別過程,從而提升網(wǎng)絡性能監(jiān)控質(zhì)量的技術路線。相信隨著更多研究成果的問世,電信企業(yè)網(wǎng)絡性能管理將會更上一個臺階,為用戶提供更優(yōu)質(zhì)的服務。
參考文獻:
[1] 陳鵬.基于Android應用的性能監(jiān)控系統(tǒng)的研究與實現(xiàn)[D].廣州:華南理工大學, 2015.
[2] FelixW,Wolfgang G,Helmut K. Using Dynatrace Monitoring Data for Generating Performance Models of Java EE Applications[C].Proceedings of the 6th ACM/SPEC International Conference on Performance Engineering. ACM,2015:103-104.
[3] 梁晟,李明樹,梁金能等.一種模擬驅(qū)動的Web應用程序性能測試方法[J].計算機研究發(fā)展,2003,40(7):1069-1075.
【通聯(lián)編輯:代影】