基于双向标准化接口的海洋观测网运行状态监控系统研究与开发*

2015-09-29 03:21刘凌峰窦宇宏关一李厚坤张晓明
海洋开发与管理 2015年6期
关键词:观测网观测对象

刘凌峰,窦宇宏,关一,李厚坤,张晓明

(国家海洋技术中心 天津 300112)

海洋观测网是我国海洋观测预报业务的基础。从技术上看,海洋观测网是包含传感器、观测平台、通信网络和数据传输与管理等诸多要素的复杂系统,其高效稳定地运行是海洋环境预报系统连续获得高质量基础数据的关键。为了实时掌握重要系统的工作情况,研发它的运行状态监控系统是保障其稳定运行的常规方法,例如:电力、电信等行业均已研发了针对本领域业务特点的运行状态监控系统[1-2],然而目前我国尚无专门针对海洋观测网的统一监控系统,现有的部分监控系统也只是针对观测网的某个局部或部分要素进行分散管控,其精度和管理的范围均不能满足需求。为此,在海洋公益性行业科研专项的支持下,国家海洋技术中心开始研发海洋观测网运行状态监控系统。本研究简要介绍该系统研究与开发的内容及成果:第1部分分析系统的业务需求;第2部分介绍系统的总体架构;第3部分重点阐述系统的双向标准接口;第4部分描述原型系统的开发进展及性能测试情况;第5部分对全文进行了总结并展望后续的工作方向。

1 业务需求

运行状态监控系统的设计与开发是海洋观测网业务化运行需求驱动的结果,本部分简要概括这些业务需求。

1.1 海洋观测网运行状态精细管控的需求

要保障海洋观测网的长期稳定业务化运行,首先需要全面掌握海洋观测网各组成要素的运行状态。为此,必须要建立一套可以完整收集海洋观测网全部相关软、硬件设备运行状态的信息采集系统,并将这些状态信息定期汇总至各级监控中心,这样方可在基础信息层面上实现观测网全网运行状态的精细管控,进而为后续基于这些信息进行故障检测和关联分析奠定基础。

1.2 海洋观测网运行故障实时检测的需求

故障的检测具有“迟滞特性”。例如:在一个配置完备的网络中,当一个路由器发生故障时,数据包可绕行其他路径到达目的节点,因而在故障发生初期,用户很可能察觉不到故障的存在,但是,由于在绕行链路有限的带宽中汇聚了大量异常流量,将很有可能造成网络的拥塞,并最终导致整个网络不可用。因此,及早发现故障是维持海洋观测网稳定运行的必须,这就要求监控系统能够依据预设的判定规则实时处理获取到的状态信息,及时检测到故障发生,变故障的“事后发现”为故障的“事中发现”,从而缩短故障历时,尽量减少由于故障所带来的损失,提高系统可用性。

1.3 海洋观测网故障原因关联分析的需求

传统的监控系统在故障发生时会产生告警的“连锁效应”,即一处故障发生往往会导致多处告警。例如:当一台网络设备发生故障时,设备本身、相应链路以及数据传输应用软件均会产生告警,这样不利于迅速定位和及时处理故障。因此,监控系统必须要具备故障智能诊断和关联分析功能,能够从告警的“泛洪”[3]中有效地甄别故障源,判断故障原因,从而可以为运维人员提供决策依据,尽快排除故障。

1.4 海洋观测网运行态势统计评估的需求

实现运行状态信息的获取、故障诊断、告警是监控系统的初级功能,在基础信息积累到一定规模的前提下,对各类监控对象的工作状态进行统计分析,发现监控对象的运行规律,结合其实际运行环境,对设备的稳定性、适用性进行有效评估,将故障的“事中发现”进一步提升到“事前预测”的水平,这将为提高海洋观测网日常维护工作的针对性以及后续设备的选型提供科学的辅助决策支持。

2 系统总体架构

基于上述业务需求,海洋观测网运行状态监控系统在层次架构设计上划分为信息获取层、监控应用层以及信息共享层3个逻辑层级(图1)。

图1 海洋观测网运行状态监控系统总体架构

2.1 信息获取层

海洋观测网全部组成要素都是监控系统的监控对象(网元),通用状态信息提取软件基于简单网络管理协议(Simple Network Management Protocol,SNMP)提取这些网元的运行状态信息[4]。对于网络设备、主机等标准的可网管设备,其本身支持SNMP协议,按照管理信息库(Management Information Base,MIB)中各管理对象标志符(Object Identifier,OID)内容的说明,通用状态信息提取软件通过SNMP协议命令直接获取这些设备的状态信息。对于原先不支持SNMP协议的海洋观测设备(海洋站、浮标等),通过自定义这些设备的MIB,并在与设备相连的上位机部署自主研发的SNMP代理(Agent)软件实现状态信息的提取,该代理软件主要完成两项功能:其一是与观测设备通信,获得其运行状态信息;其二是响应状态信息提取软件发出的标准SNMP请求或自动发出故障信息,将状态信息输出。

