網(wǎng)站監(jiān)測(cè)工具設(shè)計(jì)與實(shí)現(xiàn)

時(shí)間:2022-07-03 11:26:06

導(dǎo)語:網(wǎng)站監(jiān)測(cè)工具設(shè)計(jì)與實(shí)現(xiàn)一文來源于網(wǎng)友上傳,不代表本站觀點(diǎn),若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。

網(wǎng)站監(jiān)測(cè)工具設(shè)計(jì)與實(shí)現(xiàn)

【摘要】通過分析企業(yè)內(nèi)各類web應(yīng)用系統(tǒng),發(fā)現(xiàn)其自身缺少訪問監(jiān)控及報(bào)警功能。本文主要闡述了web信息系統(tǒng)監(jiān)控的意義,提出了基于請(qǐng)求模擬的web信息系統(tǒng)監(jiān)測(cè)工具的實(shí)現(xiàn)過程,并依據(jù)需求做出合理的分析設(shè)計(jì)實(shí)現(xiàn)各主要功能模塊。最后將web信息系統(tǒng)監(jiān)測(cè)工具應(yīng)用到系統(tǒng)運(yùn)維中,運(yùn)行效果明顯,為自動(dòng)化運(yùn)維工作起到良好的輔助作用。

【關(guān)鍵詞】IT運(yùn)維;web監(jiān)控;請(qǐng)求模擬;監(jiān)測(cè)工具;自動(dòng)化

一、引言

近年來,隨著信息化技術(shù)的快速發(fā)展,企業(yè)內(nèi)部網(wǎng)絡(luò)中建立了大量的業(yè)務(wù)信息系統(tǒng),而這些信息系統(tǒng)多數(shù)屬于web應(yīng)用系統(tǒng)。為確保這些web系統(tǒng)平穩(wěn)運(yùn)行以滿足日常業(yè)務(wù)正常開展,企業(yè)對(duì)IT部門的系統(tǒng)運(yùn)維工作提出更高的要求。尤其是一些重要的web應(yīng)用系統(tǒng),要求達(dá)到24小時(shí)無故障運(yùn)行,且要求IT部門能夠及時(shí)發(fā)現(xiàn)故障以快速處理,這就要求對(duì)于這些重要的web應(yīng)用系統(tǒng)的運(yùn)行監(jiān)控時(shí)刻存在并且能夠進(jìn)行異常報(bào)警。目前大多數(shù)web系統(tǒng)自身并未提供異常報(bào)警功能,現(xiàn)有的監(jiān)控系統(tǒng)又無法實(shí)現(xiàn)對(duì)于web系統(tǒng)可用性的監(jiān)控及報(bào)警,在不具備技術(shù)手段的情況下,當(dāng)前運(yùn)維工作中大多采用人工巡檢的方式檢測(cè)系統(tǒng)的可用性,通常做法是嘗試訪問這些應(yīng)用系統(tǒng)的web頁面進(jìn)行數(shù)據(jù)請(qǐng)求,以返回?cái)?shù)據(jù)是否正常來作出人為判斷。這種純?nèi)斯さ谋O(jiān)控方式給IT部門的運(yùn)維工作帶來了巨大的壓力,同時(shí)這種方式也不可能達(dá)到實(shí)時(shí)監(jiān)控報(bào)警的目的。那么,如何才能實(shí)現(xiàn)對(duì)web應(yīng)用系統(tǒng)可用性的實(shí)時(shí)監(jiān)控和異常報(bào)警呢?

二、現(xiàn)狀分析

