admin管理员组

文章数量:1530842

2024年6月27日发(作者:)

第33卷第4期 

西北地震学报 

Vo1.33 No.4 

Dec.。2O11 

2011年12月 

NORTHWESTERN SEISMOLOGICAL JOuRNAL 

开源网管系统在地震监测网络中的应用 

李 刚,周利霞,王晓磊,齐士超,姚会琴,孙晶岩 

(天津市地震局,天津300201) 

摘要:使用Nagios、Cacti、NagVis等开源系统在天津市地震局行业网络中搭建开发了一套运行监 

控系统,可实现对区域内各类网络设备、仪器与服务的集中监控,同时建立于系统的故障报警与值 

班系统的联动机制,提高了网络环境中各专业台网整体运行监控与故障响应能力。 

关键词:地震监测网络;开源网管系统;监控;Nagios;联动报警 

中图分类号:P315*一392 文献标识码:B 文章编号:1000—0844(2011)04—0380—06 

Application of Open Source Systems in the Seismic Monitoring Network 

LI Gang,ZHOU Li—xia,WANG Xiao—lei,QI Shi—chao,YAO Hui—qin,SUN Jing—yan 

(EarthquakeAdministration of Tianjin,Tianjin 300201,China) 

Abstract:Using the Open Source Systems such as Nagios,Cacti,NagVis,an Operation Monitoring 

System has been developed in the Industry Network of Earthquake Administration of Tianjin.It 

can focus Oil monitoring various types of network equipment,instruments and services.It 

achieves the failure alarm system in the network with the duty system linkage,and improves 

ability of the overall operation monitoring as well as response abilit to failures. 

Key words:Earthquake monitoring network;Open source systems;Monitoring;Nagios;Linkage 

alarm 

0 引言 

经过“十五”中国数字地震观测网络项目及“十 

针对天津市高速地震行业信息网络系统的具体 

情况,要求网络监控系统有丰富的管理与维护功能, 

主要包括:①对各类设备进行监控,包括非SNMP 

五”天津地震安全基础工程项目的建设,天津市地 

震局已经建成了一套服务于辖区内的高速地震行业 

信息网络系统,覆盖测震、强震、前兆、GPS、地震应 

急、信息服务、政务办公、专业地震台站、区县地震办 

设备;②设备监控与应用服务监控;③监控信息综合 

展示;④监控信息统计报告;⑤分级邮件及短信故障 

报警;⑥良好的图形展示;⑦数据流量统计与展示; 

⑧B/S结构中多级用户在线应用;⑨二次开发接口 

功能等。 

公室等区域,接人各类设备与仪器近500余台套,成 

为天津市地震监测的基础网络系统。 

为了管理好这个综合网络系统,2009年我们以 

Nagios、Cacti和NagVis等开源软件为基础,通过集 

在建立网络监控系统过程中,我们以信息服务、 

前兆台网和专业台站的主要业务运维监控来检测上 

成开发,搭建了高效、可靠、易用并具备良好开发接 

El的网络监控系统实现全网综合监控,解决了常规 

网管软件在系统运行维护中所遇到的难点问题,现 

已应用于全网的运行管理之中。本文就此监控系统 

述功能,包括:区域通信链路状态的监控,网络设备 

状态及应用服务状态的监控,专业仪器与设备的监 

控。 

的组建与开发情况做一介绍。 

1 开源网管系统功能要求 

收稿日期:2010—01—23 

作者简介:李

2 Nagios开源网管系统 

刚(1978),男,山西襄汾人,工程师,主要从事地震信息与应急系统的建设与管理工作 

第4期 李 刚等:开源网管系统在地震监测网络中的应用 381 

2.1系统功能 

开源网管系统是近几年迅速发展起来的网络管 

理系统,Nagios在开源网管系统中被定义为一个企 

业的监控软件,可以对各类主机、设备、服务等进行 

详细监控,具备丰富的扩展功能,目前可用于Na— 

gios的扩展插件有上千种。本系统中用到的开源软 

件和扩展插件包括: 

Nagios--plugins:Nagios的基本插件,用来完 

成多项检查功能,如文件系统、内存使用情况、CPu 

利用率等; 

NDOUtils:将Nagios系统的配置与监控信息 

写入数据库,实现监控信息共享; 

NRPE:Nagios扩展插件,部署于Nagios系统 

和被监控的Unix或Li

#{ 嚣_一

nux服务器,用于监控远程 

 

服务器的运行情况,可称为Nagios for Unix客户 

端; 

NSClient++:是Nagios for Windows客户 

