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

時間:2022-07-03 11:26:06

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

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

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

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

一、引言

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

二、現(xiàn)狀分析

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

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

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

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

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

五、結(jié)論

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

參考文獻(xiàn)

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

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

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

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