APP下载

辽宁省地震信息网络运行监控系统建设

2019-10-15黄淼婉刘静闻殷轶娜王秀木

防灾减灾学报 2019年3期
关键词:路由器分组定义

黄淼婉,刘静闻,殷轶娜,王秀木,查 楠

(辽宁省地震局,辽宁 沈阳 110034)

0 引言

辽宁省地震局现有参评网络信息节点27条、测震节点39 条和100 余台前兆节点仪器,另有2 台核心交换机、2 台核心路由器,及20多套服务器,以上全部节点都需要实时监控。为了更好的实现实时监控,需要一款可以实时监控网络及主机设备状态,并且能够随时报告状态的系统。

Nagios 是一款开源网络监控工具,他不需要收取任何费用,且能有效的监控网络及系统的运行情况。适用于Unix、Linux 和Windows环境,同时它提供一个网页版界面,系统管理人员可以在任意时间浏览器访问该界面,在上面查看被监控服务/主机的网络状态及监控日志等各种信息。近年来,Nagios 因为安装简单、功能强大、扩展性良好且不收取费用,很多公司企业都采用其来监控自己的网络系统;在地震行业内,天津、湖北等局也在使用Nagios 作为监控手段。

1 Nagios 监控系统介绍

只有独立的服务器上才可以安装Nagios 软件,但如果没有独立的服务器,安装在虚拟服务器上也可以。这台服务器被称为监控中心,该服务器只能安装Linux 及Unix 系统,并且每一台被监控的服务或硬件主机都运行一个与监控中心进行联通的Nagios 软件后台程序,或者称呼其为插件或Agent 均可。监控中心读取配置文件中的命令,并与远程的后台程序进行联通,让后台程序进行定期检查并回复结果。基于被监控的主机或服务器(不像监控中心一样只能安装Linux 或Unix 操作系统,它可以是任何操作系统)返回的信息,Naigos 将根据设置进行应答;之后通过对比本地的机器的测试的结果,Nagios 会进行判断被监控的主机或服务是否正常,如果测试的结果显示为非正常状态,Nagios 将通过邮件、短信等方式通知系统管理人员[1]。

2 监控系统建设

2.1 监控对象模板

在/usr/local/nagios/etc/object/templates.cfg 文件中定义Nagios 监控对象,其中对象定义采用了面向对象的方法,系统中定义各种对象模板/对象类,常用的有主机(用于监控主机的共有参数设定)、服务(用于监控服务的共有参数设定)、联系人(用于联系人共有参数设定)三种[2]。对象模板没有统一的格式,根据不同的需求,建立适用于自己的特定对象模板,如果不想定义新的对象模板,可以在原有模板的基础上进行修改。其中定义监控对象时,需要选择一个对象模板。

下面建立了一个名为templates.cfg 的文件,监控中用到的通用对象参数在该文件中定义,以下为定义设备需要注意的参数:

(1)监控时间:check_period,一般定义为24x7,就是一周7 天24 小时不间断;

(2)检测周期:check_interval,多久检测主机一次状态,以分钟为单位;

(3)最大检测次数:max_check_attempts,设置收到主机状态异常多少次之后,确认为故障;

(4)宕机时监测时间:retry_check_interval,监控到主机状态异常时,监控的时间间隔,以分钟为单位;

(5)报警通知时间:notification_period,以分钟为单位;

(6)报警间隔:notification_interval,设置状态异常时的报警提醒间隔,以分钟为单位;

(7)状态通知:notification_options,定义主机在什么状态的时候,产生报警。一般都是在主机宕机及恢复的时候,发出提醒。其中w指的是报警状态;u 指的是不明状态;c 指的是危急状态;e 为恢复正常状态。

以下为定义服务需要注意的参数:

(1)主动检查:active_checks_enabled,1为启用,0 为不启用;

(2)被动监控:passive_checks_enabled,1为启用,0 为不启用;

(3)并行化:parallelize_check,主动检查需要一起进行,1 为启用,0 为不启用;如果该项不启用,会造成会导致系统出现问题;

(4)报警通知:notifications_enabled,1 为允许,0 为不允许;

(5)状态信息:retain_status_information,1为保存状态信息,0 为不保存。