端,实现Nagios对Windows服务器的监控; 

NagVis:Nagios扩展插件,为Nagios的监控 

信息图形展示平台; 

Cacti:网络流量监测图形分析工具。 

Cacti也有非常多的扩展插件,其中的Nagios 

Plugin for Cacti(NPC)可以将Nagios与其进行集 

成,实现Cacti对Nagios进行各类查询与图形展示。 

2.2系统安装 

2.2.1安装环境准备 

本文的Nagios系统部署在一台服务器中,为 

DELL1900,Intel CPU 2.4 G,2 G内存,100/1000 

M网卡,80 G硬盘。操作系统为Suse Enterprise 

Server 10 with SP2,同时系统中安装有Apache2、 

PHP5、Mysql5、c/c++development libraries、Gd 

库和Oracle组件等程序。默认语言为English,同 

时支持安装简体中文。IP地址为1O.12.12.210。 

2.2.2 Nagios、Cacti平台及插件的安装 

Nagios、Cacti、插件的安装可以参考官方文档 

与手册,我们的安装顺序与软件版本如下:Nagios 

基础平台,3.0.6版;Nagios—plugins,1.4.13版; 

NDOUtils,1.4b7版;NRPE,2.12版;Cacti,0.8.7d 

版(安装cacti之前,系统中需安装RRDTool和 

NET—SNMP软件包);Cacti Plugin Architecture, 

版本与Cacti匹配即可;NPC版本2.0.3;NagVis 

版本1.4.1(需要Php5一gd、Php5一gettext、Php5 

mysqlPhp5一mbstring、Php5一session、Php5一 

xml、Graphviz等模块与软件支持)。 

W 

服务器 

indo w s 

服务器 

日 

墨。 各类设备及仪器 甘 队” 网络服务 

图1 Nagios系统结构示意图 

Fig.1 Sketch of the Nagios system structure. 

我们已经编写出上述软件的综合安装手册,由 

于内容较多,在此不再叙述。 

安装完成后,可以通过http://lO.12.12.21o/ 

nagios/、http://10.12.12.210/cacti/和http://10. 

12.12.21O/nagios/nagvis登录到nagios、cacti和 

nagvis界面。 

3 Nagios系统的配置与应用 

在目前的Nagios系统中没有商业网管软件的 

自动发现功能,配置与定义工作需要手工完成。本 

文中将各类被监控的设备、服务等统称为“对象”。 

3.1对象模板 

Nagios采用了面向对象技术,系统中定义有各 

种对象模板,如主机模板、服务模板等,存放在/usr/ 

local/nagios/etc/objects/templates.cfg文件中,它 

们定义了相关对象的共有参数。用户可以建立自己 

特定的对象模板。将各类监控设备与服务加入系统 

时,必须选择一个对象模板。 

3.2对象分组 

对象分组是对象定义时必须进行的操作,主要 

包括主机分组与服务分组,目的在于便于对象管理。 

主机分组可以根据部门、设备类型划分,服务分 

组可以根据服务类型进行定义。 

3.3 对象命名 

对象命名前要统一命名规则,我们采用如下方 

式:部门名称一设备类型一设备名称。 

382 西北地震学报 

host

name center—h3C一7510 

第33卷 

此种命名规则可以清楚的区分各类设备,并便 

于二次开发。 

3.4对象定义 

alias HuaWei 75 10 Switch 

address 10.12.12.1 

hostgroups switches 

在对象模板、分组信息和对象命名规则建立好 

后,开始定义对象信息。 

各类对象定义存放在/usr/local/nagios/etc/ 

objects目录中。对象定义时建议按设备所属部门 

或类型分类建立相对独立的定义文件,并按照从上 

statusmap——image multilayer

switch.gd2} 

——

在Nagios中,除了主机外各类检测都是以服务 

方式来定义。核心交换机上联端口的检测配置如 

下,各项内容为服务模板、服务附属主机名、服务分 

层对象向下层对象的顺序进行。 

3.5对象定义实例 

我们以图2为例进行详细的对象定义描述。 

注意:所有的监控主机都是通过ping命令进行 

检测的,因此要确保nagios到被监控主机的ping可 

达。 

图2中,各类设备仪器的参数如下:Nagios系 

统IP:10.12.12.210;核心交换IP:10.12.12.1;台 

站交换IP:10.12.68:1;Windows服务器IP:10. 

12.12.200;Linux服务器IP:10.12.12.201;前兆 

仪器IP:10.12.68.5。 

Windows Linux 前兆 

