您的位置:首页 > 参评方案展示 > 智慧校园

华中科技大学:基于SaaS的校园网监控平台的设计与实现

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

  如何提高校校园网运维管理?本文将介绍一套相对有效的网络监控管理平台。例如,将“软件即服务(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所示:

 

  SaaS用户管理界面设计 

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

  详细用户需求如下:

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

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

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

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

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

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

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

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

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

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

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

来源:中国教育网络作者:章勇
var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "//hm.baidu.com/hm.js?b841bd73360946ada23db9fa82c9c6ae"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })();