0 引 言
“十二五”期间,国家电网公司全面建设坚强智能电网,推动公司和电网创新发展、集约发展、安全发展,信息化工作已成为国家电网公司实现战略发展目标的基础工程和重要保障[1].国家电网公司SG186 信息系统、SG - ERP 系统等业务信息系统[2]的大量投入运用,在对公司业务工作支撑力不断提升和主营业务大幅度融合的同时,也使信息系统的规模急剧膨胀,而新系统、新技术的不断应用,使系统出现故障的可能性也随之加大,对系统稳定性和系统管理者的要求也随之提高。如何提高信息系统检修的工作效率、工作质量、安全、稳定等问题也随之突显。因此,采用创新的管理思想和现代计算机技术手段,保障信息系统的安全、降低生产成本、提高企业竞争力,成为电网企业的当务之急。正是在这种背景下,信息系统状态检修已然成为电网检修模式改变的一种必然趋势。
基金项目:国网四川省电力公司研究开发项目( 52199713504A)信息系统状态检修的基础是对于信息系统状态的监控与评价,国家电网公司企业信息系统现阶段主要采用 B/S 构架,B/S 模式信息系统主要结构包括应用服务器和数据库服务器,因此对于应用服务器和数据库服务器内部状态和外部状态的监控与评价成为信息系统状态评价研究中最为重要的环节。
信息系统检修是信息运维人员工作的重要内容,信息系统的状态检修也是必然发展趋势[3 -4].目前国内对于信息系统状态检修的研究还处于起步阶段,大部分研究者对于信息系统状态的监控和评价仅停留在整体的设计思路上面,并没有继续向下延伸到各具体部分状态的研究。也正是基于此,给出了一种对于 B/S 信息系统状态全面监控与评价的方法,并给出对于信息系统状态短期预测的方法,为信息系统状态检修提供更为具体的研究思路和实现技术参考。
1 评价系统总体设计
国家电网公司企业信息系统现阶段主要采用 B/S 构架,下面主要针对 WebLogic 服务器和Oracle 数据库服务器搭配技术路线的大型信息系统开展研究。图 1 为信息系统状态评价系统的总体设计框架。
由图 1 可知,所述系统主要包括健康状态划分与测试、健康数据采集、状态评价与预测和健康状态存储系统这 4 个部分。健康状态划分与测试主要是建立所述评价系统的评价指标体系以及对于信息系统健康度的合理划分; 健康数据采集模块是实现对WebLogic 服务器和 Oracle 数据库服务器内在及外在状态数据的监控,并将监控数据存储于健康状态存储数据库中,为状态评价模块提供实时数据来源;状态评价与预测模块实现对信息系统当前状态的评价,并结合信息系统历史状态数据给出对信息系统状态的短期预测; 健康状态存储系统即建立的存储数据库,负责所述评价系统涉及的所有数据的存储。
2 健康状态划分与测试
2. 1 健康状态划分
根据 B/S 架构系统的特性,将整个系统状态划分成两部分,即 WebLogic 服务器状态和 Oracle 服务器状态。这两个服务器又有各自不同的子状态,这些状态量,根据 WebLogic 和 Oracle 数据库的官方文档、书籍介绍和运维人员的建议,对采集到的指标进行了状态划分,每一种状态有相应的阈值,这些阈值也是参考的文档、书籍以及运维人员的经验,得到每一个状态量都划分为 4 种状态: 正常状态、注意状态、异常状态、危险状态,各状态对应给出分数如表1 所示。
2. 2 基于 LoadRunner 的测试实验
LoadRunner 是一种预测系统行为和性能的负载测试工具[5].测试分析是根据 LoadRunner 自动生成的各项指标测试结果统计图,如测试简述图、事务平均时间响应图、系统资源图等,从中了解和判断被测系统在不同压力测试下的运行状况以及系统资源的使用情况,对它们进行关联分析,从而确定系统指标不同状态的阈值。通过模拟上千万用户实施并发负载和实时性监测的方式来确认和查找问题,将测试得到的性能指标值与定义的指标状态阈值进行对比,从而验证阈值的正确性。同时,经过测试实验,定义了各级指标权重如表 2 所示。
3 状态数据采集
根据 B/S 系统的分层,将状态监视采集系统也分成相应的子模块分别对每层进行监视。状态监视采集系统由 3 个子状态监视采集系统构成[6 ~7].分别是 Weblogic 服务器数据采集程序、Oracle 数据库数据采集程序、Oracle 宿主机数据采集程序。它们对相应的模块按照设定的频率进行采集,将采集到的数据持久化后,由主程序进行读取,然后按照状态定义分别对数据进行相应状态的划分,最后得出当前系统状态的评价。
3. 1 Weblogic 服务器数据采集程序
Weblogic 服务器数据采集程序[8]能够获得服务器内 JMS 信息、进程信息、线程信息、JVM 内存信息、CPU 使用率等一系列服务器数据。在获得信息状态数据之后,可以对数据进行分析,从而得出服务器现阶段状态。
逻辑流程如图 2 所示。程序启动后,首先检测Weblogic 服务器是否启动,如果没有启动,则进行报错,提示服务器没有正常启动。如果 Weblogic 服务器正常启动后,则启动系统数据采集子程序以及Weblogic 服务器数据采集子程序,相应的子程序按照相应的时间频率刷新重新采集相应指标,主程序按照相应的时间频率获得相应数据后,程序将数据写入到 MySql 数据库中。