2.2 对象分组

为了在Web 上查看方便,所以我们需要对监控的主机或服务进行分组,而如果想要对监控的主机或服务进行分组,就必须在对象定义前对对象进行分组,一般主要分成主机、服务两类。在分组时,可以根据业务、用途、地理位置、服务类型等标准进行分组。

对象分组定义样例如下:

服务/对象进行分组时为1 对n 的关系(n个对象分组里面可以包含同一个服务/对象),具体的分组定义实例下文有详细的例子进行说明。

辽宁局根据设备类型及所属部门一共定义了五个分组:辽宁局路由器(21_liaoning_routers)、市县路由器(21_liaoning_network_center_routers)、台站路由器(21_liaoning_station_routers)、国家台站路由器(21_liaoning_country_routers)、辽宁局服务器(21_liaoning_linux_routers)。如下所示:

在此基础上按台站所属地定义了14 个分组:分别为抚顺(fushun)、锦州(jinzhou)、大连(dalian)、本溪(benxi)、辽阳(liaoyang)、阜新(fuxin)、葫芦岛(huludao)、丹东(dandong)、朝阳(chaoyang)、营口(yingkou)、铁岭(tieling)、鞍山(anshan)、盘锦(panjin)、沈阳(shenyang)。

2.3 对象命名

必须要规划好命名规则才能进行对象命名,因为系统是通过名字区分设备,即使是同一个设备,如果设定的名字不一样,也会被认为是不同的设备①天津市地震局.Nagios、Cacti、WeatherMap 等开源网关系统的安装与使用手册(版本1.0.1).天津:天津市地震局,2010.。

辽宁局有两套命名规则:一套参评主机设备服务命名规则(与国家标准相同);还有一套未参评主机设备服务命名规则。

2.3.1 参评系统

主机与设备命名:

021(辽宁省地震局区域节点号)_设备所在节点号(3 位)_所属部门(2 位)_设备名称描述。

服务命名:

021(辽宁省地震局区域节点号)_设备所在节点号(3 位)_所属部门(2 位)_设备名称描述_服务名称描述。

在上面规则中,设备节点号如表1 所示,为辽宁省参评节点统一使用节点号。

表1 辽宁省参评节点节点号

根据上面的定义,鞍山地震台路由器名称为:21_103_anshan,其他台站市县以此类推。

2.3.2 未参评系统

主机与设备命名:

市级区域简写_县/台站区域简写_所属部门(2 位)_设备名称描述_设备型号。

服务命名:

市级区域简写_县/台站区域简写_所属部门(2 位)_设备名称描述_设备型号_服务名称描述。

根据上面的定义,沈阳地震台的前兆服务器名称为:sy_qz_HP3800 G5。型号为WYY-1的抚顺南山城地震台前兆气象三要素仪器名称为:fs_nsc_qz_qxWYY-1。

2.4 对象定义

在建立好对象模板、对象分组、服务分组和对象命名规则之后,就可以定义每个对象的信息了,其中所有的对象定义的文件都放在/usr/local/nagios/etc/objects 目录中。因为系统不能自动发现对象间的上下层级关系,所以在对象定义时一定要做好上下级关系分类,这样在查看拓扑图的时候各个对象就会按层级排列。层级关系通常按照从上往下的顺序建立。

最后,在运行系统之前,将创建的各类配置文件添加到/usr/local/Nagios/etc/nagios.cfg 文件中。找到cfg_fil,并按对象模板、分组、对象定义的顺序将自己定义的文件添加进去,如下所示:

2.5 对象定义实例

以本溪地震台为例,我们进行一次模拟配置。如下图为本溪地震台主要网络设备拓扑图,本溪台交换机上联辽宁省地震局核心交换机,下接各种监控仪器设备。

图1 本溪地震台主要网络设备拓扑图Fig.1 Topology diagram of main network equipment of Benxi Seismic Station

2.5.1 交换机监控配置

