基于SaaS的校园网监控平台的设计与实现

2016-02-05 02:32章勇
中国教育网络 2016年12期
关键词:校园网服务器监控

文/章勇

基于SaaS的校园网监控平台的设计与实现

文/章勇

如何提高校校园网运维管理?本文将介绍一套相对有效的网络监控管理平台。例如,将“软件即服务(SaaS)”模式应用到网络监控系统中,实现多用户按需自主设定对相关网络设备和网络服务的运行状态实时监控;通过将监控节点分布式部署在网络不同位置的方式对目标进行交叉监控,提高监控精度;通过设定的规则库和历史信息对当前告警数据进行关联分析,来判断故障是独立故障还是关联故障,提高告警准确度;同时设计并实现了一套高可靠性的信息推送系统用于将故障信息推送给相关管理人员。

随着校园信息化建设的深入开展,校园网规模不断扩大,网络所承载的设备和服务应用越来越多。对网络管理员来说,为保证网络7×24 提供服务,不仅要监控物理网络设备的运行状态,还要监控网络应用服务的运行状态。人工监控在网络规模过大、业务量过多的情况下无疑是灾难性问题,这种情况下,智能监控系统可有效解决对大规模、密集业务量网络设备和应用服务的实时状态监控,及时发现服务故障并智能告警。

软件及服务(Software as a Service简称SaaS)是一种新型的软件应用模式。它是一种通过网络提供软件服务的模式,软件服务厂商将应用软件统一部署在自己的服务器上,用户可以根据自己实际需求,通过网络向厂商定购所需的软件服务,按需计费,不需要再单独购买软件许可和设备,由软件服务厂商负责对软件系统的部署实施和运行维护。

基于SaaS的网络监控平台的简单介绍

对于大型校园网级别的园区网来说,网络设备和网络服务众多,通常不同的设备和服务由不同的人员进行管理,传统的单用户的网络监控系统无法满足需求,需要实现多用户自主注册,自主配置高度灵活的监控系统。基于SaaS的网络监控平台具有多用户的特点,可以向用户提供可配置、高可扩展的网络监控服务,用户可以根据自己的需求租用监控服务,定制监控节点,实现对不同区域,不同网络设备和网络服务的定制化监控。平台管理员只需关注平台本身和监控节点的维护,不必介入用户监控业务,同时也便于平台功能扩充,可以随时增加监控方式和监控节点,现有用户业务不受影响且能快速使用新的功能。

基于安全考虑,校园网中的一些重要设备如核心交换机、路由器、用户认证服务器、Portal服务器、校园卡服务器等关键设备和服务不适用于从外部进行监控,某些设备甚至会禁止外网访问;另外还有大量的二层设备仅配置了内网地址,其外网是不可达的,这就决定了无法从外部进行监控,必须在校园网内部建立一套监控系统。

Nagios、Zabbix、Cacti等为开源网络监控平台软件,其中Nagios、Zabbix具备分布式监控功能,支持Agent部署,Cacti为单机版软件。这些开源平台均可部署在校园网内部对网络设备进行有效监控,但均不支持SaaS模式,当监控目标数量到达一定程度后,会给平台管理员增加巨大的工作量。

根据校园网络监控的特点,华中科技大学独立设计了一套基于SaaS模式的分布式网络监控系统报警系统,实现了对网络设备和服务的运行状态实时监控,通过在不同地区分布式部署监控节点进行多点交叉式监控和日志收集,并进行分析判断,形成较准确和有价值的告警信息,以短信推送的形式及时通知相关管理人员。

监控平台总体设计

监控平台设计的目标包含以下几点:1.用户自主注册,自主修改信息;2.用户能自定义监控项目,并能自助配置相应资源;3.监控平台稳定可靠,减少误报和漏报的情况;4.信息推送稳定可靠,确保能及时到达相关管理人员。分5个模块对系统进行设计开发,包括:(1)核心数据库与平台运行调度模块设计;(2)告警预处理模块设计;(3)信息推送模块设计;(4)用户管理界面设计;(5)监控节点设计。

整个系统的硬件架构由核心服务器、信息推送服务器、分布式监控节点三个部分组成。核心服务器中部署核心数据库和平台运行调度模块、告警预处理模块以及用户管理WEB界面,负责整个系统运行,各模块之间的调度,以及告警日志存储和告警信息的分析与生成;信息推送模块部署在另外2台服务器中,安装短信Modem池并连接外部Internet短信服务网关,提供高可靠性的短信发送服务;分布式监控节点部署在网络的各个网络节点中,用于响应用户发出的监控任务,对监控目标进行监控探测,并将监控结果发回到核心服务器中。

系统工作示意图如图1所示:

图1 系统工作示意

SaaS用户管理界面设计

根据Saas软件服务成熟度划分,SaaS可以分为四个成熟度等级,分别是:可定制性(Level 1)、可配置性(Level 2)、高性能多租户架构(Level 3)、可伸缩多租户架构(Level 4)。在Level 1模型下,软件服务提供商为每个用户定制一套软件,并为其部署。每个用户使用一个独立的数据库实例和应用服务器实例。根据本平台实际应用场景:校园网运维环境,被监控对象数量<1000、用户(管理员)数<50人。采用Level 1可定制性的SaaS成熟度即可满足需求,可定制性SaaS成熟度可以在传统的B/S软件架构的基础上进行细节改进,开发出用户自定义定制等功能,并对用户数据库进行设计,使每个用户可以使用一个独立的数据库实例,根据需求利用平台提供的各项插件进行添加,修改,删除监控项目。每个用户之间不互相干扰。