服务器及服务 服务器及服务 仪器 

图2 监控对象拓扑图 

Fig.2 Analysis situs chart of Monitoring obj ects. 

三台服务器要监控CPU、硬盘空间、内存利用 

率等信息。Linux服务器要监控数据库和www 

服务运行情况;Windows服务器要监控Nagios— 

sms.exe进程运行情况;核心交换机和台站交换机 

要监控上连端口运行情况和流量,以下本文只列出 

了重要配置信息选项。 

3.5.1 核心交换机的监控配置 

核心交换机是此例的最高层,以下定义中各项 

内容分别为所用模板、主机名、别名、IP地址、主机 

分组、主机图片: 

define host{ 

l】se switchS 

组、服务描述、检测命令(注:Nagios的检测命名有 

很多,详细请参考Nagios手册)。 

define service{ 

use generic--pOrt—service 

host

name center--h3c一7510 

servicegroups Switch

Up

I ink 

service

——

description Port Serial 0/0/0 Link 

Status 

check

command check

snmp!~C pubtj—O 

ifOperStatus.29一r 1一m RFC1213一MIB} 

3.5.2 台站交换机的监控配置 

台站交换机与核心交换机的区别在于它的定义 

中多了一个parents选项,即定义此交换机上层对 

象为核心交换机(一个对象可以定义附属于多个上 

层对象),同时,此交换机属于两个分组,即交换机分 

组和xxl0(蓟县地震台)分组。 

define host{ 

host

namexxl0一jxt—h3c一5516 

address10.12.68.1 

hostgroupsswitches,xxl0

Station

Group 

parents center--h3c一751O} 

3.5.3 台站前兆设备的监控配置 

define host{ 

useqz— device 

host

namexxl0一qz—ZDaBI 

address10.12.68.5 

hostgroupsxx1O

Station

Group 

parents xxl0一jxt—h3c一5516} 

3.5.4 Linux服务器的监控配置 

要监控Linux服务器,需要在被监控的Linux 

服务器上安装NRPE。安装完成后,编辑被监控 

Linux服务器中/usr/local/nagios/etc/nrpe.cfg文 

件,在其中修改如下监控命令行:commandEcheck~ 

load ̄一/usr/loca1/nagios/libexec/check—load—w 

15,10,5一C 30,25,2O。监控CPU负载,l、5、15分 

钟内平负载大于15%,lO ,5 时普通告警,大于 

第4期 李 刚等:开源网管系统在地震监测网络中的应用 383 

30 ,25 ,2O 时故障告警。 

command[check—sda2]一/usr/loca1/nag os/ 

libexec/check—disk—w 2O 一C 10 一P/dev/ 

sda2监控/dev/sda2硬盘空间,可用空间小于20 

时普通告警,小于10 时故障告警。 

在Nagios服务器上对此台Linux服务器进行 

配置,如下所示,其中前两个是通过NRPE来检测 

CPU和硬盘空问,第三个和第四个是对HTTP和 

MySql服务的检测。 

define host{ 

host

name linux—web—data—srv} 

define service{ 

use generic--service 

hostname linux—web—data—srv 

servicegroups CPU

——

Load 

check

command check

nrpe!check

load} 

define service{ 

servicegroups Disk

Free 

——

check

command check

nrpe!check

sda2} 

define service{ 

servicegroups WWW—Service 

check

command check

http 1 10.12.12.201 1 

w 5 c 10} 

define service{ 

servicegroups MySq1一Service 

check

COmmand check

mysql 1 1O.12.12. 

201 1 root!test} 

3.5.5 Windows服务器的监控配置 

Nagios对于Windows主机的监控需要NSCli— 

ent++来支持,首先在Windows主机中安装 

NSClient++,之后在Nagios服务器/usr/local/na— 

gios/etc/objects/command.cfg文件的check—nt命 

令行中加入与被监控服务器中相同的监控密码参数 

(一S项),如下: 

define command{ 

command

_

name check

——

nt 

command

line¥USER1¥/check—nt—H 

¥HOSTADDRESS¥一P 12489一S 123456一v 

¥ARG1¥¥ARG2¥} 

定义被监控主机监控内容如下,其中第二项为 

CPU负载监控,5分钟内大于80 9/6为普通告警,大 

于9O 为故障告警;第三项为C盘使用空间监控, 

监控C盘占用空间大于8O 9/6为普通告警,大于9O 

为故障告警;第四项是对Nagios—SMS.exe进程的 

监控,在进程关闭时给出故障告警。 

define host{ 

host

name sms—winservert} 

define service{ 

use generic。——service 

host

name sms—winserver 

check

command check

nt!CPUI ()AD!一l 

5,8O,90} 

define service{ 

check

command check

nt!USEDDISK— 

SPACE!一l C—w 80一C 90} 

define service{ 

check

command check

nt! PR()CSTATE! 

d SHOWAI I 一l Nagios

sms.exe} 

3.5.6 Nagios服务器配置检测 

完成上述配置后,通过如下命令检测配置文件 

是否正确。 

# /usr/loca1/nagios/bin/nagios —v/usr/local/ 

nagios/etc/nagios.cfg 

输出为Total Warnings:0、Total Errors:0时 

表示配置无误,如果有错误则会给出比较详细提示 

信息,修改到无误后重启Nagios,即可实现上述信 

息监测。 

3.5.7流量监控配置 

流量监控通过Cacti来实现,首先要在Cacti中 

增加核心交换机与台站交换机,由于Cacti已经和 

Nagios进行了集成,在增加设备界面中可以从Na— 

gios Host Mapping中选择两台交换机,并配置好 

SNMP参数即可。 

设备添加完后选择Create Graphs for this host 

创建此设备的端口流量图形,选择所需监控端口及 

数据统计类型为In/Out Bytes(64一bit Counters) 

即可,创建图形后,几分钟后即可看到流量统计结 

果。 

在Cacti的流量统计中,可以根据不同时间段 

进行统计查询,在网络系统的管理工作中非常实用 

与有效。 

Cacti的图形监控不仅可用于各类交换机、路由 

器的端口流量统计,也可实现图形化的各类服务效 

率、CPU、内存利用率的展示。 

3.5.8 NagVis显示配置 

NagVis图形展示需要手工定制完成,首先要建 

立上述的拓扑底图,将其存储为png格式上传到 

NagVis系统中,之后建立监控图,确定图形名称、用 

384 西北地震学报 第33卷 

户浏览与修改权限、图标大小等信息,并选择各类上 

传的图片为背景图即可。最后通过Edit current 

map,将Nagios中监测的主机与服务绑定到图形 

控管理,蓟县地震台负责10.12.64.0—10.12.69. 

255内的设备管理,前兆台网负责10.12.40.0—10. 

12.43.255内的设备或设备名称中还有qztw关键 

字的设备管理(表1)。 

中,所有内容绑定完成后保存退出。 

目前我们已将天津地震信息服务、前兆台网和 

专业台站的主要业务加入到监控队列,并生成了全 

网通信链路状态的监控(广域网)图、局域网设备状 

态及应用服务状态的监控图、前兆台网IP网络整体 

情况监控图、蓟县地震台站IP网络整体情况监控 

图,在实际工作中发挥了很好的作用。 

4二次开发故障信息短信报警 

与监控系统相关的是故障报警系统,在Nagios 

中,已经提供了界面报警、邮件报警和语音报警三个 

功能,通过一定的软件或插件,还可实现短消息的故 

障报警功能。 

Nagios 

数据库 

值班 

数据库 

短消息 

数据库 

图3 故障信息系统示意图 

Fig.3 Sketch of the information system of breakdown. 

表1 IP分段与关键字表 

短消息的故障报警是目前常用的远程故障通知 

方式,Nagios可以通过联系人对象实现普通的短信 

告警通知,但这种方式与全网故障联动报警还有一 

定差距的,我们在工作中,基于Nagios故障消息建 

立了一套故障分类系统,并将其与值班系统进行关 

联,实现了故障消息的全网联动,大大提高了全网 

IP类仪器设备的故障影响处理能力。 

4.1值班系统概述 

值班人员定义了A、B、C、D四个用户,属于上 

面定义的三个部门,每个用户都有自己的值班时限。 

4.2故障分类系统概述 

Nagios系统的Notifications数据表中存放着 

记录到的故障、警告和恢复消息。故障分类系统就 

是在检测到新故障时根据对应的IP地址和仪器名 

称关键字来生成故障消息模板,之后再把模板与值 

班系统比对,找到负责此IP地址或仪器关键字并且 

在值班时限内的用户,他们即是此次故障信息的接 

收者。表2列出两个消息事件加以说明。 

值班系统用于管理全网所有人员的值班情况, 

包括信息网络、各专业台网和台站所有参与业务管 

理工作的人员。在人员定义中,包括其所负责管理 

的IP地址段和设备名称关键字,以及值班时限。 

在天津市地震局,信息中心负责所有的设备监 

表2故障事件状态信息表 

22号信息,比对IP地址和名称关键字后,此信 

息只与信息中心匹配,消息产生时间与信息中心A 

人员的值班时限相关,因此生成的故障信息只发送 

给用户A。 

的方式进行发送,天津市地震局建立了基于五个 

GSM Modem的短信发送系统,系统实时检测短信 

数据库,对未发送的消息以抢占方式进行发送。 

在Nagios的应用中,故障分类系统按格式要求 

23号信息,比对IP地址和名称关键字后,匹配 

蓟县地震台和前兆台网两个部门,同时消息产生时 

将消息写到短信数据库中,并提升发送优先级,实现 

故障信息优先发送。 

间与B、D用户相关,因此系统将故障消息发送给 

B、D用户,这样就形成了前兆台网中心和蓟县地震 

台间的故障联动报警。 

4.3短信发送系统概述 

5 总结 

通过以上工作,我们在天津市地震局业务系统 

中建成了基于Nagios、Cacti、NagVis开源网络管理 

与监控系统,实现了基于B/S结构的网络管理方 

短信发送系统就是将短信数据库的消息按指定 

第4期 李 刚等:开源网管系统在地震监测网络中的应用 385 

式,为辖区内的各类IP设备、仪器与服务运行监控 

管理工作提供了帮助,实现了故障联动报警功能,提 

高了业务系统的故障响应与处置能力。 

[参考文献] 

李刚,周利霞,王晓磊,等.高速区域网络环境中的网站负载均 

衡系统EJ].西北地震学报,2009,31(3):296—301. 

