馬卓斌,金冰鑫,李 鑫,辛 玫,王 璠,尹文婷
(國網(wǎng)固原供電公司,寧夏 固原 756000)
電力企業(yè)是支持產(chǎn)業(yè)發(fā)展、推動工業(yè)化水平穩(wěn)步前行的重要企業(yè)部門,與企業(yè)的經(jīng)營和居民的日常生活有著密不可分的關(guān)系。在我國計算機與互聯(lián)網(wǎng)技術(shù)快速發(fā)展的大背景下,電力企業(yè)的設(shè)備管理與業(yè)務(wù)經(jīng)濟需要在信息化方面做出更進一步的改進。傳統(tǒng)電力企業(yè)監(jiān)控管理系統(tǒng)普遍以文本為主要的展示內(nèi)容,操作比較復(fù)雜并且學(xué)習(xí)成本較高,新形勢下的電力企業(yè)需要抓住圖形技術(shù)快速普及的技術(shù)發(fā)展機遇,對電力企業(yè)長期運營所積累的數(shù)據(jù)進行圖形化處理,建立起一套滿足圖形化操作需要的監(jiān)控管理系統(tǒng),提高電力設(shè)備運行數(shù)據(jù)的使用效率,為企業(yè)的規(guī)范化經(jīng)營奠定更加穩(wěn)固的基礎(chǔ)。做好網(wǎng)絡(luò)設(shè)備的管理工作是網(wǎng)絡(luò)運營與維護最基本的要求,而網(wǎng)絡(luò)設(shè)備中的數(shù)據(jù)變化情況十分復(fù)雜,并且在部分設(shè)備流量過載的情況下需要立即改變線路,以避免局部網(wǎng)絡(luò)癱瘓[1-3]。通過圖形化的網(wǎng)絡(luò)設(shè)備監(jiān)控系統(tǒng)對網(wǎng)絡(luò)設(shè)備進行監(jiān)控是實時調(diào)整設(shè)備運行狀態(tài)的一種有效手段,可以幫助管理者直觀地對網(wǎng)絡(luò)資源發(fā)生的變化進行觀察[4]。因此,研究設(shè)計了一套采用SNMP網(wǎng)管系統(tǒng)標準協(xié)議的圖形化網(wǎng)絡(luò)設(shè)備監(jiān)控系統(tǒng),基于Linux操作系統(tǒng)并通過Web服務(wù)器對電氣設(shè)備運行數(shù)據(jù)進行圖形化轉(zhuǎn)換,進而實現(xiàn)常規(guī)文本數(shù)據(jù)的圖形化、可視化。
SNMP是現(xiàn)階段我國國有企業(yè)普遍采集的網(wǎng)管系統(tǒng)標準協(xié)議,同時也是國內(nèi)企業(yè)級監(jiān)控平臺廣泛使用的標準協(xié)議,將該協(xié)議應(yīng)用于監(jiān)控系統(tǒng)中,可以幫助企業(yè)管理者對工廠設(shè)備進行監(jiān)視與控制,了解設(shè)備當(dāng)前的使用情況。作為國有企業(yè)來說,通過數(shù)字通信技術(shù)對電氣設(shè)備進行管理,需要重點加強系統(tǒng)安全方面的防護,Linux操作系統(tǒng)是一款安全可靠的開源程序開發(fā)平臺,國內(nèi)電力企業(yè)所設(shè)計的監(jiān)控程序方案普遍基于高度定制的Linux操作系統(tǒng)。在系統(tǒng)功能服務(wù)方面,本次研究擬采用Apache網(wǎng)站服務(wù)程序,該程序與微軟IIS信息服務(wù)器所提供的功能相類似,區(qū)別在于數(shù)據(jù)庫服務(wù)器需要企業(yè)單獨配置并給予維護。PHP是一種嵌入式超文本處理語言,適用于以Web服務(wù)器為硬件基礎(chǔ)的3層結(jié)構(gòu)監(jiān)控系統(tǒng),同時也是用來建立動態(tài)網(wǎng)站的優(yōu)良工具。在服務(wù)器方面,本次研究通過輕型MySQL服務(wù)器為監(jiān)控系統(tǒng)提供數(shù)據(jù)支持,該服務(wù)器可在Windows、Linux、Mac OS等各種操作系統(tǒng)上運行,是一種多線程、多用戶的數(shù)據(jù)庫服務(wù)器,適合用來建立數(shù)據(jù)庫驅(qū)動的動態(tài)網(wǎng)站。在監(jiān)控系統(tǒng)的圖形化設(shè)計方面,本次研究決定采用Round Robin Database Tool繪圖引擎,該產(chǎn)品市場化水平較高,開發(fā)者數(shù)量較多,有助于降低系統(tǒng)圖形開發(fā)成本,并且該繪圖引擎長期應(yīng)用于Linux平臺,在可靠性方面也有著比較充分的保障。
研究所設(shè)計的圖形化網(wǎng)絡(luò)設(shè)備監(jiān)控系統(tǒng)由3層結(jié)構(gòu)所組成,基本組建形式如圖1所示。
圖1 圖形化網(wǎng)絡(luò)設(shè)備監(jiān)控系統(tǒng)整體結(jié)構(gòu)Fig.1 Graphical network equipment monitoring system overall structure
在此次研究所設(shè)計的圖形化網(wǎng)絡(luò)設(shè)備監(jiān)控系統(tǒng)中,監(jiān)控管理子系統(tǒng)位于監(jiān)控對象和Web頁面之間,負責(zé)從網(wǎng)絡(luò)設(shè)備中采集運行狀態(tài)數(shù)據(jù),并根據(jù)工程師預(yù)先寫好的程序?qū)⒕W(wǎng)絡(luò)設(shè)備運行狀態(tài)數(shù)據(jù)轉(zhuǎn)換為以圖表為表象的可視化數(shù)據(jù)。管理者在系統(tǒng)Web界面上完成登錄后,即可對監(jiān)控對象的運行狀態(tài)進行查看。系統(tǒng)網(wǎng)絡(luò)部署方案如圖2所示。
圖2 圖形化網(wǎng)絡(luò)設(shè)備監(jiān)控系統(tǒng)網(wǎng)絡(luò)部署方案Fig.2 Graphical network equipment monitoring system network deployment plan
(1)設(shè)備配置管理模塊。設(shè)備配置管理模塊通過輪詢設(shè)備的MIB將設(shè)備路由表、設(shè)備接口數(shù)據(jù)、設(shè)備接口類型、提供第幾層服務(wù)以及設(shè)備名稱發(fā)送給管理人員,并提供設(shè)備添加、設(shè)備刪除、設(shè)備查詢等方面的功能。
(2)設(shè)備數(shù)據(jù)采集模塊。設(shè)備數(shù)據(jù)采集模塊通過輪詢設(shè)備來采集網(wǎng)絡(luò)設(shè)備當(dāng)前的運行狀況數(shù)據(jù),進而獲取每一個網(wǎng)絡(luò)設(shè)備的接口狀態(tài),比如接口關(guān)閉、測試狀態(tài)、接口異常、線路問題等。同時,也可以獲取最近時段內(nèi)各條鏈路的數(shù)據(jù)錯誤率、接口丟包率、接口利用率以及通信量等相關(guān)信息。
(3)數(shù)據(jù)圖像繪制模塊。設(shè)備數(shù)據(jù)采集模塊在完成數(shù)據(jù)的采集工作后,數(shù)據(jù)圖像繪制模塊會以時間為單位將各設(shè)備的負載狀況、錯誤率、丟包率以及通信量等數(shù)據(jù)以圖形化的形式展現(xiàn)出來,進而幫助管理人員實現(xiàn)更加直觀的圖形化監(jiān)控。
在此次研究所設(shè)計的圖形化網(wǎng)絡(luò)設(shè)備監(jiān)控系統(tǒng)整體結(jié)構(gòu)中,所有的數(shù)據(jù)均通過服務(wù)器進行計算,用戶只需要通過Web界面就可以進行相關(guān)的操作。服務(wù)器端模塊主要包括RRD數(shù)據(jù)庫、MySQL數(shù)據(jù)庫以及RDmol、PHP腳本等程序。其中,數(shù)據(jù)庫部分可以通過NFS共享實現(xiàn)RRA數(shù)據(jù)庫的遠程調(diào)用,借助過MySQL提供的基于TCP/IP的socket鏈接實現(xiàn)分布,即將應(yīng)用調(diào)用部分和數(shù)據(jù)存儲部分分開,可降低資源消耗,提高系統(tǒng)運行效率。
網(wǎng)絡(luò)設(shè)備監(jiān)控通常采用SNMP方式采集數(shù)據(jù),可用來了解設(shè)備流量狀況與設(shè)備運行狀況,MIB中的每一項數(shù)據(jù)均擁有1個單獨的標識ID,管理者只需要根據(jù)設(shè)備廠商提供的ID制定標準就可以采集數(shù)據(jù)。這種數(shù)據(jù)采集方式通常應(yīng)用于通用的屬性與設(shè)備,比如設(shè)備溫度、內(nèi)存、CPU占用率以及網(wǎng)絡(luò)設(shè)備的流量、端口等[5-8]。
以上設(shè)備狀況數(shù)據(jù)主要來自于MIB中的IP組、Interfaces組和System組,比如通過對設(shè)備生產(chǎn)商提供的私有MIB進行讀取就可以獲取內(nèi)存和CPU占用率情況。MIB的IP組用于描述設(shè)備接口配置的IP地址等IP層信息,對于可提供第3層網(wǎng)絡(luò)協(xié)議服務(wù)的設(shè)備,還可以讀取設(shè)備所采用的路由表等;Interfaces組可提供設(shè)備接口信息,比如接口運行狀態(tài)、接口性能數(shù)據(jù)以及接口數(shù)量等;System組可提供設(shè)備系統(tǒng)信息,比如設(shè)備系統(tǒng)正常運行時間、為哪些協(xié)議層提供服務(wù)以及基本的設(shè)備描述等[9-12]。
本次研究以交換機設(shè)備的數(shù)據(jù)采集為例,在采集交換機設(shè)備運行狀態(tài)數(shù)據(jù)之前,首先要獲取某一個端口的流量,因此需要輸入以下命令:Snmpget-c public 192.168.0.1 iflnOctets.4 | sed -es/.*ter32。
在以上命令中,sed及之后的字符可以將不需要的信息過濾掉。在SNMP訪問字符串和地址無誤的情況下,即可獲得交換機的端口瞬時流量,比如“13526287”。隨著時間的推移,這串?dāng)?shù)據(jù)也會發(fā)生相應(yīng)的變化,因此,可以以時間為橫軸,以流量為縱軸,以圖形化的方式將一段時間內(nèi)的交換機端口瞬時流量狀況表現(xiàn)出來。Snmpget運行體系如圖3所示。
圖3 Snmpget運行體系Fig.3 Snmpget operating system
本次研究通過MySQL來存儲所采集到的網(wǎng)絡(luò)設(shè)備數(shù)據(jù),為了合理調(diào)用腳本,還需要詳細設(shè)計MySQL的庫表結(jié)構(gòu)。從系統(tǒng)功能需要的角度出發(fā),在MySQL數(shù)據(jù)庫中建立了Host表、Log表、Setting表、User表、Poling表、Grahgd_Template表、Host_Template表、Host_Gragh表。
以Host表為例,該表用于記錄網(wǎng)絡(luò)設(shè)備信息,如該設(shè)備的SNMP以及IP地址等,具體內(nèi)容見表1—表7。
表1 HostTab.1 Host
表2 DateTab.2 Date
表3 GraghTab.3 Gragh
表4 PollingTab.4 Polling
表5 UserTab.5 User
表6 SettingTab.6 Setting
表7 LogTab.7 Log
在本次研究所設(shè)計的圖形化網(wǎng)絡(luò)設(shè)備監(jiān)控系統(tǒng)中,用戶與系統(tǒng)之間的信息交互是通過PHP界面實現(xiàn)的,可實現(xiàn)圖形查看、系統(tǒng)配置以及設(shè)備管理等方面的功能。由于本次研究所設(shè)計的系統(tǒng)界面通過Apache發(fā)步并使用PHP進行編寫,進而表現(xiàn)為一種典型B/S結(jié)構(gòu)。用戶只需要通過PC上預(yù)置的瀏覽器通過網(wǎng)頁界面就可以登錄系統(tǒng)并進行操作,系統(tǒng)登錄界面如圖4所示。
圖4 圖形化網(wǎng)絡(luò)設(shè)備監(jiān)控系統(tǒng)登錄界面Fig.4 Graphical network equipment monitoring system login interface
PHP界面負責(zé)為操作者提供系統(tǒng)訪問接口,用戶在進入內(nèi)頁后可選擇的操作項目如圖5所示。
圖5 網(wǎng)站內(nèi)頁功能結(jié)構(gòu)Fig.5 Functional structure of website pages
在設(shè)備管理界面設(shè)計方面,考慮到設(shè)備管理工作的主要目的,在界面設(shè)計上要重點體現(xiàn)設(shè)備SNMP、設(shè)備IP地址等信息,即能夠描述設(shè)備固定資源的屬性。為了對各個管理設(shè)備進行定義,設(shè)計者應(yīng)當(dāng)至少建立以下幾項信息,即描述(易懂的名稱)、設(shè)備名(通常為IP)、設(shè)備狀態(tài)(是否啟用)、SNMP選項(連接v3和數(shù)據(jù)串所用的信息)、圖像模板(需要該設(shè)備展現(xiàn)的圖像模板)、數(shù)據(jù)模板(需要該設(shè)備展現(xiàn)的數(shù)據(jù)模板)。本次研究所設(shè)計的配置設(shè)備屬性界面如圖6所示。
管理者在查看一個設(shè)備狀態(tài)數(shù)據(jù)圖像時,圖形化網(wǎng)絡(luò)設(shè)備監(jiān)控系統(tǒng)會觸發(fā)以下動作,具體過程如圖7所示。
在已經(jīng)確定設(shè)備屬性并且設(shè)備在數(shù)據(jù)管理中進行了圖像模板關(guān)聯(lián)的情況下,工作人員可以在圖像查看界面選擇相應(yīng)的屬性與圖像模板,進而通過TTDtool進行實時繪圖操作。具體形式如圖8所示。
圖8 網(wǎng)絡(luò)設(shè)備狀態(tài)數(shù)據(jù)圖形化效果Fig.8 Graphical effect of network device status data
本文對圖形化網(wǎng)絡(luò)設(shè)備監(jiān)控系統(tǒng)的設(shè)計方法與實現(xiàn)結(jié)果進行了詳細的介紹,闡述了網(wǎng)絡(luò)設(shè)備運行狀態(tài)數(shù)據(jù)圖形化的基本原理和實現(xiàn)路徑。在未來的研究工作中,還需要進一步加強該系統(tǒng)在移動設(shè)備操作系統(tǒng)中的設(shè)計與應(yīng)用,進而實現(xiàn)遠程化的網(wǎng)絡(luò)設(shè)備控制。