通過分析現(xiàn)狀發(fā)現(xiàn),在web應(yīng)用系統(tǒng)可用性監(jiān)測(cè)工作方面,IT運(yùn)維部門主要面臨的困境有兩點(diǎn),一是現(xiàn)有的自動(dòng)化監(jiān)控系統(tǒng)僅能夠判斷web系統(tǒng)登錄界面是否正常運(yùn)作,而無法監(jiān)測(cè)系統(tǒng)是否可用;二是管理員在每天日常巡檢時(shí)嘗試登錄web系統(tǒng)來判斷其是否可用,這種純?nèi)斯さ姆绞讲豢赡茏龅?4小時(shí)實(shí)時(shí)監(jiān)測(cè)。基于這兩點(diǎn),我們可以通過設(shè)計(jì)開發(fā)一種可模擬人工、定時(shí)、自動(dòng)嘗試向web系統(tǒng)發(fā)送登錄請(qǐng)求來判斷其可用性的一種監(jiān)測(cè)工具,來替代現(xiàn)有的純?nèi)斯を?yàn)證方式,實(shí)現(xiàn)重要web應(yīng)用系統(tǒng)24小時(shí)自動(dòng)實(shí)時(shí)監(jiān)控。

三、系統(tǒng)原理解析與結(jié)構(gòu)設(shè)計(jì)

