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

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

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

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

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

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

一、引言

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

二、現(xiàn)狀分析

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

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

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

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

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

五、結(jié)論

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

參考文獻

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

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

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

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