付志雄,張雪芳
(霍尼韋爾環(huán)境自控產(chǎn)品 (天津)有限公司,天津 300457)
監(jiān)控系統(tǒng)的目標是實現(xiàn)對平臺級應用運行狀況及運行環(huán)境的監(jiān)控,通過監(jiān)控系統(tǒng)實現(xiàn)對主機、服務器、數(shù)據(jù)庫、應用的監(jiān)控和預警,方便運維人員對內(nèi)容管理平臺進行維護。
為了便于對內(nèi)容管理平臺中的數(shù)據(jù)進行統(tǒng)計,監(jiān)控內(nèi)容管理平臺數(shù)據(jù)變化情況,以及對內(nèi)容管理平臺運行環(huán)境進行實時監(jiān)控。監(jiān)控系統(tǒng)應具有以下功能:對內(nèi)容管理平臺中集成業(yè)務系統(tǒng)的文件大小、文件數(shù)目和硬盤占用情況進行統(tǒng)計、展現(xiàn)用戶對文檔的操作記錄、對平臺服務器進行實時監(jiān)控和統(tǒng)計、對平臺的故障進行預警以及平臺運維管理,運維提供運維集成界面、運維流程管理、運維日志管理等。
監(jiān)控系統(tǒng)嚴格按照MVC設計模式[1],按J2EE分層設計[2]的理念,系統(tǒng)采用的是典型的J2EE三層結(jié)構(gòu),即表現(xiàn)層、中間層和數(shù)據(jù)服務層:①表現(xiàn)層采用Bootstrap框架布局,采用JSP技術(shù);②中間層嚴格分成業(yè)務邏輯層、DAO層和數(shù)據(jù)持久層??刂茖硬捎肧pringBoot框架實現(xiàn);③模型層分為VO組件和PO組件。VO組件用于展現(xiàn)層和控制層數(shù)據(jù)傳遞;PO組件用于控制層持久化時數(shù)據(jù)傳遞。
根據(jù)監(jiān)控系統(tǒng)需求分析,可以將監(jiān)控系統(tǒng)分為系統(tǒng)設置、查詢統(tǒng)計、實時監(jiān)控、信息中心、運維中心5個部分,其中各個部分及其包括的具體功能模塊如圖1所示:
圖1 監(jiān)控系統(tǒng)功能結(jié)構(gòu)圖Fig.1 Functional structure of the monitored control system
每個模塊的功能如下:①系統(tǒng)設置模塊包括消息設置、用戶管理、監(jiān)控設置、主機設置、應用管理模塊;②查詢統(tǒng)計功能包括平臺查詢、平臺統(tǒng)計,平臺查詢根據(jù)查詢條件獲取符合條件的記錄;平臺統(tǒng)計主要用條形圖、餅圖等從不同維度統(tǒng)計各個系統(tǒng)的操作記錄;③實時監(jiān)控模塊包括數(shù)據(jù)庫監(jiān)控、應用服務器監(jiān)控、應用監(jiān)控、主機監(jiān)控;④信息中心包括平臺報警和平臺故障;⑤運維中心用于對報警及故障的處理流程的管理。
數(shù)據(jù)庫采用的是IBM DB2 9.7,DB2擁有最好的查詢優(yōu)化器(數(shù)據(jù)庫的核心),能更高效的處理海量數(shù)據(jù),另外磁盤負載自動平衡、XML處理能力是DB2的優(yōu)勢。基于數(shù)據(jù)庫設計應該以最優(yōu)的數(shù)據(jù)庫模式建立數(shù)據(jù)庫并且有效的存儲數(shù)據(jù),滿足用戶的應用需求[3],本系統(tǒng)數(shù)據(jù)庫設計分為E-R模型設計和表設計。本系統(tǒng)所涉及的主要數(shù)據(jù)庫表如下:①用戶信息表;②應用接入信息表;③監(jiān)控主機信息表;④預警表、故障表;⑤消息發(fā)送記錄表;⑥數(shù)據(jù)庫信息表;⑦服務器信息表;⑧操作記錄表;⑨運維日志表。
綜上所述,基于MVC模式的監(jiān)控系統(tǒng)具有以下功能:嚴格按照J2EE分層設計的理念設計使系統(tǒng)功能模塊化便于功能擴展,分離視圖層和業(yè)務邏輯層也使得WEB應用更易于維護和修改。