2.2 监控应用层

完成监控系统各项主体功能,包括:状态监控、拓扑可视化、故障告警、关联分析、统计评估以及数据查询等。状态监控模块作为该层的总控模块定期调用通用状态信息提取软件相应模块获取各种设备的状态信息;基于拓扑结构以可视化形式(运转图或数据列表)展现这些状态信息;对于发生故障的设备给出告警提示,并采用智能化诊断技术;对告警的关联性进行分析,锁定故障源;信息查询模块可查询各设备运行状态数据历史记录,统计评估模块对获取到的状态信息进行统计生成报表,并可基于故障预测模型对设备的稳定性和适用性进行评估。

2.3 信息共享层

以标准化接口将监控系统所获取的运行状态信息向上层系统输出。基于最新的业务支撑系统设计理念,监控系统只是综合运维系统的底层系统,综合运维系统将海洋观测网运行状态信息和其他相关系统(如,观测数据处理系统等)运行状态信息进行综合关联分析,从而可以获得海洋观测系统整体运行状态,这些状态信息可基于统一的地理信息系统(Geographic Information System,GIS)界面进行可视化展示,并可依据信息技术基础架构库(Information Technology Infrastructure Library,ITIL)理论在综合运维系统中开展运维流程跟踪。状态信息通过消息中间件(Message Oriented Middleware)向上层系统推送[5],从而构成一个应用层通用数据网关,输出的数据类型包括:观测网基本属性信息、实时性能信息以及故障告警信息,数据输出格式为标准可扩展标记语言(eXtensible Markup Language,XML)格式。

3 双向标准化接口

双向标准化接口是海洋观测网运行状态监控系统的一个重要技术特色,它在信息获取和信息共享两个层面均实现了接口的标准化,使系统的可扩展性大大增强。

3.1 状态信息获取接口

状态信息获取接口(即监控系统的南向接口)基于简单网络管理协议(SNMP),这使得信息获取层的状态信息提取软件可以采用通用的数据采集方法,无需针对海洋观测设备进行专门的设计,极大地增强了系统的稳定性,并且可以减轻后续再扩充其他观测设备的工作量。SNMP是由Internet活动委员会IAB制定的最为通用的管理TCP/IP网络的标准协议。SNMP协议的体系结构由3部分组成:信息管理结构(Structure of Management Information,SMI)、管理信息库(MIB)以及SNMP协议。其中,信息管理结构(SMI)可以确定管理信息库(MIB)中被管对象的定义和SNMP报文的描述规则,它是构成整个SNMP的基础。管理信息库(MIB)描述了SNMP所用到的管理信息库结构及其中变量的定义,它以树形结构来表示。SMI和MIB两者都遵循OSI的抽象语法表示(ASN.1)规则定义。SNMP协议则规定了管理站和监控对象之间交换管理信息的方法。

海洋观测网运行状态监控系统开发过程中设计了6种主要海洋观测设备的MIB,这是我国海洋观测系统发展历史上首次定义观测设备的MIB。依据通行的MIB编制规则,新定义的海洋观测设备管理对象标志符位于iso.org.dod.internet.private.enterprise.notc.inspector 子 树下,进而分为station、bouy、ship、radarstation 4个子树,分别描述海洋站、浮标、志愿船以及雷达站4类观测设备对象,其中,bouy子树又进一步分为bbouy和sbouy两个子树,分别描述大型监测浮标和中/小型监测浮标;ship子树进一步分为fship和nship两个子树,分别描述远洋志愿船和近海志愿船。对于每一类观测对象,MIB中定义的信息主要包括设备基本属性信息、设备运行状态信息和告警信息。基本属性信息描述设备的编号、区站代码、所属关系、经纬度等静态信息内容。运行状态信息包括设备的电压、电流,复位次数等信息以及各种传感器的测量数据,用以综合判断设备及其所搭载的传感器的工作状态是否正常。告警信息主要规定由监控对象向管理站发送的记录故障信息的Trap消息。在状态信息获取过程中,管理站中的通用状态信息提取软件的管理进程定期请求状态信息,监控对象固有或自主研发的SNMP代理软件进程向其提供标准的SNMP应答,实现了标准的基于网元管理的Manager-Agent交互模型,从而使监控应用层软件可以实时获取各类监控对象的运行状态信息。基于SNMP的信息交换层次架构见图2。