宋磊,王静文.OpenBSD下基于Nagios的网络服务监控报警 

近一年的使用中,系统先后为强震台网、信息网 

络、前兆台网提供了全面的仪器、网络、业务服务情 

况监控,得到了用户好评,特别是在信息网络与前兆 

台网内,此系统已经为H常监控的重要手段。 

另外,在此系统的建设过程中,受到兄弟单位的 

大力帮助,特别是山东省地震局王方建,河北省地震 

局李永庆及中国地震台网中心赵军等同仁,在此表 

示感谢。 

系统的研究[J].电脑编程技巧与维护,2009,(14):112-113. 

李晨光.Linux系统网络管理模块的实现[J].铁路计算机应 

用,2008,(17):35—37. 

何辉,权晓红,石全民,等.自主设计网管系统~—开源软件以 

及自由软件应用于网络管理方案[J].中国教育网络,2009, 

(6):42—47. 

Richard C Harlan.Network Management with Nagios[J]. 

Linux Journal,2003. 

口 

] ] ] ] ] 

嘲 

业业 Ik夸 业jk・ -le业jj 业 业 

嘲 吲 

—9k—9譬业 k-le—9k jk・÷k—§ 业 

跚 

坐 j 业业 业 jkj 业 j —9 j k坐

(上接358页) 

