孫啟民 胡莉麗 黃 威,2
(1.北京全路通信信號研究設(shè)計院集團(tuán)有限公司,北京 100070;2.北京市高速鐵路軌道交通運(yùn)行控制系統(tǒng)工程技術(shù)研究中心,北京 100073)
?
基于SNMP&Amcharts的性能監(jiān)測技術(shù)在動環(huán)監(jiān)控系統(tǒng)的應(yīng)用
孫啟民1胡莉麗1黃 威1,2
(1.北京全路通信信號研究設(shè)計院集團(tuán)有限公司,北京 100070;2.北京市高速鐵路軌道交通運(yùn)行控制系統(tǒng)工程技術(shù)研究中心,北京 100073)
鐵路通信機(jī)房動環(huán)監(jiān)控系統(tǒng)需要采集監(jiān)控中心服務(wù)器的實(shí)時性能參數(shù)值,采用SNMP&Amcharts技術(shù)開發(fā)動環(huán)監(jiān)控系統(tǒng)的服務(wù)器性能監(jiān)測模塊,可擴(kuò)大模塊的適用場合、提高開發(fā)效率、減少系統(tǒng)維護(hù)工作量。
性能監(jiān)測;SNMP;Amcharts;Ajax;采樣周期
隨著我國高速鐵路的飛速發(fā)展,鐵路信息化進(jìn)程也在逐步推進(jìn),各類科學(xué)先進(jìn)的管理工具相繼被引入到鐵路的日常運(yùn)維管理工作中,為我國鐵路的安全穩(wěn)定運(yùn)營提供了有力的支持和保障。
動環(huán)監(jiān)控系統(tǒng)是鐵路信息化建設(shè)過程中引入的重要管理工具之一,尤其是在近幾年鐵路客運(yùn)專線大規(guī)模建設(shè)的背景下,動環(huán)監(jiān)控系統(tǒng)的重要性日益凸顯。由于我國的CTCS-3級列控系統(tǒng)通過GSM-R網(wǎng)絡(luò)實(shí)現(xiàn)車地信息的交互,因此在鐵路沿線架設(shè)了大量的通信基站,同時為每個基站也建設(shè)了各自的通信機(jī)房。通信基站機(jī)房日常均無人值守,如何保障機(jī)房內(nèi)設(shè)備安全穩(wěn)定的工作,不因通信設(shè)備故障影響列車的正常運(yùn)行,動環(huán)監(jiān)控系統(tǒng)在這一環(huán)節(jié)發(fā)揮了重要的作用。
動環(huán)監(jiān)控系統(tǒng)采用監(jiān)控中心、監(jiān)控站兩級結(jié)構(gòu)設(shè)計[1],能夠遙測、遙信和遙控監(jiān)控對象,能夠監(jiān)視系統(tǒng)設(shè)備的工作狀態(tài),具備配置、告警、性能和安全管理功能。監(jiān)控中心還能夠管理視頻單元和智能門禁單元,實(shí)現(xiàn)對視頻單元和智能門禁單元的遠(yuǎn)程控制。另外監(jiān)控站側(cè)還提供遠(yuǎn)程登錄功能,支持用戶遠(yuǎn)程配置和緊急情況下單站的監(jiān)視控制操作。
動環(huán)監(jiān)控系統(tǒng)功能模塊設(shè)計如圖1所示。
為了保證動環(huán)監(jiān)控系統(tǒng)自身的穩(wěn)定運(yùn)行,監(jiān)控中心性能管理模塊要能采集監(jiān)控中心服務(wù)器的CPU、內(nèi)存及磁盤利用率,并能以直觀的形式顯示[1],本文所述的服務(wù)器性能監(jiān)測技術(shù)即用于實(shí)現(xiàn)該功能模塊。
隨著計算機(jī)技術(shù)的不斷發(fā)展,作為網(wǎng)絡(luò)主體之一的網(wǎng)絡(luò)服務(wù)器性能越來越強(qiáng)大,服務(wù)器承載的處理任務(wù)越來越繁瑣,地位也越來越重要。為了保障服務(wù)器可靠穩(wěn)定的運(yùn)行,防止因服務(wù)器性能瓶頸影響正常的業(yè)務(wù)使用,技術(shù)人員提出多種服務(wù)器性能監(jiān)測手段,用以監(jiān)視服務(wù)器的軟硬件工作狀態(tài)。
基于操作系統(tǒng)的類型、監(jiān)測軟件自身的架構(gòu)等不同因素,各類監(jiān)測技術(shù)的處理方式也不盡相同,下面把Windows和Linux系統(tǒng)常用的幾類性能監(jiān)測技術(shù)進(jìn)行簡單的比對分析,如表1所示。
表1 常用服務(wù)器性能監(jiān)測技術(shù)列表
考慮到操作系統(tǒng)的兼容性及軟件結(jié)構(gòu)的靈活性,在實(shí)現(xiàn)動環(huán)監(jiān)控系統(tǒng)的服務(wù)器性能監(jiān)測模塊時,我們選用SNMP技術(shù)。
本文所述的動環(huán)監(jiān)控系統(tǒng)采用B/S架構(gòu)實(shí)現(xiàn),為了滿足能夠直觀顯示服務(wù)器性能參數(shù)的要求,綜合比較B/S模式下常用的Canvas、Amcharts、ActiveX、Applet等圖形繪制技術(shù)后,我們選用Amcharts技術(shù)跟蹤顯示服務(wù)器的性能參數(shù)曲線。
4.1SNMP技術(shù)簡介
SNMP是一種基于TCP/IP的互聯(lián)網(wǎng)網(wǎng)管協(xié)議,它能對互聯(lián)網(wǎng)中不同類型的設(shè)備進(jìn)行監(jiān)控和管理,對網(wǎng)絡(luò)中存在的問題進(jìn)行定位[3]。
1) SNMP版本演進(jìn)
SNMP最早始于20世紀(jì)70年代[4],經(jīng)歷多個版本的演進(jìn),最終主要保留了3個版本:SNMP v1、SNMP v2c以及SNMP v3,SNMP版本演進(jìn)過程如圖2所示。
SNMP v1和SNMP v2c版本對用戶的唯一限制是訪問口令,而沒有用戶和權(quán)限分級的概念,只要提供相應(yīng)的口令(即community),就可以對設(shè)備進(jìn)行read或read/write操作,安全性相對薄弱。SNMP v1和SNMP v2c均使用明文發(fā)送報文。相對SNMP v1,SNMP v2c定義了一個新的分組類型get-bulk-request,它高效率地從代理進(jìn)程讀取大塊數(shù)據(jù)。
SNMP v3實(shí)現(xiàn)了提高安全性能的預(yù)期目標(biāo),尤其是在身份驗證(如用戶初始接入的身份驗證、信息完整性的分析、重復(fù)操作的預(yù)防)、加密、授權(quán)和訪問控制、適當(dāng)?shù)倪h(yuǎn)程安全配置和管理能力等方面。SNMP v3是在SNMP v2基礎(chǔ)之上增加、完善了安全和管理機(jī)制。
2) SNMP管理模型
SNMP管理模型由管理站、網(wǎng)管代理、管理信息庫(MIB)和SNMP協(xié)議4部分組成,這4部分的邏輯關(guān)系如圖3所示[4]。
管理站(Manager)通過發(fā)送SNMP報文從網(wǎng)管代理(Agent)獲取被管理設(shè)備信息,實(shí)施對網(wǎng)絡(luò)設(shè)備的監(jiān)視和管理。網(wǎng)管代理接收來自管理站的SNMP請求并進(jìn)行響應(yīng),完成相應(yīng)操作,網(wǎng)管代理還能主動向管理站發(fā)送異常報告。
3) SNMP v1協(xié)議
動環(huán)監(jiān)控系統(tǒng)服務(wù)器性能監(jiān)測模塊中的管理站、網(wǎng)管代理和被監(jiān)測設(shè)備處于同一局域網(wǎng)內(nèi),網(wǎng)絡(luò)環(huán)境相對安全,且管理站通過主動獲取的方式從網(wǎng)管代理處獲取被監(jiān)測設(shè)備的性能參數(shù)信息,因此在實(shí)現(xiàn)該模塊時,選用SNMP v1協(xié)議。
SNMP v1定義了5種操作,包括:
Get:管理站從被管理節(jié)點(diǎn)提取標(biāo)量對象值,包括get-request和get-next-request操作,可通過變量綁定方式一次獲取多個標(biāo)量對象值;
Set:管理站更新被管理節(jié)點(diǎn)中的對象標(biāo)量值;
Trap:被管理節(jié)點(diǎn)向管理站主動發(fā)送一個標(biāo)量對象值;
Get-response:被管理節(jié)點(diǎn)對管理站Get和Set操作的響應(yīng)。
SNMP v1的每個消息包含一個指示版本的版本號,一個用于安全控制的共同體名以及一個指明操作類型的協(xié)議數(shù)據(jù)單元(PDU),SNMP協(xié)議格式如表2所示。
表2 SNMP v1消息格式
其中,Get PDU格式如表3所示。
表3 Get PDU格式
4.2Amcharts技術(shù)簡介
Amcharts提供了基于JavaScript/HTML5、Flex和WPF&Silverlight 3種平臺技術(shù)的圖表組件,同時提供Flash和Flex的地圖組件。
Amcharts支持柱狀圖、條形圖、線形圖、面積圖、燭臺圖等基本圖形。Amcharts支持動態(tài)繪圖,可實(shí)現(xiàn)數(shù)據(jù)自動刷新,并可預(yù)設(shè)自動刷新頻率。
上文已提到本文所述的動環(huán)監(jiān)控系統(tǒng)(以下簡稱“本系統(tǒng)”)采用B/S架構(gòu)實(shí)現(xiàn),其中客戶端(B)通過JavaScript/HTML5技術(shù)實(shí)現(xiàn),服務(wù)器端(S)通過Java技術(shù)實(shí)現(xiàn)。在實(shí)現(xiàn)服務(wù)器性能監(jiān)測模塊時,客戶端使用Amcharts和Ajax等技術(shù)實(shí)現(xiàn)服務(wù)器實(shí)時性能曲線圖的繪制;服務(wù)器端通過多線程,使用SNMP、Java和MySQL等技術(shù)實(shí)現(xiàn)服務(wù)器性能數(shù)據(jù)的獲取及存儲。
服務(wù)器性能數(shù)據(jù)的獲取、存儲及服務(wù)器實(shí)時性能曲線繪制處理流程如圖4、5所示。
本系統(tǒng)使用Tomcat5.5發(fā)布服務(wù)器端程序,Tomcat啟動時會加載本系統(tǒng)設(shè)定的Listener,在Listener中讀取需要監(jiān)測的服務(wù)器列表,并為每個服務(wù)器開啟一個性能數(shù)據(jù)處理線程,之后各線程按設(shè)定的采樣周期循環(huán)進(jìn)行數(shù)據(jù)處理。
在數(shù)據(jù)處理線程中,首先判斷操作系統(tǒng)類型,根據(jù)操作系統(tǒng)類型進(jìn)行不同的處理,最終將獲取到的性能數(shù)據(jù)保存到數(shù)據(jù)庫,并更新內(nèi)存中的靜態(tài)變量,方便客戶端繪制流程圖時獲取。
基于SNMP&Amcharts的性能監(jiān)測技術(shù)大大提高了動環(huán)監(jiān)控系統(tǒng)的開發(fā)效率,既適用于動環(huán)監(jiān)控系統(tǒng),同時也可應(yīng)用到其他需要服務(wù)器性能監(jiān)測的場合。該技術(shù)可應(yīng)用于多個操作系統(tǒng),無需在被監(jiān)測設(shè)備側(cè)進(jìn)行另外的開發(fā),大大減少開發(fā)工作量,同時提高了維護(hù)效率。
[1] QCR 10-2014 鐵路通信機(jī)房及環(huán)境監(jiān)控系統(tǒng)技術(shù)條件[S].
[2]王曉琰.單機(jī)Linux下監(jiān)測系統(tǒng)性能的設(shè)計與實(shí)現(xiàn)[J].現(xiàn)代科技(現(xiàn)代物業(yè)下旬刊),2009(8):110-112.
[3]陳雷,董博,王雪.基于SNMP協(xié)議的全局網(wǎng)絡(luò)流量分析系統(tǒng)的設(shè)計與實(shí)現(xiàn)[J].大連理工大學(xué)學(xué)報,2005(增I):69-72.
[4]王煥然,徐明偉.SNMP網(wǎng)絡(luò)管理綜述[J].小型微型計算機(jī)系統(tǒng),2004(3):358-366.
The power and environment monitoring systems in railway communication rooms need to collect the real-time performance parameters of the monitoring center servers. Using SNMP and Amcharts technologies to develop the server performance monitoring module of the power and environment monitoring system can expand the usable scope of the module, improve development effi ciency and can reduce system maintenance works.
performance monitoring; Simple Network Management Protocol; Amcharts; Asynchronous JavaScript and XML; sampling period
10.3969/j.issn.1673-4440.2016.02.009
2015-04-09)