图2 基于SNMP的信息交换层次架构

3.2 状态信息共享接口

状态信息共享接口(即监控系统的北向接口)基于消息中间件技术,消息中间件(Message Oriented Middleware)是用来构建松耦合系统的支持分布式应用系统之间同步/异步收发消息的中间件,该技术可支持实时数据推送与接收,可以有效地屏蔽异构技术细节而向外提供统一服务,适用于大数据量并发访问。本系统未采用一些应用系统之间共享数据时经常使用的网络服务(Web Service)接口形式,因为 Web Service的设计思想为被动响应式提取,并不适用于大量并发请求的场景,而海洋观测网中监控对象(网元)众多,一些设备的性能指标又很多,如果上层综合运维系统软件发出频繁、大量请求,则提供信息的服务器响应时延就会增加,对服务器的性能压力巨大。但是如果降低访问频率,则又会造成某些状态信息不能及时反馈到上层系统,影响信息交换的实时性。采用消息中间件技术可以有效地解决上述问题,因为消息队列中的数据是由信息共享层软件模块主动推出,可以有效地保障实时性,特别是故障发生时,可及时将故障告警数据上报上层系统,而消息中间件管理消息队列并向外系统提供数据共享服务的效率和响应特性也远高于 Web Service,因此特别适用于海洋观测网监控信息共享的应用场景,第4部分的测试试验也证明了这一论点。

在实际系统中,信息共享层的通用数据网关相应模块(传输网络状态信息共享模块和观测设备状态信息共享广模块)依据主题把数据推送到消息中间件的各个队列,由消息中间件管理这些数据,并向综合运维系统或其他系统订阅该主题的软件提供。依据业务需求,共建立3个主题的消息队列,即:基本属性信息队列、实时性能信息队列和故障告警信息队列。其中,基本属性信息队列传输监控对象的静态信息,更新周期一般为24h(发现设备变更时除外);实时性能信息队列传输监控对象的动态信息,更新周期最低为1min(海洋站观测设备);故障告警数据队列传输故障信息,仅在发现故障时实时更新。数据信息采用标准的XML格式封装,具有较强的通用性,考虑到网络安全的要求,系统对数据内容进行了加密处理。此外,为了提高系统的灵活性,还开发了数据共享控制模块,可对发送的信息内容和发送周期进行可视化配置。信息共享层软件架构如图3所示。

图3 信息共享层软件架构

4 系统原型与性能测试

目前,海洋观测网运行状态监控系统原型已完成开发,初步实现了海洋观测设备和数据传输网络的一体化监控功能,系统与监控对象间的基于SNMP的通用状态信息提取软件以及系统与综合运维系统间的基于消息中间件的通用数据网关也均已研发完成,可以向上层系统提供基本属性、实时性能和故障告警3类共享信息。

监控系统性能最主要的表征是故障发生时系统反映的及时程度,因此考虑两个测试指标:平均故障发现时间和平均故障信息输出时间。平均故障发现时间是指从故障发生到系统产生故障告警间隔时间的均值;而平均故障信息输出时间是指从故障发生到向消息中间件中输出告警信息间隔时间的均值。海洋观测网运行状态监控系统的设计要求是上述两个指标均小于60s,平均故障发现时间Ts计算公式如下:

式中:n为故障总数;Tei为第i个故障发生时间;Tfi为该故障在系统中产生告警的时间。

平均故障信息输出时间To计算公式如下:

式中:Tqi为消息中间件告警信息队列中该故障的告警信息产生的时间,其他定义同上式。

测试场景如下:监控系统部署在双至强E7-4807CPU/32G内存的服务器中,在时钟同步的前提下,设置状态信息常规采样周期为30s,以100为递增步长,向监控系统加入100~1200个监控对象(含观测设备、网络设备以及计算机/服务器等),测试其中随机10%的监控对象发生故障时系统的平均故障发现时间和平均故障信息输出时间。

需要说明的是,系统的告警按其产生的来源可以分为两类:一类是由监控对象发现并以Trap消息向通用状态信息提取软件主动上报的故障告警,简称网元端告警;另一类是由监控应用层软件通过分析获取的状态信息发现故障(如:超过某种预定的阈值等)进而产生的告警,简称系统端告警。图4和图5分别描绘了网元端告警和系统端告警的平均故障发现时间和平均故障信息输出时间。

图4 网元端告警平均故障发现和平均故障信息输出时间

图5 系统端告警平均故障发现和平均故障信息输出时间

从测试结果可以看出,对于网元端告警,由于告警信息是由监控对象主动发出,无需通用状态信息提取软件轮询采集,其对监控系统的压力较小,虽然随着监控对象数和故障数的增加,平均故障发现时间Ts和平均故障信息输出时间To有所上升,但上升幅度并不显著,在1200个监控对象的场景下,Ts不大于5.02s,To不大于10.23s。