(3)夯土墙体抗剪强度受竖向荷载影响较大。 

随着上覆压力的增加,墙体的开裂荷载、极限荷载得 

到了较大幅度的增长,有利于提高墙体抗震能力。 

(4)夯土墙体的不对称性会大大降低墙体的抗 

剪强度。 

中国地震动参数区划图(GB18306—2001)[s].北京:中国标 

准出版社,2001. 

任祥道.透过“5.12”汶川地震思考农房抗震[J].四川I建筑, 

2008,28(4):6-7. 

石玉成,王兰民,林学文.黄土生土建筑震害预测研究[J].西 

北地震学报,2004,26(3):206-211. 

(5)使用具有一定强度的铁丝网来加固现存夯 

土民房承重墙体,是一种针对夯土墙体薄弱部位的 

加固改造方法,对于经济不发达的农村地区来讲,也 

是一种方便、经济、有效的加固方法。 

[参考文献] 

[1] 王兰民,林学文.农村民房抗震理论与技术[M].兰州:甘肃科 

学技术出版社,2006. 

王峻.黄土地区农村民房生土建筑土墙体材料抗震性能的试 

验研究IJ].西北地震学报,2005,27(2):158—162. 

王毅红,苏东君,刘伯权,等.生土结构房屋的承重夯土墙体抗 

震性能试验研究[J].西安建筑科技大学学报,2007,39(4): 

451—456. 

谭冠平.云南农村民居典型土筑墙基本力学试验研究[D].昆 

明:昆明理工大学,2007. 

李德荣,黎海南,陈丙午.甘肃农村土墙承重平房抗震性能的 

试验研究[J].工程抗震,1987,(3):14—19. 

本文标签: 监控系统故障地震网络