省级气象信息综合监控报警系统的设计与实现
摘要:该系统根据我省的气象信息系统现状和业务需求,分析提炼出影响气象服务的气象信息系统要素,设计并实现了省级气象信息综合监控报警系统。该系统可以对河北省气象资料、网络系统、信息系统、主要业务系统、主要应用、动力环境进行实时监控报警,并提供数据查询分析功能,提高了信息系统服务于气象的能力。
关键词:气象;信息综合;监控报警
中图分类号:TN929.5 文献标识码:A 文章编号:1673-1131(2015)10-0115-03.
1 概述
随着气象事业的发展,气象信息化建设水平越来越高,气象服务对气象数据的及时性、信息系统运行效率、运行稳定性的要求越来越高。而对省级气象部门来说,现阶段影响气象服务的因素主要有:省级气象观测资料和产品资料数据流程,省级基础网络系统状态,各类信息系统(数据通信系统、数据加工与处理系统、数据存储系统、公共资源服务系统等)及各主要业务系统(MICAPS、SWAN、CIPAS 等)状态,数据库、FTP、HTTP 等主要应用服务状态,动力系统状态,机房环境等。因此为了保证气象服务的及时、准确、高效,需要建设一套气象信息综合监控报警系统,实现对全省主要业务包括数据、网络、信息、业务、动力环境等系统的实时监视,对系统异常情况进行提醒、报警,确保各个气象业务系统正常运行,确保系统用户安全,确保业务流程科学高效,确保资料传输状态透明可控,确保各种基础信息资源和机房动力环境处于可用状态。
2 系统功能设计
省级气象信息综合监控报警系统是整个省级信息系统业务运行的基础性保障,具备对气象信息系统和主要业务系统的综合管理与监视能力。实现对省级基础网络系统、各类信息系统(数据通信系统、数据加工与处理系统、数据存储系统、公共资源服务系统等)及各主要业务系统(MICAPS、SWAN、CIPAS 等)运行状态的实时监视;实现省级气象观测资料和产品资料数据流程各环节传输监视;实现数据库、FTP、HTTP 等主要应用服务的监视;实现机房动力环境的实时监视。提供对网络通断、网络流量、资料传输、系统运行情况的定量分析统计功能;具有对异常情况提醒、报警等功能。同时,根据业务管理需求,应提供定期生成系统运行分析报告的功能。具体包括信息系统基础资源监视、综合数据流程监视、业务应用监视与控制、集中业务告警管理、业务统计与分析和运行维护管理等方面的功能。
2.1 信息系统基础资源监视
主要包括对服务器资源、服务器状态、存储资源、高性能计算机资源、私有云资源、网络资源等资源的监视,对基础资源运行中产生的故障及时生成告警信息。
2.2 数据流程监视
统一的管理和输出业务系统的告警信息,提供集中的故障告警展示、处理、分析的平台,快速定位故障。
2.3 业务统计与分析
根据业务运行过程中产生的监视信息,实现信息网络业 务系统运行状态查询、气象业务应用系统整体状态查询和数据流程综合查询。并在业务系统运行情况和故障信息长时间统一收集、存储的基础上,提供数据关联性分析,评估各业务系统整体运行情况。
2.4 运维管理
采用标准的方法、技术和规范,实现省级气象信息网络业务系统的运行环境、系统本身及运维人员的综合管理,提升省级信息网络系统的运维管理水平和服务水平,保障省级数据环境、信息资源支撑系统等基础性平台和气象业务系统的稳定运行。
3 系统结构
省级气象信息综合监控报警系统由数据层、业务处理层和业务展示层三个层次构成,如图 1 所示。
图 1 省级气象信息综合监控报警系统结构图
3.1 业务展示层
分层监视:从监控内容的角度对气象数据层、业务应用层和信息系统基础资源层三个层次实施监视。
分级监控:省级气象信息综合监控报警系统从运维管理角度,采用分级监控业务模式,即综合业务运行监控(综合监控)和分业务运行监控(分监控),两级监控各司其职,兼顾宏观与微观运行层次。
3.2 业务处理层
主要由以下五部分组成:实时监视、业务控制、监视信息分析与挖掘、可视化集成框架、综合监控库,各部分协同工作共同实现用户层各项业务功能。
3.3 数据层
位于数据层的综合监控库实现对省级气象信息综合监控 报警系统所需全部信息的存储管理,信息包括:监视信息、统计信息、公共业务应用配置信息、事件规则、KPI 定义模型、流程定义信息、统计分析模型、监控系统运行所需的管理配置信息,并提供监控信息维护功能。
4 系统流程
省级气象信息综合监控报警系统在流程上由实时监视、统计分析、基于流程的配置以及指令控制等部分构成,如图 2所示。
图 2 省级气象信息综合监控报警系统流程图
4.1 实时监视与统计分析
实时监视与统计分析流程的数据交互分为系统间数据交互、系统内部用户与业务监视系统的数据交互以及国-省之间监视信息的交互。
系统间数据交互是指其它系统(包括所有应用系统与平台系统)与业务监视系统之间的数据交互,交互的数据主要为各种系统运行性能指标数据或状态数据。
系统内部用户与业务监视系统的数据交互是指系统内部用户(包括数据收集与分发系统、数据加工处理系统、数据存储管理系统、数据共享服务系统、业务监视系统以及各平台系统的运行维护值班人员、系统管理人员和业务管理人员等),通过监视信息发布与展示子系统浏览检索各种实时监视或统计分析信息,并根据检索出的结果信息,分析业务系统运行过程中的问题与不足,从而为解决问题提供科学有效的支持手段,有利于整体业务的持续改进和优化。
国-省之间监视信息的交互是指省级气象信息综合监控报警系统通过传输通道将国家级所需的原始监视信息上传国家级,国家级根据管理需要进行监视与统计分析。
4.2 配置管理及流程控制
指令控制流程是由指令发出者通过综合控制界面发出控制指令,控制指令通过消息传递到各业务系统分控中,分控接收到指令后进行解析,然后执行指令。业务系统分控执行完指令后生成反馈信息,通过消息发送至综合监控平台上,显示指令跟踪结果。
业务配置流程是指用户通过统一的配置管理界面对公共配置信息、私有配置信息进行基于流程的定义,其中对各应用系统都使用的公共配置信息进行统一管理,对业务配置信息 进行统一的定义、管理与维护,确保配置管理人员可以根据自身的权限实现对所维护系统配置信息的维护管理。
5 系统实现
5.1 技术路线
系统采用 CS+BS 结合的结构。
面对用户采用BS结构,值班员和管理员在浏览器端可以实现省级基础网络系统、各类信息系统(数据通信系统、数据加工与处理系统、数据存储系统、公共资源服务系统等)及各主要业务系统(MICAPS、SWAN、CIPAS 等)运行状态的实时监视;实现省级气象观测资料和产品资料数据流程各环节传输监视;实现数据库、FTP、HTTP等主要应用服务的监视;实现机房动力环境的实时监视。实现对网络通断、网络流量、资料传输、系统运行情况的定量分析统计功能;具有对异常情况提醒、报警等功能。同时,根据业务管理需求,应提供定期生成系统运行分析报告的功能。具体包括信息系统基础资源监视、综合数据流程监视、业务应用监视与控制、集中业务告警管理、业务统计与分析和运行维护管理等方面的功能。
而在系统后台采用 CS 结构,在各个需要监控的服务器、业务系统中安装不同操作系统版本的信息采集客户端,定时将信息系统、主要业务系统、资料传输流程、数据库、FTP服务、HTTP 服务等信息写入综合业务监视数据库。在服务器端安装信息采集服务器端,负责网络状态信息、动力环境系统信息的采集入库。
建立基于 Oracle 数据库系统综合业务监视数据库,保证数据库高效、稳定地运行。
5.2 报警与故障管理
通过数据接口获取信息采集平台收集的各种数据,并对比业务逻辑,对达到一定级别时,生成并发布报警信息,提供交互方式的故障处理记录,以便丰富故障处理知识库,为以后的故障分析提供有效经验。
根据不同的业务逻辑,将报警级别分为三级,三级最低,一级最高。如一台服务器网络中断、个别台站某时次资料缺收、机房某个空调温度过高等为三级报警;而数台服务器网络中断、某地区台站某时次资料缺收、数个机房空调温度过高等为二级报警;大量服务器和交换机网络中断、核心路由故障、某种资料全部缺收/发、机房空调大面积停机为一级报警。每个报警级别对应不同的报警方式,向不同级别的人员报警,报警方式包括声音、短信等,如表 1 所示。
表 1 报警级别与报警方式
5.3 实时监控与查询分析
各种管理信息和监控信息,通过动态网页,以图、表、闪烁、声音等形式展现监控信息。根据需要灵活设置查询条件,以表格、图表等方式展示查询结果。可以对历史数据进行查询分析、发现规律,提前发现设备隐患和系统瓶颈,防患于未然,降低设备故障几率,提高系统稳定性。
如图 1 所示为机房空调的月平均温度曲线,分析发现其 温度整体跟随气温变化的规律,但是还是有以下几个问题:一是 4 月份空调温度整体偏高;二是空调 3 温度整体偏高;三是机房空调 4 在 4 月和 5 月平均温度相差很大。后经查询值班日志,发现 4 月份空调温度整体偏高是因为大量柳絮杨絮堵塞空调外机所致;空调 3 附近为 4 台高性能计算机,发热量比较大,因此其温度相对较高;机房空调 4 在 4 月底汛前检查时发现压缩机故障,更换压缩机后正常。因此根据此曲线,需要采取以下措施:一是每年 4 月份时要及时清理空调外机,防止外机堵塞;二是建议更换机房空调 3 为更大功率空调,或者在其附近再增加一台空调,保障高性能计算机的运行环境。 为了达到相同的标准,协议规定双方在数据传输过程中要使用相同的数据结构。协议结构体具有独立性高、容易集成的性能。在本系统中结构体类型名定义为 FilePackage;含有字符型成员 cmd、username[50]、filename[125]、buf[1024]及整型成员 filesize、ack,分别表示操作命令、客服端用户名、文件名、元数据以及所传输的数据包大小、标志位。
2.2 服务器工作流程
一般为管理员登陆服务器,服务器验证登录信息成功后进行相关初始化工作,主要初始化服务器的相关配置,然后调用pthread_create函数产两个线程,即主线程与菜单线程,其中主线程通过调用 mainThread()函数实现,菜单线程通过调用mainMenu()函数来实现。菜单线程的函数实现较为简单,主要通过 switch 语句这一结构分别完成服务器的配置、服务器的运行与停止及服务器的状态显示等基本的功能。而主线程则完成了该文件系统中 SSL 的加密技术,该函数的实现起初会依次对SSL库进行初始化、载入SSL的算法和错误消息等、载入包含公钥的用于发给客户端的数字证书以及用户私钥等,在检测到服务器运行状态下,依次完成调用 socket 函数创建套接字、调用bind函数来绑定端口、监听、数据接收等操作,其中较为重要的CreateThreadPool函数完成线程池的创建操作,进而完成多用户连接时相应的处理,保证了多线程管理的顺利实施。对于客户端用户的各种操作,服务器会在日志文件中记录其行为。
2.3 客户端工作流程
客户端的功能主要是提供基于 linux 命令行的窗口给用户,便于通过命令行操作实现与服务器端的文件传输等交互功能。客户端调用 connectto 函数进行与服务器的连接,然后调用 login 函数登陆已经用服务器建立的账号,登陆成功后,调用 Show() 函数、UpdateF()、DownloadF()进行本地目录操作与上传下载。
在上传数据到服务器的过程中,客户端通过命令行窗口发送命令,相应的命令被服务器成功接收到后,服务器会进行相对应的检查等操作,如客户端所上传的文件是否在服务器中存在,如果存在则会用上传的文件覆盖掉服务器中原有的文件,及服务器的磁盘空间是否满足条件等情况。通信数据的传输用 SSL 的加密方法加密,保证其完整性与安全性。
3 系统测试与结果分析
3.1 系统测试
首先生成一个 2048 位的密钥文件privkey.pem,该文件指明要通过有密保护的方法生成 key,并且指定用 RSA 生成算法,通过以下执行命令来操作:openssl genrsa -out privkey.pem2048。
用刚刚生成的私钥文件(即 privkey.pem 这个文件),执行以下命令生成一个新的文件cert.csr:openssl req -new -key privkey.pem -out cert.csr。这个新的文件即为所需要的证书请求文件,可用这个文件去数字证书颁发机构申请一个数字证书[5]。
此处测试,则证书的申请机构和颁发机构都是自己,因此要生成 cacert.pem 可以执行以下这个命令:openssl req -new -x509-key privkey.pem -out cacert.pem -days 1095,这样就生成了适合测试使用的证书文件。
之后编译服务器与客户端程序。登陆服务器并运行后将进入如下(图 1、图 2)界面。 3.2 结果分析客户端与服务器连接之后,客户端可以安全地实现与服务器的文件上传、下载、浏览文件列表等一系列操作,实现文件的安全传输。
4 结语
本文通过网络编程建立套接字,并结合基于 SSL 的传输协议,对服务器与客户端软件进行了安全性分析与设计,完成了此安全文件系统中文件的安全、保密传输,提高了传输效率。
参考文献:
[1] 孙成浩.安全文件系统的设计与实现[D].山东:山东大学,2009.
[2] 曹江华.Linux 服务器安全策略详解(第一版)[M].电子工业出版社,2007.
[3] ZHANG Qing-hua. A Security Design of Data Exchange Platform[C]//2008 International Conference on Computer Scienceand Software Engineering.[S.l.]:ICCSSE,2008:563-566.
[4] 令晓静. SSL安全传输协议在网络通信中的应用研究[D]西安:西安电子科技大学,2006.
[5] 黄万风,王峰,刘晓丹,等.利用反向 SSL-VPN 技术构建社区卫生服务网络[J].吉林大学学报:工学版,2011,41(S2):279-282