而对于系统端告警,在测试监控对象总数少于500个的情况下,系统的平均故障发现时间Ts在30s左右波动(不大于36.21s),当测试监控对象超过500个时,系统平均故障发现时间持续上升至61.45s(1200个测试节点)。对于平均故障信息输出时间To,其值亦随监控对象数量的增加而升高,但与平均故障发现时间Ts的差值始终在2.02~9.11s之间波动,未表现出明显的上升趋势。

因此,综合分析上述测试过程与结果,监控系统的“瓶颈”在于状态信息的获取,随着测试监控对象数量的增加,轮询提取状态信息所消耗的时间也在增长。当系统中的监控对象总数小于1000个时,平均故障发现时间Ts与平均故障信息输出时间To均小于60s(分别为53.15s和57.97s),符合海洋观测网运行状态监控系统的设计要求,而当系统中的监控对象总数超过1000个则无法满足设计要求,此时只有采取层级部署的模式,方可实现状态信息的同步快速提取。而对于状态信息特别是告警信息的输出,由于采用了松耦合的消息中间件机制而表现出较好的承载力,不会造成系统的瓶颈。

5 结论与展望

研发海洋观测网运行状态监控系统是一项开创性的工作,在海洋公益性行业科研专项的支持下,这项工作已经产生了一些成果。本研究概括性地介绍了海洋观测网运行状态监控系统的业务需求、总体架构和原型系统开发情况,重点介绍了与该系统的3项技术创新点:首先是第一次研发了覆盖海洋观测网全部主要组成要素的运行状态监控系统,改变了以往缺乏监控或只具备分散监控的现状;第二是定义了海洋观测设备的MIB,研发了基于SNMP标准协议的海洋观测设备监控代理(Agent)软件,使海洋观测设备具备了标准化监控和管理能力;第三是引入双向标准化接口的概念,它使监控系统向下集成更多监控对象和向上与更高层系统进行对接的能力都大为增强。最后文章描述并分析了系统的性能测试结果,给出了单系统部署规模上限的参考值,为系统投入实际业务化运行奠定了良好的理论基础。

在海洋观测网运行状态监控系统初步研发完成后,后续的工作方向主要有两个:一是基于现有的标准化信息共享接口研发上层的综合运维系统,全面实现海洋观测系统的综合保障功能;二是逐步推进海洋观测设备监控代理软件与现有观测设备的硬集成,实现观测设备的智能化。但是,应该看到,这两者都不是简单的工作。综合运维的核心——ITIL理论,虽然已提出数年,但其在业界真正有效运行的案例还很少,究其原因在于它需要与各应用领域的特点和具体业务需求紧密结合方可显现强大的生命力,而且其业务化运行也需要各层级用户的良好配合,否则它只能是一个软件框架而缺乏实际的应用价值。观测设备智能化是一个技术趋势,但受限于设备目前的通信能力,其实现程度还不高,一些设备尚未具备双向实时通信功能,这在一定程度上阻碍了设备实时管控功能前移的进程。总之,海洋观测网运行状态监控系统的研究与开发还处在初期阶段,虽然目前已取得了一些成果,但还有很多方面值得进一步探索。

[1]曹军威,万宇鑫,涂国煜 .智能电网信息系统体系结构研究[J].计算机学报,2013(1):143-167.

[2]赵彦敏,张道有 .电信级客服系统监控的研究[J].福州大学学报:哲学社会科学版,2004(4):462-465.

[3]SHARADA K A,HEMANT,PRASHANTH.A model proposed for reducing the false positive alarm rate using the feature of event correlation[J].International Journal of Advanced Research in Computer Science and Software Engineering,2012(8):103-108.

[4]PRAS A,DREVERS T,MEENT R V.Comparing the performance of SNMP and web services-based management[J].IEEE eTNSM-eTransactions on Network and Service Management,2004(2):72-82.

[5]戴大蒙,李虎雄,陈赛 .综合性能监控管理模型的设计与实现[J].计算机应用,2007(1):252.

猜你喜欢
观测网观测对象
涉税刑事诉讼中的举证责任——以纳税人举证责任为考察对象
天文动手做——观测活动(21) 软件模拟观测星空
攻略对象的心思好难猜
2018年18个值得观测的营销趋势
基于熵的快速扫描法的FNEA初始对象的生成方法
可观测宇宙
海底观测网水下环境实时监控系统设计与实现
海底观测网岸基站供配电系统设计
区间对象族的可镇定性分析
高分辨率对地观测系统