吴楷 王创
摘 要
随着电厂信息系统规模不断扩大,系统运行中问题出现的频率及复杂度也相应增加。为更加高效的监控信息系统运行状态、提升问题预警、分析、处理水平,笔者梳理重要信息系统拓扑逻辑,设计了信息系统运行参数的实时数据获取及详细信息分析和展示逻辑,基于市场主流参考平台,设计并实施上线信息系统监控平台。本文描述了信息系统监控平台的主要技术设计方案、实现及应用效果。
关键词
信息系统;监控;运维工作;技术设计方案
中图分类号: TP399-C2 文献标识码: A
DOI:10.19694/j.cnki.issn2095-2457.2020.19.082
0 背景
随着电厂信息化建设的持续进行,信息系统的规模及内容均不断扩大,系统运行中问题出现的频率及复杂度也相应增加。然而,一段时期以来,由于缺乏高效和自动化的监控手段,对于重要信息系统的运行状态的监控主要靠运维人员定期巡检完成。人工巡检可能出现对问题检测的遗漏,往往是用户告知系统出现了问题,才介入处理故障。基于这种情况,提出一套完善的解决方案以自动化的监控重要信息系统运行状态,当出现异常时可及时通知运维人员介入处理变得十分必要。
1 系统选型
经深入调研市场上现有的监控系统,发现绝大部分监控系统是用于监控服务器硬件或网络设备(如:CPU占用、IO吞吐量、网络流量、风扇转速、温度、网络数据包等),以信息系统为核心的监控系统可参考的非常稀少,不能完全满足核电厂信息系统监控的多方面的需求。
最终,我们选择在服务器系统监控平台上有一定积累的厂商作为合作方,以项目形式开展合作。该系统监控平台是以硬件及网络设备监控为主体构建,在合作过程中,我方提出系统的整体设计方案、关联逻辑及信息系统结构、数据展现、计算和告警设计方案。这些内容构成了最终成形的信息系统监控平台的核心和基础设计。该平台整体底层架构稳定,上层应用层支持多样化的数据展现,并结合我方设计方案进行了全面重构,增加了部分专用信息系统监控的功能模块。
2 设计与实施
2.1 系统核心功能设计
设计的整体目标是:掌握信息系统的整体健康水平和变化趋势;通过模拟用户对信息系统的日常登录操作的方式,进行用户模拟监控,感知信息系统是否正常;实时监控应用所依托的各基础资源的状态,实时了解业务整体运行状态;通过用户侧模拟和基础资源两个维度的监控,依据对具体监测点配置的健康度算法,完成对信息系统的实时监控。
2.1.1 整体展现结构设计
系统设计为通过浏览器界面展现纳入统一监控管理的电厂信息系统的全景/分系统结构图。
该结构图上,系统与系统之间以线条相连,系统自身以气泡加英文文字的形式指示系统当前的可用性情况,并可根据系统当前运行的总体情况显示系统健康度(系统健康度规则及相关权重可后台自定义配置)。
系统间关联的线条可展示其互相依赖和关联的特性,并可在后台将这些关联系统配置为一个整体的系统进行统一的状态监控。
对于信息系统相关服务的详细运行参数,提供详细的信息展现页面(页面包含正常运行期间的参数信息展示及异常、告警阶段的参数信息展示及日志记录入口),可以展现当前最新状态信息。全景/分系统结构图界面如图1所示。
2.1.2 监测点设计
每个监测点可以自定义设置在整体业务/信息系统中的健康分值。整體业务/信息系统的健康度为所有监测点健康度总和。监测点实时健康度的计算方式为监测点实时指标取值后结合阈值设置,判断当前监测点是否处于告警状态、处于何种告警状态(红、黄、绿三种状态)。通过预先设置的红、黄、绿三种状态对应的权重,进行本监测点实时健康度计算。业务/信息系统实时健康度的计算方式为本业务下所有监测点实时健康度总和除以所有监测点设置健康度分值总和的比值,以百分比显示。
监测点的阈值点一般为三个,代表严重,重要,正常。并设置当前业务点的得分占所有应得总分的百分比rate,按照如下规律进行判断,如匹配到判断逻辑1,则退出,不进行逻辑2和3的比较。健康度、实际取值、获取时间,健康度通过实际取值换算得到,具体逻辑如下:
判断逻辑1,当rate>重要阈值点,业务点为绿色,当前业务得分为所有子点的得分总和;判断逻辑2,当重要阈值点=>rate>紧急阈值点,业务点展示黄色;判断逻辑3,当rate<=紧急阈值点,业务点展示为红色。
2.1.3 信息系统状态监测
采用在监控平台的探针服务器上部署Python脚本的方式,监控平台服务器定期调用脚本模拟用户对被监控信息系统的访问操作,并根据返回的HTTP报文判断访问的成功与否。系统同时根据访问时长及其他关键参数,按照监测点配置的分值和权重计算得出最终的健康分值。
此种方式为基于我方设计实现的监控平台的扩展性开发,具有较为广泛的可扩展性。目前主要监控信息系统是否可访达以及是否可以登录,后续还拟进一步扩展为可针对具体的业务场景监控是否可执行相应的操作,以使对信息系统的监控粒度更为具体。
如下为详细过程:
利用Firefox浏览器插件进行Selenium URL脚本录制,录制的脚本可以导出成为Python,根据实际需求修改完善Python脚本。信息系统监控平台的探针服务(Probe)启动后,自动定期调用Python脚本。主要监测范围包括:
(1)健康状态,可告警。
(2)连接时间,为性能指标,可告警。
(3)关键指标点,使用Python采集数据进行对应的抓取分析,可告警。
前文已叙述,基于Selenium录制的脚本可以定期由信息系统监控平台服务探针(Probe)调用,基于探针服务,当我们把业务信息系统的各种基础资源都分别加入探针的监控范围后,就可以建立我们的业务信息系统模型了,全部的信息系统监控即依托这个模型开展。信息系统监控详情页面见图2。
2.1.4 FTP及文件服务器状态监测
針对FTP监测点的监控,本平台中主要是对FTP可用性、响应时间等进行实时监测。设计采用登录后上传文件和下载文件对目标端进行连接,并反映FTP的上传下载速率,在性能历史走势图反映此FTP的性能。
连接到在远程主机上的FTP服务器后,监控平台向服务器程序发出命令,服务器程序执行所发出的命令,并将执行的结果返回到客户机。例如,向服务器传送某一个文件的一份拷贝,服务器会响应这条命令,将指定文件送至服务器的机器上
对于文件服务器的挂载状态,由信息系统监控平台执行脚本监控,上传测试文件到挂载点对应的文件服务器,并执行定时任务登录目标服务器,监测是否可访问到对应的测试文件,并根据返回的状态码判断挂载状态是否正常。
2.2 报表设计特点
基于信息系统监控平台已有的基本报表功能,设计并实现了专用于信息系统的运行监控报表。可统计所监控信息系统的服务容器,运行状态情况,参数详细,可精确到日,也可扩展到周、月。
2.3 其他功能设计特点
信息系统监控平台与短信及邮件关联,当出现异常告警时,将第一时间通知对口的信息系统负责人及时干预处置。
3 管理效益
自设计、实施并上线信息系统监控平台后,信息系统日常运维工作得到了信息化手段的有效支撑,运维工作效率和效果得到优化和提升,体现为:
(1)对于信息系统的运行状态具备了全局同时监控的能力,节省人力投入。
(2)信息系统出现异常状态时,可及时通知到对应的系统负责人,及时干预处置,减少信息系统的故障或异常停机时间,更加有效的支撑电厂各项生产支持和经营管理工作。
(3)报表功能可详细统计和分析特定信息系统一段时期内的运行状态和经常出现的问题,便于集中识别、分析、处理多发的难点问题。
4 结论
通过有效识别信息系统日常运维中的痛点和难点,并设计出契合自身实际需要的信息系统监控综合方案,电厂将信息系统日常运维纳入信息系统监控平台进行集中管理。通过深入的需求分析、合理的系统设计,结合合作单位的开发和实施,最终在一定程度上实现了信息系统监控的自动化,有效地减少了人工巡检频次,提高了运维工作效率。