張 暉 周利霞 姚會(huì)琴 孫晶巖
(天津市地震局,天津 300201 )
Nagios監(jiān)控系統(tǒng)在天津地震應(yīng)急系統(tǒng)中的綜合應(yīng)用1
張 暉 周利霞 姚會(huì)琴 孫晶巖
(天津市地震局,天津 300201 )
Nagios等開源監(jiān)控系統(tǒng)在地震行業(yè)中已應(yīng)用多年,其運(yùn)行穩(wěn)定,監(jiān)控效果良好,可擴(kuò)展性強(qiáng),是非常優(yōu)秀的網(wǎng)絡(luò)監(jiān)控軟件。本文利用天津市地震局統(tǒng)一建立的全局Nagios監(jiān)控系統(tǒng),對(duì)地震系統(tǒng)“十五”、“十一五”期間建立的地震應(yīng)急指揮技術(shù)系統(tǒng)進(jìn)行了全面監(jiān)控管理,包括網(wǎng)絡(luò)設(shè)備、服務(wù)器、業(yè)務(wù)應(yīng)用系統(tǒng)等,并與值班系統(tǒng)聯(lián)動(dòng),實(shí)現(xiàn)故障告警。采用此監(jiān)控系統(tǒng)后,全面提升了天津市地震局應(yīng)急指揮系統(tǒng)的運(yùn)維管理工作效率。同時(shí)形成了獨(dú)立的監(jiān)控配置文件與腳本,可對(duì)行業(yè)應(yīng)急指揮系統(tǒng)進(jìn)行統(tǒng)一監(jiān)控。
地震 應(yīng)急 Nagios 監(jiān)控 報(bào)警
地震應(yīng)急指揮技術(shù)系統(tǒng)是一個(gè)集工程技術(shù)、信息技術(shù)、空間技術(shù)、地震專業(yè)模型、決策支持于一體的綜合系統(tǒng)(楊天青等,2010)。經(jīng)過(guò)“十五”中國(guó)數(shù)字地震觀測(cè)網(wǎng)絡(luò)項(xiàng)目及“十一五”天津地震安全基礎(chǔ)工程項(xiàng)目的建設(shè),天津市地震局已經(jīng)具備了一套較為完備的地震應(yīng)急指揮技術(shù)系統(tǒng),其主要包括天津市地震局應(yīng)急指揮中心系統(tǒng)和濱海地震臺(tái)應(yīng)急指揮技術(shù)系統(tǒng)(備份中心),系統(tǒng)的基本功能為針對(duì)天津周邊發(fā)生的有感地震進(jìn)行觸發(fā)響應(yīng)、災(zāi)害評(píng)估與動(dòng)態(tài)跟蹤、輔助決策、信息服務(wù)、應(yīng)急指揮等(帥向華等,2009)。隨著技術(shù)系統(tǒng)的不斷建設(shè)與完善,其中包括的網(wǎng)絡(luò)設(shè)備、服務(wù)器、應(yīng)用系統(tǒng)等越來(lái)越多,如何把應(yīng)急指揮系統(tǒng)運(yùn)行維護(hù)好,是業(yè)務(wù)人員在日常工作中面臨的一個(gè)重要任務(wù)。
2012年初,以天津市地震局建立的全局統(tǒng)一Nagios監(jiān)控與報(bào)警系統(tǒng)為平臺(tái)(李剛等,2011),將應(yīng)急指揮系統(tǒng)中的各類網(wǎng)絡(luò)設(shè)備、服務(wù)器、業(yè)務(wù)系統(tǒng)進(jìn)行統(tǒng)一管理,實(shí)現(xiàn)了系統(tǒng)監(jiān)控、運(yùn)行狀態(tài)的在線展示、故障報(bào)警等功能,全面提升了系統(tǒng)的運(yùn)行管理能力。
Nagios作為一個(gè)企業(yè)的監(jiān)控軟件,可以對(duì)各類主機(jī)、設(shè)備、服務(wù)等進(jìn)行詳細(xì)監(jiān)控,并具備豐富的擴(kuò)展功能,目前可用于Nagios的擴(kuò)展插件有上千種。
天津市地震局從2010年開始建設(shè)全局統(tǒng)一的Nagios監(jiān)控系統(tǒng),具備了設(shè)備、主機(jī)到應(yīng)用系統(tǒng)的綜合監(jiān)控能力,同時(shí)與 Cacti、Nagvis、WeatherMap等開源軟件的結(jié)合,使系統(tǒng)具備流量統(tǒng)計(jì)、運(yùn)行狀態(tài)在線展示和流量分析等功能。同時(shí)通過(guò)二次開發(fā),與全局值班系統(tǒng)相結(jié)合,實(shí)現(xiàn)了故障消息的全局聯(lián)動(dòng)告警服務(wù)(李剛等,2012),應(yīng)用與服務(wù)效果良好。
目前Nagios監(jiān)控系統(tǒng)已對(duì)信息網(wǎng)絡(luò)、強(qiáng)震、前兆、GNSS等業(yè)務(wù)系統(tǒng)實(shí)現(xiàn)了統(tǒng)一監(jiān)控與告警,圖1為系統(tǒng)結(jié)構(gòu)示意圖。
圖1 系統(tǒng)結(jié)構(gòu)示意圖Fig. 1 System structure and set-up
天津市地震局應(yīng)急指揮技術(shù)系統(tǒng)的Nagios監(jiān)控方案,主要包括以下幾個(gè)要點(diǎn):
統(tǒng)一監(jiān)控:在現(xiàn)有 Nagios平臺(tái)上,實(shí)現(xiàn)對(duì)所有應(yīng)急指揮系統(tǒng)設(shè)備與服務(wù)的監(jiān)控統(tǒng)計(jì),數(shù)據(jù)統(tǒng)一存儲(chǔ)管理;
在線展示:對(duì)各類監(jiān)控要素,要能通過(guò) Nagios、Nagvis、WeatherMap、Cacti等系統(tǒng)實(shí)現(xiàn)統(tǒng)一的在線展示,方便運(yùn)行人員查看;
故障告警:對(duì)各類監(jiān)控要素設(shè)計(jì)告警值,能通過(guò)全局短信網(wǎng)關(guān)將告警信息實(shí)時(shí)發(fā)送給相關(guān)人員,提高了故障的處置能力;
可二次利用:在設(shè)計(jì)與開發(fā)上,將監(jiān)控配置文件與相關(guān)腳本編寫成獨(dú)立應(yīng)用模式,初步形成監(jiān)控標(biāo)準(zhǔn)模板,方便在行業(yè)內(nèi)擴(kuò)展應(yīng)用。
表1為天津市地震局應(yīng)急指揮技術(shù)系統(tǒng)被監(jiān)控的設(shè)備與應(yīng)用清單。
表1 被監(jiān)控的設(shè)備與應(yīng)用列表Table 1 List of equipment and application under the monitoring system
由于采用全局統(tǒng)一的Nagios監(jiān)控系統(tǒng),這里不再介紹Nagios系統(tǒng)的安裝過(guò)程。
應(yīng)急指揮監(jiān)控系統(tǒng)建設(shè)主要從以下幾個(gè)方面介紹。
對(duì)象分組是對(duì)象定義時(shí)必須進(jìn)行的操作,其主要目的在于方便對(duì)象管理,尤其是在大型的網(wǎng)絡(luò)監(jiān)控中,分組更為重要。
為了方便管理,從位置屬性和設(shè)備屬性進(jìn)行了分組,包括局中心應(yīng)急系統(tǒng)分組、濱海地震臺(tái)應(yīng)急系統(tǒng)分組、應(yīng)急網(wǎng)絡(luò)設(shè)備分組、應(yīng)急服務(wù)器分組和應(yīng)急業(yè)務(wù)系統(tǒng)分組。其中應(yīng)急業(yè)務(wù)系統(tǒng)分組屬于服務(wù)監(jiān)控分組,其他都為設(shè)備主機(jī)監(jiān)控分組。我們將應(yīng)急系統(tǒng)分組建立為tjyj_group.cfg文件,存放于nagios服務(wù)器中的/usr/local/nagios/etc/objects/目錄下。
對(duì)象命名前,要統(tǒng)一命名規(guī)則,在實(shí)際中采用如下命名方式:
局應(yīng)急指揮技術(shù)系統(tǒng)設(shè)備:yingji-設(shè)備類型-設(shè)備名稱-其它可描述設(shè)備的信息;
濱海地震臺(tái)應(yīng)急指揮技術(shù)系統(tǒng)設(shè)備:xx19-yingji-設(shè)備類型-設(shè)備名稱-其它可描述設(shè)備的信息,其中xx19是濱海地震臺(tái)的系統(tǒng)編號(hào);
局中心各項(xiàng)應(yīng)用與服務(wù)的監(jiān)控命名:應(yīng)用與服務(wù)名稱-yingji-srv-其它可描述信息;
濱海地震臺(tái)各項(xiàng)應(yīng)用與服務(wù)監(jiān)控命名:應(yīng)用與服務(wù)名稱-xx19-yingji-srv-其它可描述信息。
例如:
局應(yīng)急指揮中心核心交換機(jī)H3C 6502的監(jiān)控名稱為:yingji-h3c-6502;
濱海地震臺(tái) Oracle數(shù)據(jù)庫(kù)服務(wù)器的監(jiān)控名稱為:xx19-yingji-server-75.101-Oracle,其中75.101為該服務(wù)器的IP地址后兩位;
局中心數(shù)據(jù)庫(kù)服務(wù)器上的Oracle監(jiān)控名稱為:Oracle-yingji-srv-48.101;
濱海地震臺(tái)評(píng)估服務(wù)器上的Weblogic服務(wù)的監(jiān)控名稱為:Weblogic-xx19-yingji-srv-75.3。
采用這種命名規(guī)則時(shí),在管理中可以很清楚地區(qū)分各類設(shè)備,同時(shí)也便于二次開發(fā)。
有了分組和命名規(guī)則后,就可以定義每個(gè)對(duì)象信息的具體內(nèi)容。
(1)網(wǎng)絡(luò)設(shè)備的監(jiān)控定義
局應(yīng)急指揮技術(shù)核心交換機(jī)的配置如下,定義中各項(xiàng)內(nèi)容為所用模板、主機(jī)名、別名、IP地址、主機(jī)分組、上層設(shè)備名稱、主機(jī)圖片。
(2)Windows主機(jī)及服務(wù)的監(jiān)控配置
Nagios對(duì)于 Windows主機(jī)的監(jiān)控需要 NSClient++來(lái)支持,本文中采用的版本為win32-0.3.5,首先將NSClient++安裝于所需監(jiān)控的Windows系統(tǒng)中,并將NSClient++設(shè)置為隨系統(tǒng)啟動(dòng)的一項(xiàng)常規(guī)服務(wù),之后在NSClient++的安裝目錄中編輯nsc.ini文件,做如下幾項(xiàng)修改:
① [Module]:將RemoteConfiguration.dll和CheckWMI.dll以外的DLL文件注釋都去掉。
② [Setting]:為password設(shè)定一個(gè)密碼,并去掉注釋。
password=secret-password 改為 password=123456
③ [Setting]:為allowed_hosts選項(xiàng)設(shè)定Nagios服務(wù)器的IP或者設(shè)定一個(gè)IP段,并去掉注釋。如:allowed_hosts=Nagios服務(wù)器IP地址/32。
④ [NSClient]:確認(rèn)port的端口號(hào)是12489,并去掉注釋。
完成修改后,啟動(dòng)nsclient++服務(wù)。
注意:在有些Windows主機(jī)中,開啟了防火墻功能,此時(shí)要將tcp 12489端口打開,否則將不能正常監(jiān)控。
在Windows主機(jī)中安裝完成后,在Nagios服務(wù)器的/usr/local/nagios/etc/objects/command.cfg文件中,添加一條對(duì)于應(yīng)急指揮系統(tǒng)的監(jiān)控命令,如下所示:
完成上述工作后,可以配置對(duì)一臺(tái)Windows主機(jī)及其服務(wù)的監(jiān)控,如下:
在服務(wù)與業(yè)務(wù)系統(tǒng)的監(jiān)控中,可以通過(guò)不同的監(jiān)控命令實(shí)現(xiàn)不同監(jiān)控需求。
對(duì)于主機(jī)上評(píng)估系統(tǒng)的監(jiān)控:
對(duì)于主機(jī)上有關(guān)TCP服務(wù)端口的監(jiān)控:
在應(yīng)急系統(tǒng)中,很多業(yè)務(wù)系統(tǒng)已采用基于WebLogic的WEB模式提供服務(wù),不同的應(yīng)用采用不同端口,通過(guò)上面的命令即可實(shí)現(xiàn)對(duì)其運(yùn)行狀態(tài)的監(jiān)控。
完成監(jiān)控文件的編寫后,上傳到Nagios服務(wù)器,通過(guò)如下命令檢測(cè)配置文件是否正確,在無(wú)錯(cuò)誤提示的情況下,可通過(guò)重新啟動(dòng)Nagios進(jìn)程實(shí)現(xiàn)對(duì)應(yīng)急系統(tǒng)的監(jiān)控。
在Nagios完成系統(tǒng)監(jiān)控后,通過(guò)NagVis實(shí)現(xiàn)監(jiān)控系統(tǒng)的統(tǒng)一展示。NagVis可以將各類Nagios監(jiān)控信息以圖形化的方式展示給用戶,提高系統(tǒng)的可視化能力。它在用戶選擇的背景圖片上顯示主機(jī)和服務(wù)狀態(tài),根據(jù)監(jiān)控對(duì)象的狀態(tài)顯示不同圖標(biāo),紅色圖標(biāo)為嚴(yán)重告警,黃色為普通告警,綠色為正常運(yùn)行,灰色圖標(biāo)為未知狀態(tài)。詳細(xì)的NagVis使用方法請(qǐng)參考系統(tǒng)手冊(cè)。
將前面完成的各類監(jiān)控系統(tǒng)在NagVis中進(jìn)行統(tǒng)一展示,如圖2所示。圖中按機(jī)柜與設(shè)備的安裝部署位置,實(shí)時(shí)標(biāo)注出設(shè)備與應(yīng)用服務(wù)的運(yùn)行狀態(tài),正方形圖標(biāo)為設(shè)備運(yùn)行狀態(tài),圓形圖標(biāo)為應(yīng)用與服務(wù)運(yùn)行狀態(tài)。
圖2 NagVis監(jiān)控圖Fig. 2 Display of NagVis
在 Nagios及相應(yīng)組件中,已經(jīng)有界面報(bào)警、郵件報(bào)警和語(yǔ)音報(bào)警三個(gè)功能,局中心的Nagios系統(tǒng)進(jìn)行了二次開發(fā),實(shí)現(xiàn)了與值班系統(tǒng)聯(lián)動(dòng)的監(jiān)控信息故障短信報(bào)警功能,可以實(shí)現(xiàn)不同業(yè)務(wù)系統(tǒng)的快速故障通知、通告。系統(tǒng)拓?fù)鋱D如圖3所示。
在系統(tǒng)中,首先由Nagios監(jiān)控系統(tǒng)生成故障告警信息,故障分類系統(tǒng)根據(jù)設(shè)定的分類原則并與值班數(shù)據(jù)庫(kù)進(jìn)行匹配檢測(cè),生成告警短消息,寫入短信發(fā)送系統(tǒng),實(shí)現(xiàn)故障信息短信通知。
此系統(tǒng)設(shè)計(jì)的非常靈活,如我部門5位值班員,濱海地震臺(tái)3位值班員,部門管理員可以為所有人員根據(jù)值班時(shí)間設(shè)定值班數(shù)據(jù)信息,實(shí)現(xiàn)故障消息只發(fā)送給在班人員。同時(shí),如果是局中心的應(yīng)急系統(tǒng)出現(xiàn)故障,則信息只發(fā)送給局中心值班人員;如果是濱海地震臺(tái)應(yīng)急系統(tǒng)出現(xiàn)故障,則故障消息通過(guò)消息分類原則,分別為局中心應(yīng)急系統(tǒng)值班員和濱海地震臺(tái)應(yīng)急系統(tǒng)值班員同時(shí)發(fā)送故障信息,實(shí)現(xiàn)故障響應(yīng)聯(lián)動(dòng),提高故障響應(yīng)能力。有關(guān)故障告警功能的詳細(xì)內(nèi)容,請(qǐng)參考李剛編寫的《基于Nagios軟件的手機(jī)短信聯(lián)動(dòng)告警系統(tǒng)在地震行業(yè)中的初步研究應(yīng)用》1李剛,2012.基于Nagios軟件的手機(jī)短信聯(lián)動(dòng)告警系統(tǒng)在地震行業(yè)中的初步研究應(yīng)用.天津市地震局.,其中有詳細(xì)表述。
圖3 故障信息系統(tǒng)示意圖Fig. 3 Frame of failure reporting system
通過(guò)應(yīng)急指揮監(jiān)控系統(tǒng)的實(shí)施與應(yīng)用,天津市地震局應(yīng)急指揮技術(shù)的運(yùn)行監(jiān)控能力得到了很大的提高,具體如表2所示。
表2 應(yīng)用效果對(duì)比Table 2 Comparison of application effect with and without the system
系統(tǒng)運(yùn)行后,大大提高了天津市地震局應(yīng)急指揮系統(tǒng)的運(yùn)行維護(hù)管理能力,使技術(shù)系統(tǒng)的設(shè)備和業(yè)務(wù)系統(tǒng)得到全面監(jiān)控、實(shí)時(shí)了解與掌握系統(tǒng)狀態(tài),從而提升了系統(tǒng)的服務(wù)水平。
Nagios開源網(wǎng)管系統(tǒng)在2010年已經(jīng)在地震行業(yè)中進(jìn)行了部署應(yīng)用,Nagios系統(tǒng)能夠監(jiān)控網(wǎng)絡(luò)化的儀器設(shè)備與業(yè)務(wù)系統(tǒng),是開源網(wǎng)絡(luò)管理系統(tǒng)中應(yīng)用最廣的軟件之一。通過(guò)上述工作,將天津市地震應(yīng)急指揮技術(shù)系統(tǒng)的業(yè)務(wù)加入到天津市地震局綜合監(jiān)控系統(tǒng)當(dāng)中,實(shí)現(xiàn)了基于B/S結(jié)構(gòu)的網(wǎng)絡(luò)管理方式,為應(yīng)急指揮技術(shù)系統(tǒng)的各類IP設(shè)備、儀器與服務(wù)運(yùn)行監(jiān)控管理工作提供了幫助,實(shí)現(xiàn)了故障聯(lián)動(dòng)報(bào)警功能,大大提高了業(yè)務(wù)系統(tǒng)的故障響應(yīng)與處置能力。
李剛,周利霞,王曉磊等,2011. 開源網(wǎng)管系統(tǒng)在地震監(jiān)測(cè)網(wǎng)絡(luò)中的應(yīng)用. 西北地震學(xué)報(bào),33(4):380—385.
李剛,王曉磊,孫路強(qiáng)等,2012. 基于Nagios軟件的綜合短信聯(lián)動(dòng)告警系統(tǒng)在地震行業(yè)中的應(yīng)用研究. 地震研究,35(1):133—138.
帥向華,姜立新,王棟梁,2009. 國(guó)家地震應(yīng)急指揮軟件系統(tǒng)研究. 自然災(zāi)害學(xué)報(bào),18(3):99—105.
楊天青,帥向華,2010. 國(guó)家地震應(yīng)急指揮技術(shù)系統(tǒng)建設(shè)中的關(guān)鍵技術(shù)及應(yīng)用. 震災(zāi)防御技術(shù),5(2):208—214.
Comprehensive Application of Nagios Monitoring System in Tianjin Earthquake Emergency System
Zhang Hui, Zhou Lixia, Yao Huiqin and Sun Jingyan
(Earthquake Administration of Tianjin Municipality, Tianjin 300201, China)
Based on the Open Source Systems of Nagios, Cacti, NagVis, an Operation Monitoring System was developed in the Industry Network of Tianjin Seismological Bureau. This system is capable of monitoring various types of network equipment, instruments and services. Moreover, the system failure alarm system with the duty system linkage was realized to improve ability of the overall operation Monitoring Failure correspondence. It has been shown that the operation of the Open Source Systems in the Seismic Industry Network made it more efficient for the emergency responding system of Tianjin Seismological Bureau.
張暉, 周利霞,姚會(huì)琴,孫晶巖,2012.Nagios監(jiān)控系統(tǒng)在天津地震應(yīng)急系統(tǒng)中的綜合應(yīng)用.震災(zāi)防御技術(shù),7(3):322—328.
天津市地震局青年地震科學(xué)基金(2200404)
2012-06-15
張暉,女,生于1979年。工程師。主要從事地震應(yīng)急工作。E-mail: zhanghui@mail.tjdzj.com
致謝:本項(xiàng)工作的實(shí)施得到了天津市地震局信息中心李剛的大力支持和幫助,在此表示衷心的感謝!
Κey words: Earthquake; Emergency; Nagios; Monitoring; Alarm