一种运维自动化系统及方法
【技术领域】
[0001] 本发明设及一种监控分析系统,尤其是设及一种信息系统运维自动化系统及方 法。
【背景技术】
[0002] 现有技术目前对各信息系统及网络情况有告警监控,集团信息系统主要通过信息 运维综合监管平台(IM巧监控告警,服务器主机通过主机监控系统进行监控告警,数据中 屯、机房环境通过环控系统进行监控告警,网络通过告警系统监控告警,SAP业务系统通过 OCC进行监控告警,但总体各监控系统还比较分散,未进行集成整合,同时也缺乏自动化的 故障分析定位,故障分析和形成知识库和自定义的数据分析模型,实现对隐患、性能瓶颈和 可能事件的预警。同时,集团内服务器集群规模大、结构复杂,服务器负载随时间变化,并且 存储数据量随时间而积累,一旦服务器某些节点负载过重或存储空间溢出,会为整个电力 系统造成巨大损失。
[0003] 根据运维业务现状来看,目前服务器、存储、数据库等运维不仅耗费大量人力,而 且运维效率底、成本高。现阶段,传统的、被动的、孤立的、半自动式的运维管理模式经常让 运维部口疲急不堪,其问题主要表现在W下几个方面:
[0004] 1)无统一的运维平台 阳〇化]一方面,各个运维监控平台(如信息运维综合监管平台、主机监控系统等)之间相 互独立工作,运维信息分散、管理不集中,各类资源没有进行整合,运维管理人员往往需要 对多个平台进行监管,不仅工作量大,而且效率低下;另一方面,服务器各节点、磁盘各个分 区使用情况、数据库及表的使用率等分别使用不同的监控查询机制,可视化效果差,各个监 控设备的状态信息显示形式互异,不能对查询结果进行对比,更不能在全局范围内统计整 个集群设备状态信息,无法实现对集群状态信息的全局掌控。
[0006] 2)缺乏危险预测机制
[0007] 由于运维系统缺乏危险预测功能,通常运维人员需要保持24小时开机,时刻要警 惕服务器安全问题的发生。如果服务器出现故障,或磁盘、数据库空间写满,而运维人员不 能立刻到达现场,会对集团造成重大损失。
[0008] 3)缺乏辅助决策机制
[0009] 当前运维监控系统只是简单扮演"监控告警"角色,当各设备的实际监测值大于所 设定阔值时,进行告警。现阶段运维监控系统普遍缺乏辅助决策机制,当告警、故障出现时 不能有效帮助运维人员进行事务处理,提供指导参考。同时由于运维自动化水平的低下,很 多简单的故障都需要运维人员手动进行处理,加大了工作负担。所W,亟需建立辅助决策机 制。
[0010] 为推进运检自动化管理,提升运检人员工作效率,提升运维标准化和自动化水平, 实现运维工作可靠、高效和信息系统的"可控、能控、在控",进行运维自动化应用势在必行。
【发明内容】
[0011] 本发明的目的在于克服现有技术的不足,提供一种运维自动化系统及方法,W服 务器集群运维为中屯、,建设统一运维监控管理与负载预测系统,管理监控CPU、内存、磁盘、 数据库表运行、使用状态信息,并设计存储与预测模型,实现整个服务器运维集群中的存储 资源预测管理与计算资源分配管理。
[0012] 本发明的目的是通过W下技术方案来实现的:一种运维自动化系统,它包括W下 功能模块:
[0013] 数据采集模块:用于通过网管协议或者日志文件获取运维系统中各个被监控单元 的关键性能指标和运行状态,为运维数据处理、分析W及预测提供数据基础。
[0014] 预处理与存储模块:对数据采集模块采集得到的数据进行清洗、过滤、补缺失处理 和自动删除预处理,同时对于结构化和非结构化的数据进行数据转化和元数据提取,对于 不同类别的运维数据进行分类存储。
[0015] 预测模块:根据预处理与存储模块处理之后的数据,针对不同的预测方式建立不 同的预测模型并进行预测,所述的预测模块包括CPU负载预测模块和磁盘负载预测模块。
[0016] 算法评价模块:建立预测模块的预测算法的评价标准,将实际值与预测算法的预 测值进行对比,建立自学习过程:当预测算法的预测值不满足规定误差时,根据实际值修改 预测模块的预测模型参数,保证在特定环境和特定时间内选择出合适的算法模型。
[0017] 运维监控管理模块:负责和运维管理人员按进行交互,其包括W下子模块:
[0018] (1)数据展示单元:将数据采集模块采集到的监控单元的数据经过预处理与存储 模块的分析和加工之后,向运维管理人员进行展示。
[0019] 似预测信息展示单元:将预测模块预测得到的CPU负载和磁盘空间使用情况的 预测信息展示给运维管理人员。
[0020] (3)告警单元:监听被监控设备的状态信息,包括当前状态信息和预测状态信息, 当设备某一状态数据值超过所设置的阔值时,告警模块将按提前设置好的告警方式进行告 警,并且根据常见运维故障构建知识库,在做出告警信息的同时并给出辅助决策。
[0021] 所述的数据采集模块采集的数据来自于集群中主机服务器、数据库、存储设备和 监控设备,包括非云环境下的数据采集和云环境下的数据采集,其中,对于非云环境下的数 据采集,针对不同的数据采集环境,提供集中式数据采集和分层式数据采集的框架,并且采 用SY化0G、SNMP、肥B沈RVICE、JMS协议的采集方式;对于云环境下的数据采集,提供多级多 域的数据采集框架,直接对云环境下的中的管理节点进行数据采集。
[0022] 所述的运维监控管理模块还包括一个用户管理单元,所述的用户管理单元用于权 限管理、用户信息管理、用户注册和用户登录。
[0023] 所述的告警单元还包括对于有相应权限的用户提供告警级别设置、告警方式设置 和告警阔值设置子模块。
[0024] 一种运维自动化的方法,它包括W下步骤:
[00巧]Sl:数据采集,用于通过网管协议或者日志文件获取运维系统中各个被监控单元 的关键性能指标和运行状态,为运维数据处理、分析W及预测提供数据基础;
[00%] S2:预处理与存储,对采集得到的数据进行清洗、过滤、补缺失处理和自动删除预 处理,同时对于结构化和非结构化的数据进行数据转化和元数据提取,对于不同类别的运 维数据进行分类存储;
[0027] S3:预测,利用预处理后的数据,根据不同的预测方式建立不同的预测模型并进行 预测,所述的预测模型包括CPU负载预测模型和磁盘负载预测模型;
[0028]S4:模型评价,建立预测模型的评价标准,将实际值与预测模型的预测值进行对 比,建立自学习过程:当预测模型的预测值不满足规定误差时,根据实际值修改预测模型的 预测模型参数,保证在特定环境和特定时间内选择出合适的模型;
[0029] S5 :运维监控管理,负责和运维管理人员按进行交互,其包括W下子步骤:
[0030] S51 :数据展示,将采集到的监控单元的数据经过预处理与存储后,向运维管理人 员进行展示;
[00川 S52 :预测信息展示,将预测得到的CPU负载和磁盘空间使用情况展示给运维管理 人员;
[0032]S53:告警,监听被监控设备的状态信息,包括当前状态信息和预测状态信息,当设 备某一状态数据值超过所设置的阔值时,告警模块将按提前设置好的告警方式进行告警, 并且根据常见运维故障构建知识库,在做出告警信息的同时并给出辅助决策。
[0033] 所述的磁盘负载预测模型为磁盘使用空间增长随业务量与季节的变化而变化的 规律模型,其建模过程包括W下子步骤:
[0034]S311:建立基于时间序列的线性季节性增长模型,公式如下:
[0035] Yt= (a+bt)+S t+It;
[0036] 式中,yt为磁盘空间使用量,t为时间,St为季节变化,It为新增业务上线,a与b 均为常数;
[0037]S312:确定步骤S311中的模型的输入值,包括W下子步骤:
[0038]A :根据预处理与存储,获取服务器磁盘空间的已用空间、增长量、磁盘剩余空间;
[0039]B:通过增长量变化率即平均日增长量增量At'计算得出季节变化St:设日增长 量为At,平均日增长量增量为At' =Ati-At2,St即为平均日增长量增量At'在[t1,t2] 时间段内的积分值,即
[00川 C:新增业务上线It与用户使用量U相关,用户使用量U由每日业务点击量计量, 经业务数据与磁盘存储之间的关系计算,获得新增业务上线It;
[00创 D:通过平均日增长量At'计算得出a与b,a与b的值为线性增长;
[0043]S313:根据步骤S312获得的磁盘空间使用量yt的数据输入值带入步骤S311中的 增长模型,经过计算得到磁盘使用空间值yt;
[0044]S314:根据步骤S313得到的磁盘使用空间值yt,进行反解获得告警时间,并发送 至运维监控管理模块;当运维监控管理模块得到数据之后,通知运维监控人员进行磁盘容 量扩充或磁盘信息整理。
[0045] 所述的CPU负载预测模型包括基于模式的预测算法模型,其建模过程包括W下子 步骤:
[0046] S321 :获取经过预处理之后提取出来的CPU运行状态信息和CPU自身性能信息的 CPU负载历史数据,并且计算出各个时间节点上的CPU负载Load。。。,公式如下:
|;0048] 式中,used_cpu表示已使用的CPU,all_cpu表示总共的CPU,二者均W百万条指令 每秒MIPS为单位;
[0049] S322 :对输入的CPU负载历史数据进行计算预处理,并计算CPU负载在每个时间节 点上的变化率CR,公式如下:
[0051] 式中,为ti时刻的CPU负载数值,i= 0, 1,2,. ..,n;
[0052] S323 :选取当前模式匹配长度以构造CPU负载历史数据及当前负载模式、CPU负载 的变化率及当前的变化率模式;
[0053] S324 :对输入的CPU负载历史数据进行分段,段数为N,逐段计算相似性程度,包括 W下子步骤:
[0054] S3241 :令变量i的值为0 ;
[0055] S3242 :判断i的值是否比N小的条件是否符合:
[0056] (1)如果条件不符合进入步骤S325 ;
[0057] 似如果条件符合,包括W下子步骤:
[005引A:计算SDcR(ti)和SDcpu(ti),其中SDcR(ti)表示在CPU历史记录数据中从ti-L至。t逛段时间中记录的CPU负载的标准差,SDcpu(ti)为当前模式记录的CPU负载的标准差; [0059]B:判断W下两个条件中的至少一项是否成立,如果成立则进入步骤S3243,如果 不成立则对i的值进行加1操作之后返回步骤S3242 : 1^0060]条件 1:SDcpu(ti)《SDcpu_threshold;
[006^1]条件 2:SDcpu(ti)《SDcpu_ /TOLERANCE并且SDck(ti)《SDck ^THRESHOLD
[00创式中,SDcp。胃表示相似模式标准的最大CPU负载标准方差, SDcpL)_T0LERANCE表习^ CPU负载标准方差的宽限值,SDttTHKESHaD表示相似模式标准的最大CPU负载变化率标准方 差;
[0063] S3243 :将ti处的SDCK(ti)和SDcpu(ti)加入相似模式集合Q中;
[0064] S325 :将集合Q中的相似模式按距离当前模式时间的远近进行排序,并赋予不同 权值;
[00化]S326 :将不同权重的相似模式的截止时间点ti点及其对应权重保存在集合P中, 公式如下:
阳067] 式中,Pcpu(ti)表示距当前模式第i个CPU负载模式,i= 0, 1,2, . . .,n;i越大表 示离当前模式的时间越远,a1表示相似模式i的权重;P? (t。)表示当前CPU负载模式;W側S327 :遍历集合P,计算各个预测值,比较得到最终预测值;
[0069] S328 :将得到的一