大多數(shù)web站點(diǎn)由web應(yīng)用服務(wù)器、數(shù)據(jù)庫(kù)、操作系統(tǒng)三部分構(gòu)成,任何一個(gè)環(huán)節(jié)出現(xiàn)故障都將導(dǎo)致站點(diǎn)應(yīng)用無法正常訪問。傳統(tǒng)的監(jiān)測(cè)工具會(huì)開發(fā)相應(yīng)的連接程序模擬訪問,通過訪問狀態(tài)碼來識(shí)別其是否正常運(yùn)作,而企業(yè)開發(fā)的web系統(tǒng)大多設(shè)有賬戶密碼確保系統(tǒng)能夠正常訪問,傳統(tǒng)的檢測(cè)方法不提供模擬登錄的功能,僅依靠訪問登錄界面是否正常的操作,并沒有完成一次數(shù)據(jù)庫(kù)訪問的操作,故無法準(zhǔn)確判斷出系統(tǒng)是否異常,導(dǎo)致系統(tǒng)檢測(cè)的準(zhǔn)確率不高。本文所設(shè)計(jì)的監(jiān)測(cè)工具采用配置URL請(qǐng)求地址、訪問請(qǐng)求方式、返回識(shí)別參數(shù)與請(qǐng)求參數(shù)的方式,可根據(jù)不同的業(yè)務(wù)場(chǎng)景靈活模擬用戶登錄捕獲返回值,通過模擬一次用戶登錄請(qǐng)求,準(zhǔn)確判斷系統(tǒng)是否正常運(yùn)作。3.1監(jiān)測(cè)工具的原理本文的監(jiān)測(cè)工具對(duì)系統(tǒng)運(yùn)維中服務(wù)器、管理員、數(shù)據(jù)庫(kù)、web站點(diǎn)、操作系統(tǒng)等關(guān)鍵點(diǎn)進(jìn)行統(tǒng)一管理,以請(qǐng)求任務(wù)的管理作為系統(tǒng)監(jiān)測(cè)的業(yè)務(wù)驅(qū)動(dòng),圍繞web系統(tǒng)可用性的幾個(gè)關(guān)鍵點(diǎn)開發(fā)檢測(cè)功能,模擬數(shù)據(jù)請(qǐng)求,根據(jù)返回值判斷測(cè)試目標(biāo)是否正常。通過對(duì)模擬數(shù)據(jù)請(qǐng)求模式的分析與抽取,形成了通用的數(shù)據(jù)請(qǐng)求模型,具備通過擴(kuò)展請(qǐng)求處理方式來擴(kuò)充監(jiān)測(cè)類型的功能,使該監(jiān)測(cè)工具具備了更高的擴(kuò)展性。本文所設(shè)計(jì)的監(jiān)測(cè)工具通過模擬請(qǐng)求的方式,可實(shí)現(xiàn)對(duì)http/https站點(diǎn)、mysql、sqlserver、oracle、windows操作系統(tǒng)、ftp站點(diǎn)進(jìn)行監(jiān)測(cè),并采用Quartz定時(shí)器技術(shù)實(shí)現(xiàn)了檢測(cè)任務(wù)的調(diào)度,定時(shí)發(fā)送模擬請(qǐng)求,并根據(jù)返回結(jié)果發(fā)送郵件提醒給相關(guān)管理員。3.2系統(tǒng)總體結(jié)構(gòu)3.2.1系統(tǒng)功能概述如圖1所示,本監(jiān)測(cè)工具主要包含請(qǐng)求任務(wù)管理、HTTP監(jiān)測(cè)、數(shù)據(jù)庫(kù)監(jiān)測(cè)、windows系統(tǒng)監(jiān)測(cè)、任務(wù)計(jì)劃管理、系統(tǒng)管理六個(gè)核心模塊。其中4個(gè)監(jiān)測(cè)模塊封裝了相應(yīng)監(jiān)測(cè)類型的訪問處理功能,在后面章節(jié)中會(huì)詳細(xì)介紹;請(qǐng)求任務(wù)管理模塊用于配置請(qǐng)求任務(wù)的地址、參數(shù)、訪問協(xié)議、管理員等核心參數(shù),可配置出一個(gè)完整的測(cè)試請(qǐng)求任務(wù);任務(wù)計(jì)劃管理模塊是為創(chuàng)建好的請(qǐng)求任務(wù)配置計(jì)劃調(diào)度,設(shè)置任務(wù)執(zhí)行的時(shí)間及頻次。3.2.2系統(tǒng)技術(shù)架構(gòu)本監(jiān)測(cè)工具后端采用Java語言基于SSH2MVC開發(fā)框架,支持Mysql、SqlServer、Oracle等多種數(shù)據(jù)庫(kù),前端頁面采用Extjs4框架的MVC模式,實(shí)現(xiàn)了前后臺(tái)雙MVC設(shè)計(jì)模式,使該監(jiān)測(cè)工具具備高擴(kuò)展性。3.3系統(tǒng)關(guān)鍵功能點(diǎn)3.3.1請(qǐng)求任務(wù)管理該功能主要是將各類測(cè)試請(qǐng)求地址與請(qǐng)求參數(shù)封裝成一個(gè)請(qǐng)求任務(wù),可根據(jù)不同類型請(qǐng)求動(dòng)態(tài)調(diào)用相應(yīng)的請(qǐng)求處理方法,完成模擬請(qǐng)求并根據(jù)配置的返回參數(shù)值判斷用戶請(qǐng)求是否成功,獲取管理員郵件接收配置項(xiàng)發(fā)送郵件。3.3.2HTTP/HTTPS監(jiān)測(cè)此項(xiàng)功能作為本監(jiān)測(cè)工具的核心功能,可靈活配置URL請(qǐng)求地址、請(qǐng)求參數(shù)、請(qǐng)求類型、身份認(rèn)證方式、成功識(shí)別關(guān)鍵字、返回狀態(tài)碼等信息,以滿足不同站點(diǎn)的需求。本功能可以支持HTTP/HTTPS請(qǐng)求、POST/GET請(qǐng)求方式、身份認(rèn)證方面支持傳統(tǒng)的FORM表單請(qǐng)求與NTLM身份認(rèn)證方式。3.3.3數(shù)據(jù)庫(kù)監(jiān)測(cè)數(shù)據(jù)庫(kù)監(jiān)測(cè)功能可提供Mysql、Sqlserver、oracle等數(shù)據(jù)庫(kù)的運(yùn)行狀態(tài)監(jiān)測(cè),管理員可根據(jù)數(shù)據(jù)庫(kù)類型選擇不同數(shù)據(jù)庫(kù)連接方式配置數(shù)據(jù)庫(kù)連接請(qǐng)求以及賬號(hào)和密碼,并指定任務(wù)調(diào)度計(jì)劃定時(shí)完成訪問測(cè)試,并將測(cè)試結(jié)果以郵件方式發(fā)送給管理員。3.3.4WINDOWS系統(tǒng)資源監(jiān)測(cè)本功能通過WINDOWSWMI協(xié)議可以采集WINDOWS2008服務(wù)器的軟件與硬件信息,主要包括系統(tǒng)服務(wù)、硬盤使用情況、系統(tǒng)進(jìn)程狀態(tài)、賬戶信息、共享文件夾、CPU、內(nèi)存的使用情況等,可以協(xié)助管理員對(duì)操作系統(tǒng)的運(yùn)行狀況進(jìn)行監(jiān)控。3.3.5FTP站點(diǎn)監(jiān)測(cè)FTP站點(diǎn)監(jiān)測(cè)功能可以對(duì)企業(yè)內(nèi)部網(wǎng)絡(luò)中的FTP服務(wù)進(jìn)行監(jiān)控,通過配置FTP訪問路徑及賬號(hào)密碼創(chuàng)建監(jiān)測(cè)任務(wù),通過任務(wù)調(diào)度功能執(zhí)行請(qǐng)求任務(wù),即可模擬FTP連接,測(cè)試FTP服務(wù)運(yùn)行狀況。3.3.6監(jiān)控任務(wù)調(diào)度計(jì)劃任務(wù)調(diào)度計(jì)劃可實(shí)現(xiàn)對(duì)監(jiān)控任務(wù)的調(diào)度管理,管理員通過QuartZCron表達(dá)式配置即可完成對(duì)任務(wù)執(zhí)行的靈活配置。可實(shí)現(xiàn)間隔執(zhí)行、定時(shí)執(zhí)行、忽略周六日等功能,并能夠靈活設(shè)置運(yùn)行次數(shù)以滿足不同業(yè)務(wù)場(chǎng)景的需要。