详细用户需求如下:

1.用户可自行管理自己的信息,包括用户名、密码、姓名、电话号码等;

2.用户可根据需要自行添加监控项目,并可自行修改和删除已添加的监控项目;

3.不同用户之间使用不同的数据库实例,不能相互干扰;

4.用户可可从全部监控节点中挑选一部分或选择全部监控节点对监控项目进行监控;

5.根据被监控目标的不同特征,可以选择不同的应用程序进行监控,如:ICMP_PING、PORT_SCAN、SNMP_OID值校验等应用程序。每个用户调用不同的应用程序实例,不互相干扰;

6.用户可以自行设定监控时间;

7.监控项目出现状态变化时(正常->异常、异常->正常),向用户发送短信提醒;

8.用户可选择将信息转发给其他相关人员;

9.系统管理员可管理所有用户信息和监控项目信息。

核心数据库及平台运行调度模块设计

根据以上要求我们对核心数据库中单个用户实例表项进行设计,各表项及功能表如表1所示。

表1 核心数据库表项

各数据库表项结构关系如图2所示:

分布式监控节点的设计

分布式监控节点部署在被监测网络中,各节点与核心运行平台之间采用专网连接,不具备专网条件的分布式节点可采用公网VPN的形式与核心运行平台进行连接,以保证与各节点之间通信安全。各节点均运行一个主循环进程,定期从核心平台获取数据,包括节点控制信息,用户数据,监控目标和参数等信息。并根据当前用户情况为每个用户发起一个独立的监控进程,用于满足用户定制的各种监控需求。为了提高效率,可采用多线程技术同时对多个监控目标发起并行检测,减少间隔时间。检测完毕后将结果传回核心运行平台进行反馈。同时核心运行平台需定时对各个监控节点的工作状态进行监测,使其保持正常运行状态。

单个分布式监控节点的工作流程图如图3所示:

图3 分布式监控节点工作流程

分布式监控节点硬件设备可以是PC机、工控机、嵌入式设备等,操作系统使用Windows或Linux均可。我们采用可移植性高的PERL语言进行开发,通过相应PERL运行库实现ICMP PING、PORT SCAN、SNMP OID值获取等监控方式,并运用多线程技术增加并发监控线程,在大量监控目标的情况下仍能获得较短的监控时间间隔。

信息推送预处理模块

为了提供高效的信息推送服务,减少误报情况,必须在产生的告警信息传输到信息发送模块之前进行信息预处理。预处理模块主要功能是对原始告警信息进行缓冲,在突发大量告警信息时介入处理,对信息进行分类优化,根据管理员设定的网络拓扑结构和设备功能优先级来区分独立告警信息和关联告警信息,将独立告警信息发送出去,将关联告警信息过滤或整合成单条信息后再发送。避免关键设备出现故障同时产生大量的无关告警信息对相关人员构成干扰,以及短信发送列队过长引起设备拥塞故障并触发运营商垃圾短信限制造成后续无法发送的情况。

高可靠性信息推送模块设计

为了使网络设备和服务出现故障时将信息有效推送到相关人员手机上,必须设计一套高可靠性的信息推送系统,本系统由2台信息推送服务器组成,每台服务器配置一套Modem池,并接入Internet短信服务网关。信息推送预处理模块通过轮询算法将待发送列队推入到2台服务器中,正常情况下每台服务器首先会将信息发送到Internet短信服务网关,由服务网关发送给相关人员,当网络出现故障或服务网关无法发送信息时,就将短信通过Modem池发送出去。信息推送预处理模块会同时监控每台信息推送服务器,当其中一台出现故障时,将短信列队推入另一台正常的服务器中,并通过另一台服务器向平台管理员发送该短信服务器故障的信息,使管理员及时发现问题并进行处理。高可靠性信息推送模块工作流程如图4所示,其中m表示配置的信息推送服务器总数,m越大表示系统可靠性越高,本平台设置m=2。

图4 高可靠性信息推送模块工作流程

由上可知,本系统设计并实现了一套基于SaaS的网络监控平台,可部署于校园网内用于监控网络关键设备和服务,并可在设备和服务出现故障时及时将通知短信推送给相关人员。解决了多用户状态下的独立管理和相关应用的自助配置问题,将网络监控和信息推送相结合,设计了一种可扩充的高可靠性信息推送系统。本平台的部署有利于提高校园信息化建设和校园网的管理水平。

需要改进的方面包括:可以添加更多的监控模式如数据库表象扫描,DNS解析校验,网站返回值校验等;在信息推送预处理模块中加入自动关联分析设置,依靠历史告警日志产生自动关联分析结果来区分独立故障和关联故障,进一步减少误报情况发生。

(作者单位为华中科技大学网络与计算中心)

猜你喜欢
校园网服务器监控
The Great Barrier Reef shows coral comeback
数字化校园网建设及运行的几点思考
通信控制服务器(CCS)维护终端的设计与实现
PowerTCP Server Tool
你被监控了吗?
试论最大匹配算法在校园网信息提取中的应用
Zabbix在ATS系统集中监控中的应用
基于VRRP和MSTP协议实现校园网高可靠性
NAT技术在校园网中的应用
得形忘意的服务器标准