0 引 言
“十二五”期間,國家電網公司全面建設堅強智能電網,推動公司和電網創新發展、集約發展、安全發展,信息化工作已成為國家電網公司實現戰略發展目標的基礎工程和重要保障[1].國家電網公司SG186 信息系統、SG - ERP 系統等業務信息系統[2]的大量投入運用,在對公司業務工作支撐力不斷提升和主營業務大幅度融合的同時,也使信息系統的規模急劇膨脹,而新系統、新技術的不斷應用,使系統出現故障的可能性也隨之加大,對系統穩定性和系統管理者的要求也隨之提高。如何提高信息系統檢修的工作效率、工作質量、安全、穩定等問題也隨之突顯。因此,采用創新的管理思想和現代計算機技術手段,保障信息系統的安全、降低生產成本、提高企業競爭力,成為電網企業的當務之急。正是在這種背景下,信息系統狀態檢修已然成為電網檢修模式改變的一種必然趨勢。
基金項目:國網四川省電力公司研究開發項目( 52199713504A)信息系統狀態檢修的基礎是對于信息系統狀態的監控與評價,國家電網公司企業信息系統現階段主要采用 B/S 構架,B/S 模式信息系統主要結構包括應用服務器和數據庫服務器,因此對于應用服務器和數據庫服務器內部狀態和外部狀態的監控與評價成為信息系統狀態評價研究中最為重要的環節。
信息系統檢修是信息運維人員工作的重要內容,信息系統的狀態檢修也是必然發展趨勢[3 -4].目前國內對于信息系統狀態檢修的研究還處于起步階段,大部分研究者對于信息系統狀態的監控和評價僅停留在整體的設計思路上面,并沒有繼續向下延伸到各具體部分狀態的研究。也正是基于此,給出了一種對于 B/S 信息系統狀態全面監控與評價的方法,并給出對于信息系統狀態短期預測的方法,為信息系統狀態檢修提供更為具體的研究思路和實現技術參考。
1 評價系統總體設計
國家電網公司企業信息系統現階段主要采用 B/S 構架,下面主要針對 WebLogic 服務器和Oracle 數據庫服務器搭配技術路線的大型信息系統開展研究。圖 1 為信息系統狀態評價系統的總體設計框架。
由圖 1 可知,所述系統主要包括健康狀態劃分與測試、健康數據采集、狀態評價與預測和健康狀態存儲系統這 4 個部分。健康狀態劃分與測試主要是建立所述評價系統的評價指標體系以及對于信息系統健康度的合理劃分; 健康數據采集模塊是實現對WebLogic 服務器和 Oracle 數據庫服務器內在及外在狀態數據的監控,并將監控數據存儲于健康狀態存儲數據庫中,為狀態評價模塊提供實時數據來源;狀態評價與預測模塊實現對信息系統當前狀態的評價,并結合信息系統歷史狀態數據給出對信息系統狀態的短期預測; 健康狀態存儲系統即建立的存儲數據庫,負責所述評價系統涉及的所有數據的存儲。
2 健康狀態劃分與測試
2. 1 健康狀態劃分
根據 B/S 架構系統的特性,將整個系統狀態劃分成兩部分,即 WebLogic 服務器狀態和 Oracle 服務器狀態。這兩個服務器又有各自不同的子狀態,這些狀態量,根據 WebLogic 和 Oracle 數據庫的官方文檔、書籍介紹和運維人員的建議,對采集到的指標進行了狀態劃分,每一種狀態有相應的閾值,這些閾值也是參考的文檔、書籍以及運維人員的經驗,得到每一個狀態量都劃分為 4 種狀態: 正常狀態、注意狀態、異常狀態、危險狀態,各狀態對應給出分數如表1 所示。
2. 2 基于 LoadRunner 的測試實驗
LoadRunner 是一種預測系統行為和性能的負載測試工具[5].測試分析是根據 LoadRunner 自動生成的各項指標測試結果統計圖,如測試簡述圖、事務平均時間響應圖、系統資源圖等,從中了解和判斷被測系統在不同壓力測試下的運行狀況以及系統資源的使用情況,對它們進行關聯分析,從而確定系統指標不同狀態的閾值。通過模擬上千萬用戶實施并發負載和實時性監測的方式來確認和查找問題,將測試得到的性能指標值與定義的指標狀態閾值進行對比,從而驗證閾值的正確性。同時,經過測試實驗,定義了各級指標權重如表 2 所示。
3 狀態數據采集
根據 B/S 系統的分層,將狀態監視采集系統也分成相應的子模塊分別對每層進行監視。狀態監視采集系統由 3 個子狀態監視采集系統構成[6 ~7].分別是 Weblogic 服務器數據采集程序、Oracle 數據庫數據采集程序、Oracle 宿主機數據采集程序。它們對相應的模塊按照設定的頻率進行采集,將采集到的數據持久化后,由主程序進行讀取,然后按照狀態定義分別對數據進行相應狀態的劃分,最后得出當前系統狀態的評價。
3. 1 Weblogic 服務器數據采集程序
Weblogic 服務器數據采集程序[8]能夠獲得服務器內 JMS 信息、進程信息、線程信息、JVM 內存信息、CPU 使用率等一系列服務器數據。在獲得信息狀態數據之后,可以對數據進行分析,從而得出服務器現階段狀態。
邏輯流程如圖 2 所示。程序啟動后,首先檢測Weblogic 服務器是否啟動,如果沒有啟動,則進行報錯,提示服務器沒有正常啟動。如果 Weblogic 服務器正常啟動后,則啟動系統數據采集子程序以及Weblogic 服務器數據采集子程序,相應的子程序按照相應的時間頻率刷新重新采集相應指標,主程序按照相應的時間頻率獲得相應數據后,程序將數據寫入到 MySql 數據庫中。