?
基于RUM的在線網(wǎng)站監(jiān)控設(shè)計與實現(xiàn)
張華
(中國移動(深圳)有限公司,深圳 518000)
摘 要隨著競爭加劇,電信運營商從原來拼搶用戶資源的時代開始向比拼內(nèi)容、比拼服務(wù)轉(zhuǎn)變,保障電子渠道的正常穩(wěn)定運行更是重中之重。但現(xiàn)有支撐系統(tǒng)的監(jiān)控手段,對出現(xiàn)的用戶投訴系統(tǒng)響應(yīng)慢、不可用等情況,卻沒有好的方法去及時發(fā)現(xiàn)及時解決。本文基于HP公司RUM產(chǎn)品以及J2EE技術(shù),設(shè)計并實現(xiàn)了一套在線網(wǎng)站的監(jiān)控系統(tǒng)。實踐表明,該系統(tǒng)可以實時掌握用戶訪問電子渠道時的感知情況,實現(xiàn)用戶角度的在線網(wǎng)站監(jiān)控。
關(guān)鍵詞RUM;流量監(jiān)測;J2EE;門戶網(wǎng)站
電信運營商在實體營業(yè)廳辦理每筆業(yè)務(wù)的成本在10元以上,而通過電子渠道,成本將降至1~2角。相比實體渠道而言,電子渠道有以下4個方面的優(yōu)勢:提供方便快捷服務(wù)、降低營銷服務(wù)成本、降低實體廳壓力、增強客戶品牌認知,這些優(yōu)勢促進了電子渠道的興起,通過低成本渠道將具有競爭力的產(chǎn)品和服務(wù)順利的傳遞到客戶,已成為提升核心競爭力的重要手段。電子渠道在滿足客戶查詢以及受理需求的同時,怎樣保障運行的正常、提前預(yù)警故障,減少對客戶的影響,從而達到留住客戶的效果。總的來說,影響電子渠道體驗和感知的影響因素可以分成兩個方面:前端服務(wù)(包括查詢速度、數(shù)據(jù)及時性、易用性、展示界面、業(yè)務(wù)導(dǎo)航等)和后端支撐(包括網(wǎng)絡(luò)質(zhì)量、支撐系統(tǒng)等),而服務(wù)和支撐水平好壞體現(xiàn)在客戶使用電子渠道的體驗和感知上。怎樣從用戶角度去掌握和評價電子渠道支撐用戶訪問情況,是運維人員關(guān)注和迫切希望解決的難題。本文針對電子渠道中的網(wǎng)上營業(yè)廳,基于HP公司流量監(jiān)測技術(shù)產(chǎn)品RUM以及J2EE技術(shù),設(shè)計并實現(xiàn)了一套在線網(wǎng)站監(jiān)控系統(tǒng),用于從用戶角度出發(fā),實時展現(xiàn)網(wǎng)上營業(yè)廳服務(wù)用戶質(zhì)量。
針對網(wǎng)上營業(yè)廳之類的門戶網(wǎng)站,目前業(yè)內(nèi)主要使用兩種監(jiān)控技術(shù),分別是主動探測技術(shù)以及頁面標記法。
1.1 主動探測技術(shù)
主動探測技術(shù)主要是通過模擬用戶實際操作和系統(tǒng)做交互。因為訪問方法和實際用戶訪問基本一致,對系統(tǒng)來講,可認為該訪問發(fā)起方為真實用戶。按照實現(xiàn)原理的不同,主動探測技術(shù)實現(xiàn)分為兩種:回放方式探測和協(xié)議方式探測。
1.1.1 回放方式探測
通過控制瀏覽器或者系統(tǒng)軟件,將要在系統(tǒng)上做的操作以代碼的方式發(fā)送到瀏覽器或系統(tǒng)軟件上執(zhí)行,例如查詢網(wǎng)上營業(yè)廳某月賬單,探測過程為打開業(yè)務(wù)鏈接URL、點擊某個按鈕等,瀏覽器或者系統(tǒng)軟件的表現(xiàn)和人為操作完全一致。
業(yè)界比較知名的回放方式探測軟件為QTP(Quick Test Professional)、RFT(Rational Functional Tester)、Selenium、WebDriver以及SilkTest,QTP和RFT可以適用于任何系統(tǒng),Selenium、WebDriver、SilkTest僅適用于網(wǎng)站。
1.1.2 協(xié)議方式探測
當客戶操作瀏覽器或者系統(tǒng)軟件時,都是通過預(yù)設(shè)的協(xié)議和服務(wù)器端進行交互,例如客戶訪問網(wǎng)上營業(yè)廳是通過HTTP/HTTPS協(xié)議和服務(wù)器端進行實際交互。對服務(wù)器端來講,僅要求服務(wù)請求為特定協(xié)議包,不關(guān)心請求來源的客戶端實現(xiàn)方式,只要協(xié)議包格式滿足要求即可。協(xié)議方式探測通過模擬協(xié)議包和服務(wù)器端做實際交互。
主動探測方式的主要問題是需要解決探測過程中的圖形驗證碼、短信隨機碼等安全驗證手段,而出于被光學字符識別(OCR,Optical Character Recognition)后嚴重后果的擔憂,門戶網(wǎng)站驗證碼有越來越復(fù)雜的趨勢,自動識別越來越困難。
1.2 頁面標記法
頁面標記法采用的技術(shù)稱之為Page Tagging,就像在頁面上安裝了攝像頭,把訪問者在頁面上的一舉一動都記錄下來,然后傳遞給相關(guān)的需要了解這個網(wǎng)站的組織或者個人。
從原理講,頁面標記實際上是一段可以被瀏覽器執(zhí)行的JavaScript程序語句,放在頁面的HTML源文件中。當頁面被客戶訪問時,這段頁面標記JavaScript程序就會被執(zhí)行, 作用是如實的把訪問者在頁面上的互動訪問行為不間斷的發(fā)送給這個頁面標記所對應(yīng)的網(wǎng)站分析工具的服務(wù)器,這與攝像頭把拍攝到的圖像傳送給圖像存儲服務(wù)器是完全一樣的。網(wǎng)站分析工具服務(wù)器收到數(shù)據(jù)后,會進一步處理這些數(shù)據(jù),并且把數(shù)據(jù)翻譯成人們能夠閱讀和分析的圖形、表格以及數(shù)據(jù)文件。業(yè)界比較知名的頁面標記工具為WebTrends。
頁面標記法是一種不錯的監(jiān)控網(wǎng)站的方法,但其實現(xiàn)需要修改門戶網(wǎng)站代碼,存在使用風險。
2.1 流量監(jiān)測原理
如圖1所示,用戶訪問門戶網(wǎng)站時,訪問請求通常經(jīng)由一個交換機后,才能和支撐系統(tǒng)進行交互。當系統(tǒng)處理完用戶請求后,結(jié)果經(jīng)由該交換機反饋給最終用戶。也就是說,所有用戶請求和系統(tǒng)反饋在路徑上均經(jīng)由一個關(guān)鍵交換機,該交換機通常位于支撐系統(tǒng)的邊界處,常稱之為接入交換機。通過接入交換機鏡像端口,將用戶和支撐系統(tǒng)交互的HTTP和HTTPS報文抓取下來,經(jīng)過如下流程即可獲取到關(guān)鍵業(yè)務(wù)的訪問信息以及結(jié)果信息。
(1)通過接入交換機獲取交互流量數(shù)據(jù)分組,數(shù)據(jù)分組主要為HTTP和HTTPS協(xié)議包。為減少解析壓力,通過目的地IP和端口過濾掉冗余報文數(shù)據(jù)。例如網(wǎng)上營業(yè)廳的Web服務(wù)器IP為172.16.3.10、端口為8081,那么IP和端口無法完全匹配的報文被直接丟棄。
(2)對滿足要求的協(xié)議包報文頭進行解析。如果是HTTPS協(xié)議,需要對應(yīng)的解密密鑰,否則無法解析。
圖1 常見網(wǎng)絡(luò)架構(gòu)圖
通過業(yè)務(wù)URL過濾掉非需要的業(yè)務(wù)報文。
通過關(guān)鍵字在報文體中搜索,判定業(yè)務(wù)的訪問或辦理結(jié)果。
通過業(yè)務(wù)請求進入和結(jié)果返回經(jīng)過交換機的時間,可以得到支撐系統(tǒng)處理該業(yè)務(wù)請求的耗時情況。
2.2 真實用戶監(jiān)控(RUM)簡介
RUM(Real User Monitoring)是HP公司業(yè)務(wù)可用性中心(BAC,Business Availability Center)的重要組成部分,其實現(xiàn)采用了流量監(jiān)測技術(shù),其產(chǎn)品主要針對系統(tǒng)前端Web流量進行監(jiān)測,獲取用戶角度的業(yè)務(wù)響應(yīng)狀況。RUM可以7×24 h每天不間斷的監(jiān)測,可以從使用者的實際操作狀況,偵測出目前的系統(tǒng)反應(yīng)狀況是否有變差,甚至可以監(jiān)測到使用者訪問的有問題的網(wǎng)頁在哪里。在實際的應(yīng)用上,RUM是屬于服務(wù)器端的監(jiān)測模式,所以并不需要在客戶端部署監(jiān)測點,如此一來只需要監(jiān)測幾個特定的入口網(wǎng)絡(luò),即可達到全面監(jiān)測的目的。
RUM產(chǎn)品架構(gòu)圖如圖2所示,它包含了3個主要組件: 采集探針(Probe)、引擎(Engine)和MySQL數(shù)據(jù)庫,其所負責的功能分別如下。
采集探針:純軟件產(chǎn)品,部署在采集流量的主機上,而主機直接連接到交換機上。用戶的流量當最終通過交換機時,探針程序通過所在主機的網(wǎng)卡可以收集到最終用戶和應(yīng)用服務(wù)器(如Web Server)交互時的請求(Requests)及響應(yīng)(Response)的相關(guān)數(shù)據(jù)并進行數(shù)據(jù)過濾處理。
(1)引擎:純軟件產(chǎn)品,負責接收探針收集到的數(shù)據(jù),并將這些數(shù)據(jù)依據(jù)預(yù)設(shè)的流程加以整理與組合。首先引擎程序會將所收集到的應(yīng)用、頁面、交易、會話、最終用戶、服務(wù)器等數(shù)據(jù)加以整理歸類,然后再依據(jù)所設(shè)定的告警、報表與儀表板的項目加以分類處理。
(2)MySQL數(shù)據(jù)庫:負責存放引擎尚未傳遞到監(jiān)控系統(tǒng)的數(shù)據(jù),在網(wǎng)絡(luò)發(fā)生暫時性中斷時,可以保存所有的分析數(shù)據(jù),避免數(shù)據(jù)丟失。另外MySQL數(shù)據(jù)庫也會存放引擎相關(guān)的配置信息。
3.1 監(jiān)控系統(tǒng)架構(gòu)
軟件架構(gòu)如圖3所示,參照IT行業(yè)內(nèi)軟件架構(gòu)設(shè)計的成熟經(jīng)驗,共分為4層,從上到下分別是展示層、數(shù)據(jù)層、控制層以及采集層。
3.1.1 展示層
展示層是整個系統(tǒng)的入口,通過統(tǒng)一的門戶Portal,主要提供兩方面功能。一是可視化、多維度、快速展現(xiàn)監(jiān)控結(jié)果和告警信息;二是通過可視化的友好界面,配置需要采集的網(wǎng)廳關(guān)鍵業(yè)務(wù)信息、告警策略以及事件策略。
3.1.2 數(shù)據(jù)層
用于處理采集引擎采集到的用戶和網(wǎng)上營業(yè)廳交互的數(shù)據(jù)信息,處理完成的數(shù)據(jù)將依據(jù)運維人員需求以及管理需求進行分析、匯總,以方便展示層快速展現(xiàn)。
圖2 RUM架構(gòu)圖
3.1.3 業(yè)務(wù)控制層
用于控制整個監(jiān)控系統(tǒng)的業(yè)務(wù)邏輯。核心模塊的功能如下。
(1)通過調(diào)度管理模塊控制采集業(yè)務(wù)的頻率和時間。
(2)通過配置管理控制采集的業(yè)務(wù)。
(3)通過配置同步模塊將需要采集的業(yè)務(wù)數(shù)據(jù)和頻率同步到RUM軟件中。
(4)通過子監(jiān)控模塊監(jiān)控系統(tǒng)自身運行情況以及數(shù)據(jù)采集情況,并自動將告警信息發(fā)送到數(shù)據(jù)層告警模塊。
3.1.4 數(shù)據(jù)采集層
用于采集用戶和網(wǎng)上營業(yè)廳交互的業(yè)務(wù)數(shù)據(jù),并依據(jù)控制層配置管理模塊中的IP、端口信息以及業(yè)務(wù)URL信息,過濾、清洗不需要的報文,減少后期解析報文的工作量。
3.2 監(jiān)控系統(tǒng)工作流程
本監(jiān)控系統(tǒng)角色和工作流程如圖4所示。系統(tǒng)角色包含管理人員、業(yè)務(wù)人員以及維護人員,以保證整個系統(tǒng)的穩(wěn)定運行以及發(fā)現(xiàn)問題的及時處理,系統(tǒng)的工作流程如下。
(1)管理人員依據(jù)系統(tǒng)關(guān)鍵點或隱患點提出新的監(jiān)控要求。
(2)業(yè)務(wù)人員分析要求,并依據(jù)要求制定出監(jiān)控范圍和監(jiān)控指標,范圍涵蓋需監(jiān)控的關(guān)鍵業(yè)務(wù)、關(guān)鍵應(yīng)用環(huán)節(jié)。監(jiān)控指標指成功率、時長、業(yè)務(wù)量、用戶數(shù)等。在此基礎(chǔ)上和管理人員確認需求并作為下一步的輸入。
(3)業(yè)務(wù)人員依據(jù)定稿需求完成監(jiān)控設(shè)計規(guī)劃,并制定監(jiān)控流程和告警規(guī)則。
(4)維護人員依據(jù)制定的監(jiān)控和告警流程,在系統(tǒng)配置界面上進行業(yè)務(wù)規(guī)則、告警規(guī)則以及監(jiān)控頻率的配置,然后通過調(diào)試進行配置確認工作,以確保配置的正確有效,最后同步到RUM軟件上使用。
(5)在系統(tǒng)正式運行后,維護人員依據(jù)監(jiān)控結(jié)果數(shù)據(jù)進行分析。針對異常的數(shù)據(jù),如果是因為網(wǎng)站更新引起的配置異常,更新業(yè)務(wù)配置并進行調(diào)試;如果是網(wǎng)站異常,知會網(wǎng)站維護人員跟進解決。
圖3 全流程監(jiān)控系統(tǒng)架構(gòu)圖
圖4 監(jiān)控系統(tǒng)工作流程圖
4.1 數(shù)據(jù)采集自動化功能實現(xiàn)
本系統(tǒng)的數(shù)據(jù)采集基于RUM產(chǎn)品實現(xiàn),雖然RUM提供了強大的、全面的監(jiān)控功能,但并不能完全滿足運營監(jiān)控的實際需要,故本系統(tǒng)中使用RUM軟件獲取用戶和系統(tǒng)的交互信息,主要處理HTTP以及HTTPS協(xié)議的數(shù)據(jù)。當從交換機鏡像端口獲取到數(shù)據(jù)流量后,經(jīng)過采集探針的解析,轉(zhuǎn)換為標準格式的業(yè)務(wù)和流程數(shù)據(jù)。
因為僅采用了RUM作為數(shù)據(jù)采集工具,從整個監(jiān)控系統(tǒng)的配置入口統(tǒng)一、易維護考慮,所有業(yè)務(wù)信息的配置需要自行開發(fā)實現(xiàn),并記錄到數(shù)據(jù)庫中,然后通過RUM產(chǎn)品的API接口,將配置信息同步到RUM中使用。
表1為業(yè)務(wù)信息配置表,用于指定業(yè)務(wù)信息。表格中URL字段和參數(shù)字段用于和報文頭中請求地址進行比對,以判定當前報文是否為業(yè)務(wù)對應(yīng)的報文,成功關(guān)鍵字用于檢索報文體,以判定用戶的訪問結(jié)果是否成功。
表2為資源信息配置表,用于架構(gòu)中的采集層過濾冗余數(shù)據(jù)信息。通過地址、端口兩個字段和報文頭的比對,可以將非需要的報文快速丟棄。
4.2 業(yè)務(wù)數(shù)據(jù)匯總與展示實現(xiàn)
從運維需求以及管理需求出發(fā),將最終數(shù)據(jù)的展示維度分為時間、業(yè)務(wù)名稱、瀏覽器類型、來訪地市、號碼歸屬地市以及品牌,將展示指標分為業(yè)務(wù)量、成功率、客戶感知時長、服務(wù)器時長以及用戶數(shù)。考慮到靈活展示以及動態(tài)擴展字段的需要,采用ESSBASE軟件作為數(shù)據(jù)的展示軟件,并集成到監(jiān)控系統(tǒng)中,在瀏覽器中通過維度和指標的增、刪以及下鉆功能動態(tài)、靈活展現(xiàn)。
某電信運營商某省份采用本文所述方案建立了針對網(wǎng)上營業(yè)廳的實時監(jiān)控系統(tǒng),通過業(yè)務(wù)流量信息的獲取和分析,得到關(guān)鍵業(yè)務(wù)多個維度的成功率、業(yè)務(wù)量、時長等信息。如圖5所示,2013年8月21日,監(jiān)控系統(tǒng)發(fā)現(xiàn)賬戶余額查詢等多個業(yè)務(wù)成功率明顯下降,系統(tǒng)按照預(yù)設(shè)的成功率閥值進行了告警,運維人員介入后,通過下鉆實時話費查詢業(yè)務(wù)到地市維度,發(fā)現(xiàn)B、E、F、G 4個地市的成功率為0%,確定本次故障影響了如上4個地市,將該4個地市的用戶訪問快速切換到了應(yīng)急系統(tǒng)后,用戶恢復(fù)訪問。后續(xù)分析發(fā)現(xiàn),發(fā)現(xiàn)該問題的原因為某BOSS分庫出現(xiàn)故障,覆蓋范圍恰好為該4個地市。
表1 業(yè)務(wù)信息配置表
表2 資源信息配置表
圖5 網(wǎng)廳監(jiān)控展示圖
本文給出了基于HP RUM產(chǎn)品的在線網(wǎng)站監(jiān)控系統(tǒng)的設(shè)計和實現(xiàn)方法。該系統(tǒng)從最終用戶使用角度出發(fā),充分利用可靠的網(wǎng)絡(luò)資源,幫助運維人員快速掌握系統(tǒng)支撐用戶訪問情況,提升問題的主動發(fā)現(xiàn)和提前預(yù)警能力,如從客戶角度體驗上線割接前后、業(yè)務(wù)高峰期間的系統(tǒng)健康度等。經(jīng)統(tǒng)計,該監(jiān)控系統(tǒng)上線后,業(yè)務(wù)可用性與感知投訴量下降了20%,BOSS故障影響時間減少了
10 min(每次),業(yè)務(wù)故障預(yù)警及時性提升了10 min。
參考文獻
[1]邢偉超, 高曉桐. 網(wǎng)頁自動化測試框架的設(shè)計與實現(xiàn)[J]. 計算機應(yīng)用與軟件, 2012(9).
[2]尹高嵩, 范輝. Web負載測試的研究與應(yīng)用[J]. 微機發(fā)展, 2004(10).
[3]常潤梅, 孟利青. 基于業(yè)務(wù)探測技術(shù)的電信服務(wù)體系研究[J].數(shù)字通信, 2013(5).
[4]陳紹英, 金成姬, 馮艷碩. LoadRunner虛擬用戶開發(fā)指南[M].北京:電子工業(yè)出版社, 2009.
[5]溫昱. 軟件架構(gòu)設(shè)計[M]. 北京:電子工業(yè)出版社, 2007.
Design and implementation of the online website monitoring based on RUM
ZHANG Hua
(China Mobile (Shenzhen)Co., Ltd., Shenzhen 518000, China)
Abstract As competition grows intensively, telecom operators begins to shift from the original era of grabbing user resources to the competing for content and services, and ensuring normal and stable operation of the electronic channels is a top priority. However, the existing monitoring tools of support system have no good way to discover and resolve timely the cases that the user complaints that the system response is slow or unavailable. A monitoring system of the online website is designed and implemented in this paper based on RUM product of HP company and J2EE technology. The practice shows that this system can perceive the situation when a user access to electronic channels in a real-time manner and achieve online website monitoring in the user’s perspective.
Keywords RUM; traffi c monitoring; J2EE; Web portals
收稿日期:2015-01-08
文章編號1008-5599(2015)02-0047-06
文獻標識碼A
中圖分類號TN915