周迪貴,陶鎮(zhèn)威
(廣西電網(wǎng)有限責(zé)任公司信息中心,廣西南寧530023)
WEB系統(tǒng)錯(cuò)誤頁(yè)面自動(dòng)檢測(cè)工具研究與實(shí)現(xiàn)
周迪貴,陶鎮(zhèn)威
(廣西電網(wǎng)有限責(zé)任公司信息中心,廣西南寧530023)
為了解決WEB系統(tǒng)功能菜單人工巡檢存在的效率低下、巡檢不到位問(wèn)題,從日常運(yùn)維實(shí)際出發(fā),根據(jù)B/S模式下WEB系統(tǒng)錯(cuò)誤頁(yè)面自動(dòng)檢測(cè)工具原理,開(kāi)發(fā)實(shí)現(xiàn)了一套高效、實(shí)用的WEB系統(tǒng)錯(cuò)誤頁(yè)面自動(dòng)化檢測(cè)工具。該工具可快速發(fā)現(xiàn)WEB系統(tǒng)錯(cuò)誤頁(yè)面,達(dá)到了自動(dòng)化巡檢的目的,應(yīng)用效果較好,可在各類WEB系統(tǒng)中推廣應(yīng)用。
WEB系統(tǒng);錯(cuò)誤頁(yè)面;自動(dòng)化巡檢
隨著信息化建設(shè)的快速發(fā)展,信息化與各行各業(yè)的融合更加緊密,信息系統(tǒng)在各業(yè)務(wù)領(lǐng)域發(fā)揮的作用越來(lái)越明顯,而保障信息系統(tǒng)持續(xù)安全穩(wěn)定運(yùn)行則成了IT運(yùn)維[1]人員面臨的重要挑戰(zhàn)。為了改變“救火式”、“被動(dòng)式”的運(yùn)維現(xiàn)狀,廣西電網(wǎng)有限責(zé)任公司(以下簡(jiǎn)稱:廣西電網(wǎng)公司)信息中心借鑒安全生產(chǎn)的成功經(jīng)驗(yàn),落實(shí)“一切事故事件可以預(yù)防”的理念,提出重要信息系統(tǒng)特巡特維[2]工作要求,定期開(kāi)展信息系統(tǒng)巡視檢查,爭(zhēng)取先于用戶發(fā)現(xiàn)問(wèn)題,及時(shí)解決問(wèn)題。資產(chǎn)管理系統(tǒng)是廣西電網(wǎng)公司重要信息系統(tǒng)之一,省級(jí)集中部署,“省、地、縣”三級(jí)應(yīng)用,若系統(tǒng)發(fā)生故障,業(yè)務(wù)影響面廣,恢復(fù)難度大。在開(kāi)展特巡特維工作過(guò)程中,需要對(duì)系統(tǒng)功能菜單進(jìn)行全面檢查驗(yàn)證,確保所有功能菜單可順暢使用,但由于系統(tǒng)功能菜單較多,人工巡檢效率低下、易疏漏,迫切需要研究開(kāi)發(fā)高效、實(shí)用的WEB系統(tǒng)錯(cuò)誤頁(yè)面自動(dòng)化檢測(cè)工具,通過(guò)技術(shù)手段提升系統(tǒng)持續(xù)安全穩(wěn)定運(yùn)行的能力。
根據(jù)特巡特維工作要求,資產(chǎn)管理系統(tǒng)的定期巡檢工作及系統(tǒng)更新升級(jí)之后,都需要對(duì)所有功能菜單進(jìn)行檢查驗(yàn)證,主要由運(yùn)維人員手工逐個(gè)點(diǎn)擊系統(tǒng)功能菜單,存在較為嚴(yán)重的效率低下、漏巡漏檢問(wèn)題:
1)人工巡檢效率低下。根據(jù)平常運(yùn)維經(jīng)驗(yàn),資產(chǎn)管理系統(tǒng)平均檢查驗(yàn)證一個(gè)功能菜單需要花費(fèi)4 s,而資產(chǎn)管理系統(tǒng)擁有超過(guò)1000個(gè)菜單頁(yè)面,完成一次全面巡檢的時(shí)間超過(guò)1 h。隨著各重要信息系統(tǒng)陸續(xù)上線運(yùn)行,低效的巡檢效率需要投入大量的人力物力,人力資源得不到合理利用。
2)漏巡漏檢幾率高。人工巡檢往往有偏向性,更關(guān)注常用功能菜單而忽視不常用但也很重要的功能菜單,同時(shí)人工長(zhǎng)時(shí)間進(jìn)行同一類型的重復(fù)操作較容易出現(xiàn)復(fù)檢漏檢的情況,若漏檢的功能菜單存在問(wèn)題,用戶緊急辦理業(yè)務(wù)時(shí)使用不暢,用戶滿意度將受到較大影響,IT運(yùn)維部門形象受損。經(jīng)分析,資產(chǎn)管理系統(tǒng)人工巡檢過(guò)程中不巡或者漏巡的功能菜單占比高達(dá)20%,對(duì)于及時(shí)發(fā)現(xiàn)系統(tǒng)存在問(wèn)題極其不利。
為了改變資產(chǎn)管理系統(tǒng)功能菜單落后的人工巡檢方式,研究開(kāi)發(fā)WEB系統(tǒng)錯(cuò)誤頁(yè)面自動(dòng)化檢測(cè)工具,提高系統(tǒng)巡檢工作效率,避免出現(xiàn)漏巡漏檢的情況,促進(jìn)運(yùn)維資源優(yōu)化分配;同時(shí)實(shí)現(xiàn)功能菜單巡檢結(jié)果報(bào)表分析,為系統(tǒng)性能分析提供數(shù)據(jù)支持。
3.1設(shè)計(jì)思路
1)廣西電網(wǎng)公司重要信息系統(tǒng)大部分屬于B/S模式[3]的WEB系統(tǒng),系統(tǒng)各功能菜單有固定的URL地址。因此,只需獲取被檢系統(tǒng)各菜單對(duì)應(yīng)的URL,然后遍歷模擬用戶點(diǎn)擊功能菜單的行為,再根據(jù)訪問(wèn)結(jié)果與預(yù)定義的錯(cuò)誤特征庫(kù)進(jìn)行匹配,即可輸出功能菜單對(duì)應(yīng)頁(yè)面訪問(wèn)正常與否的斷言結(jié)果。經(jīng)過(guò)抽樣調(diào)查,資產(chǎn)管理系統(tǒng)、財(cái)務(wù)管理系統(tǒng)等重要信息系統(tǒng),在架構(gòu)設(shè)計(jì)上都已將功能菜單名稱、路徑等信息存放到數(shù)據(jù)庫(kù)的某些表中,可輕松獲取各功能菜單的URL,進(jìn)一步驗(yàn)證了設(shè)計(jì)思路的可行性。
2)為了便于擴(kuò)展、簡(jiǎn)化開(kāi)發(fā)實(shí)現(xiàn)過(guò)程,選擇在Apache Jmeter、Fiddler、Apache-Ant三套開(kāi)源工具的基礎(chǔ)上進(jìn)行二次開(kāi)發(fā)及整合,搭建滿足自身運(yùn)維需求的WEB系統(tǒng)錯(cuò)誤頁(yè)面自動(dòng)檢測(cè)工具。Jmeter是工具二次開(kāi)發(fā)的核心,利用其本身提供的對(duì)外接口進(jìn)行JMX文件腳本編制,使其具有菜單檢測(cè)功能;Fiddler用于捕獲被檢測(cè)系統(tǒng)的登陸密文,為Jmeter提供登陸被檢測(cè)系統(tǒng)所需的參數(shù)信息;Apache-Ant用于輸出網(wǎng)頁(yè)版檢測(cè)報(bào)告,為用戶提供頁(yè)面檢測(cè)結(jié)果分析、頁(yè)面響應(yīng)時(shí)間分析等數(shù)據(jù)。
3.2實(shí)現(xiàn)過(guò)程
1)基礎(chǔ)環(huán)境變量自定義,變量包括應(yīng)用系統(tǒng)及數(shù)據(jù)庫(kù)服務(wù)兩個(gè)方面。應(yīng)用系統(tǒng)方面主要有訪問(wèn)地址、端口、用戶登錄帳號(hào)、用戶密碼(密文);數(shù)據(jù)庫(kù)服務(wù)方面主要有數(shù)據(jù)庫(kù)地址、帳號(hào)、密碼、查詢功能菜單名與功能菜單URL的SQL語(yǔ)句(數(shù)據(jù)庫(kù)相關(guān)變量只需在選擇直連數(shù)據(jù)庫(kù)方式獲取功能菜單信息時(shí)配置,另一種獲取功能菜單信息的方式是通過(guò)CSV配置文件)。
2)創(chuàng)建數(shù)據(jù)庫(kù)連接。第三方開(kāi)源工具內(nèi)置了JDBC驅(qū)動(dòng),只需要根據(jù)變量信息添加連接字符串即可完成數(shù)據(jù)庫(kù)連接配置,正常執(zhí)行數(shù)據(jù)庫(kù)查詢語(yǔ)句。
3)創(chuàng)建JDBC Request查詢功能菜單。通過(guò)JDBC數(shù)據(jù)庫(kù)連接,執(zhí)行事先定義好的數(shù)據(jù)庫(kù)SQL語(yǔ)句,查詢被檢測(cè)信息系統(tǒng)的所有功能菜單,查詢結(jié)果包括菜單名稱以及與之對(duì)應(yīng)URL。
4)創(chuàng)建HTTP請(qǐng)求采樣器。采樣器將記錄用戶登錄行為,獲取訪問(wèn)過(guò)程中使用的會(huì)話ID、密碼(密文),為后續(xù)系統(tǒng)菜單的檢測(cè)工作提供必要的登陸信息。
5)創(chuàng)建HTTP請(qǐng)求采樣器。采樣器負(fù)責(zé)模擬用戶訪問(wèn)菜單的行為,根據(jù)所有功能菜單的URL逐一發(fā)起請(qǐng)求進(jìn)行頁(yè)面訪問(wèn),然后記錄每個(gè)功能菜單的訪問(wèn)結(jié)果,分析每一次URL訪問(wèn)是否正常。
6)創(chuàng)建斷言規(guī)則。Jmeter將HTTP請(qǐng)求采樣器的結(jié)果與斷言規(guī)則進(jìn)行比對(duì),針對(duì)頁(yè)面的返回值進(jìn)行斷言,通過(guò)檢測(cè)的頁(yè)面顯示正常,沒(méi)有通過(guò)檢測(cè)則為異常,正常的結(jié)果代碼顯示為200,異常的結(jié)果代碼有500、404、403等。
7)創(chuàng)建“察看結(jié)果樹(shù)”。結(jié)果樹(shù)主要方便閱讀分析,可快速瀏覽檢測(cè)過(guò)程中錯(cuò)誤頁(yè)面與正確頁(yè)面的響應(yīng)情況,展現(xiàn)各功能菜單的詳細(xì)訪問(wèn)路徑和請(qǐng)求信息。
3.3自動(dòng)檢測(cè)工具特點(diǎn)
1)參數(shù)配置靈活。對(duì)不同的信息系統(tǒng)進(jìn)行功能菜單巡檢,只需修改系統(tǒng)訪問(wèn)地址、應(yīng)用賬號(hào)、登陸密文;對(duì)于提供數(shù)據(jù)庫(kù)查詢權(quán)限的系統(tǒng),僅需要配置數(shù)據(jù)庫(kù)地址、數(shù)據(jù)庫(kù)賬號(hào)、數(shù)據(jù)庫(kù)密碼、數(shù)據(jù)庫(kù)菜單查詢語(yǔ)句等參數(shù),而對(duì)于不方便提供數(shù)據(jù)庫(kù)任何訪問(wèn)權(quán)限的系統(tǒng),也可通過(guò)腳本讀取本地事先定義好的功能菜單CSV文件,靈活方便。自定義變量清單如下表1所示:
表1 自定義變量清單表
2)結(jié)果直觀易讀。WEB系統(tǒng)錯(cuò)誤頁(yè)面自動(dòng)檢測(cè)工具可提供詳細(xì)的錯(cuò)誤菜單路徑、錯(cuò)誤正文、頁(yè)面響應(yīng)時(shí)間,還可以將錯(cuò)誤信息導(dǎo)出網(wǎng)頁(yè)報(bào)告,便于分析功能菜單對(duì)應(yīng)頁(yè)面無(wú)法訪問(wèn)的錯(cuò)誤原因、可能存在的性能隱患等。如圖1所示:
圖1 網(wǎng)頁(yè)報(bào)告圖
3)頁(yè)面規(guī)則自定義。允許用戶在腳本中自定義關(guān)鍵字、錯(cuò)誤代碼和錯(cuò)誤規(guī)則,可對(duì)所有非HTTP200響應(yīng)狀態(tài)進(jìn)行檢測(cè),包括常見(jiàn)的500、404、403等錯(cuò)誤頁(yè)面,具有良好的可擴(kuò)展性。
WEB系統(tǒng)錯(cuò)誤頁(yè)面自動(dòng)檢測(cè)工具使資產(chǎn)管理系統(tǒng)的功能菜單巡檢效率提升8倍,解決了人工巡檢效率低下的問(wèn)題;漏巡漏檢的幾率下降至0%,有效避免了漏巡漏檢的情況發(fā)。人工檢測(cè)與工具檢測(cè)的效果對(duì)比如表2所示:
表2 巡檢效果對(duì)比表
本文從IT運(yùn)維現(xiàn)狀出發(fā),結(jié)合第三方開(kāi)源軟件,研發(fā)了WEB系統(tǒng)錯(cuò)誤頁(yè)面自動(dòng)檢測(cè)工具,工具簡(jiǎn)單、實(shí)用,能有效解決了資產(chǎn)管理系統(tǒng)的日常運(yùn)維問(wèn)題,是開(kāi)拓運(yùn)維思路、通過(guò)技術(shù)手段提升運(yùn)維水平的具體舉措,該錯(cuò)誤頁(yè)面自動(dòng)檢測(cè)工具具有一定的推廣意義,解決運(yùn)維問(wèn)題的思路值得借鑒。
[1]羅金滿,陳華軍,蒙家曉,等.試談大中型企業(yè)的IT運(yùn)維管理[J].電腦編程技巧與維護(hù),2013(18):113-114.
[2]周迪貴,李林峰,歐陽(yáng)喆.企業(yè)協(xié)同辦公系統(tǒng)特巡特維工作的探索與應(yīng)用[J].廣西電力,2015,38(3):59-60;72.
[3]高雅楠,林云霄,遲博.基于B/S模式的航空標(biāo)準(zhǔn)件計(jì)劃管理系統(tǒng)研發(fā)[J].機(jī)械,2014,41(9):55-58.
(編輯:劉楠)
Research on Implementation of Automatic Detection Tool for Error Pages of Web System
Zhou Digui,Tao Zhenwei
(Information Center of Guangxi Power Grid Co.,Ltd.,Nanning Guangxi 530023)
In order to solve such problems as low efficiency and not getting full coverage in manual inspection of WEB system’s functional menu,starting from daily maintenance,the automatic detection tool for error pages of WEB system which is highly efficient and practical has been developed based on the principles for the automatic detection tool for error pages of WEB system under B/S mode.The tool can quickly detect error pages of WEB system and achieves the purpose of automatic detection and is well implemented.It can be used in different kinds of WEB systems.
WEB system;error pages;automatic detection
TP316
A
2095-0748(2015)21-0089-03
10.16525/j.cnki.14-1362/n.2015.21.38
2015-10-08
周迪貴(1982—),男,廣西鐘山人,本科,助理工程師,研究方向:從事電力信息運(yùn)維工作;陶鎮(zhèn)威(1988—),男,湖北武漢人,研究生,助理工程師,研究方向:從事電力信息系統(tǒng)運(yùn)維工作。