在下面的定义的列表中从上至下分别为:对象所用模板、主机名称、主机别名、IP 地址、上层对象、所属分组。此外,与对象分组类似,对象与其上层对象可以是1 对n 的关系,只要在parents 中列出所有对象即可,用“,”隔开;如果没有上联设备,那么parents 选项就可以不写。下面定义的是本溪台烽火R2600 路由器,路由器所用模板为station 模板,别名为台站+路由器型号,IP 地址为10.21.x.x,路由器上联设备为辽宁省地震局核心交换机,所以parents 为21_001_backbonerouter(核心交换),所属分组为抚顺地区及台站两个组别。

2.5.2 仪器设备监控配置

仪器设备与交换机相似。下面定义的是本溪台前兆分量式钻孔应变仪,所用模板为taizhan 模板,别名为地区+学科(前兆缩写)+仪器缩写及型号,上层对象为本溪台烽火R2600 路由器,所属分组为抚顺地区。

在定义完拓扑图中的所有设备后,用浏览器查看Nagios 监控信息,将会看到如图2 所示的结果。

图2 监控主机列表Fig.2 Monitor host list

2.6 报警通知

Nagios 可以通过邮箱报警、微信/MSN/QQ转手机信息提醒、短信报警。这里介绍用邮件报警[3]。

首先需要在commands.cfg 里面设定一下出现异常状态时发送报警的具体信息,一般为:Host/主机名称、State/所属分组、Address/IP 地址、Info/故障的具体信息、Date/Time/时间。之后在contacts.cfg 里面定义一下接收报警的邮箱。其中什么情况/时间报警,在templates.cfg中已经定义了一个generic-contact。它默认设置了7 天x24 小时如果出现宕机/不可到达/重新恢复状态时,发送报警,这里就不做更改。

3 主要功能

登陆http://10.21.*.*/Nagios/,输入用户名、密码,进入Nagios 首页。

常用的有以下几项:Service Detail:服务列表、Host Detail:主机列表、Hostgruop Overview:主机分组列表、Service Overview:服务分组列表、Status Map:拓扑图、Service Problems:服务故障列表、Host Problems:主机故障列表、Trends:历史状态走势图、Availability:历史联通性。

如果需要查看实时状态,可以点击Service Detail、Host Detail、Hostgruop Overview、Service Overview,其中Service Detail、Host Detail 是查看所有的主机/服务的详细信息,Hostgruop Overview、Service Overview 是按分组查看监控的主机/服务,但没有Detail 展示的信息详细。以下详细介绍一下Status Map 及Availability。

3.1 Status Map 拓扑图

配置好上层对象、下层对象之后,点击Status Map,就可以看到系统自动生成的拓扑图。绿色的为连通的设备,红色的为断记的设备。放大之后可以看到具体的设备,鼠标点击到哪个设备就可以显示出该设备的具体信息。图3 为“21_105_benxi”的具体信息:名字为“21_105_benxi”,别名/全名为“Liaoning_benxi fhR2600”,IP 地址为10.21.*.*,状态为联通的(UP),丢包率为0,状态持续时间为1 天7 小时9 分,此次检查时间为2019 年*月*日15时50 分,该状态从2019 年*月*日8 时42 分钟开始,上联对象为“21_001_backbonerouter”(图中空白处为人工遮挡)。

图3 拓扑图Fig.3 The topology

3.2 查看历史状态

Nagios 查看历史的可以选择Trends 和Availability,Trends 是以走势图的形式展示的,Availability 是以列表的形式查看历史信息,但他们选择查看的步骤都是相似的。

第一步选择类型,可以选择是服务、服务组、主机、主机组,第二部选择想查看的主机或服务,第三步选择查看的历史等具体信息,一般只需要选择时间。其中Report Period 可以快速的选择时间范围,有今天、24 小时、一周等选项,如果里面没有想选择的时间,可以在下 面 的 Start Date(Inclusive)、End Date(Inclusive)中设置好时间。之后就可以查看历史记录了。

4 结论

通过建立Nagios 地震监控系统,实现对辽宁省地震局网络节点、测震节点、前兆节点状态实时监控、报警的同时,还可以保存、查看、检索节点的历史状态,为日常监控提供了便捷的服务。

猜你喜欢

路由器分组定义
买千兆路由器看接口参数
维持生命
路由器每天都要关
路由器每天都要关
分组搭配
怎么分组
分组
成功的定义
修辞学的重大定义
山的定义