四、系統(tǒng)實(shí)現(xiàn)

4.1核心業(yè)務(wù)模型監(jiān)測(cè)工具的核心業(yè)務(wù)模型如圖2所示:4.2系統(tǒng)界面展示圖3為設(shè)計(jì)實(shí)現(xiàn)后的監(jiān)測(cè)工具界面。可以看出,如需對(duì)某web系統(tǒng)進(jìn)行監(jiān)測(cè),只需錄入該系統(tǒng)的IP地址、域名以及訪問地址,再設(shè)置相應(yīng)的監(jiān)測(cè)條件及任務(wù)計(jì)劃即可實(shí)現(xiàn)對(duì)web系統(tǒng)的實(shí)時(shí)監(jiān)測(cè)以及異常報(bào)警。

五、結(jié)論

本文提出并設(shè)計(jì)完成基于請(qǐng)求模擬的web系統(tǒng)監(jiān)測(cè)工具,較完善地實(shí)現(xiàn)了對(duì)于web信息系統(tǒng)的實(shí)時(shí)監(jiān)測(cè)。通過較長(zhǎng)時(shí)間的實(shí)際應(yīng)用,已經(jīng)為多個(gè)web信息系統(tǒng)提供了實(shí)時(shí)自動(dòng)監(jiān)測(cè)及異常報(bào)警功能,極大地減少了人力的投入,提高了運(yùn)維工作效率。并且該監(jiān)測(cè)工具簡(jiǎn)單易操作,只需提供信息系統(tǒng)的幾個(gè)必要參數(shù)并經(jīng)過簡(jiǎn)單配置即可實(shí)現(xiàn)系統(tǒng)的自動(dòng)監(jiān)測(cè)。該工具基于JAVA語言及B/S架構(gòu)設(shè)計(jì)開發(fā),具備部署簡(jiǎn)單、資源占用率低、界面友好、執(zhí)行速度快、可擴(kuò)展性強(qiáng)等特點(diǎn),可廣泛應(yīng)用于各類web應(yīng)用系統(tǒng)的實(shí)時(shí)監(jiān)測(cè),具有較高的應(yīng)用推廣價(jià)值。

參考文獻(xiàn)

[1]譚浩,關(guān)昕,馬力.性能測(cè)試的原理及其自動(dòng)化工具的實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2006,(194):3660-3662

[2]牛津,楊濤,王林.網(wǎng)頁瀏覽器內(nèi)核的比較研究[J].微計(jì)算機(jī)應(yīng)用,2009,(3):30-35

[3]蓋之華,賈海天.基于SOA的網(wǎng)站和網(wǎng)絡(luò)監(jiān)控系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù),2010,(2):324-326

作者:陳美娟 單位:中海油田服務(wù)股份有限公司