首页 理论教育银行设备故障告警优化方案

银行设备故障告警优化方案

【摘要】:通过机器学习算法对这些数据进行挖掘进而告警预测,可以对银行故障进行主动告警排查,最大限度保证银行业务的正常运作。图6-12银行故障告警系统架构图6-13机器学习模拟生成流程示意图该系统中数据的特性:数据量很大,属性之间可以近乎满足独立性并且数据有一定的缺失,选择朴素贝叶斯、支持向量机和EM的组合算法作为该系统的机器学习算法。

银行设备的正常运行对银行业务正常运作非常重要,银行运维系统的集中构建是对这些设备进行监控从而保障系统正常运行最重要的一环,目前银行对这些运维系统中产生的大量告警以及性能数据没有充分利用,告警的产生往往通过捕获而非预测。通过机器学习算法对这些数据进行挖掘进而告警预测,可以对银行故障进行主动告警排查,最大限度保证银行业务的正常运作。

虽然目前的监控系统已经取得了一定的成效,在生产系统的正常运行以及故障排查中起到了很好的作用,但是仍需要进一步深化改善,以加强运维系统的监控告警功能,从而提升整个生产系统的安全管理需求。银行系统目前项目中采用的系统预警机制是基于传统阈值管理的概念,通过人为设置预警的阈值,当采集的指标达到或者超过设定的阈值时进行告警,但是这种情况下的告警基本已经是事后告警,无法达到提前进行处置排除故障的要求,一旦出现了重要系统的告警信号,往往已经对业务造成了极大的影响。通过对监控的历史数据进行深度挖掘,应用机器学习算法包括朴素贝叶斯、支持向量机以及最大期望值算法等对数据进行学习预测,并进行后续迭代优化,并通过软件系统开发,搭建架构系统,实现对业务级系统性能告警数据的监控与可视化展示,从而搭建一整套银行运维管理所需要的智能化故障告警系统,这样就可以制定系统的主动式故障预测与预防的一体化解决方案,建立运维故障告警预测的高可用性机制,提高对银行故障告警预测的管控能力,最大限度保证银行信息系统的稳定运行以及银行核心业务的正常持续进行。

该银行故障告警系统设计的技术架构与系统总体架构是相对应的,该系统软件开发框架分为前台交互系统与后台服务系统构成,如图6-12所示。

在该系统中主要有两个机器学习引擎:一是对交易超时故障的分析预测;二是对硬件故障告警的分析预测。两者的不同主要体现在不同的业务领域,具有不同的特征值,而总的学习流程大体相同,具体如图6-13所示。

系统中机器学习模型的生成主要有以下几个步骤:

①从数据库读取性能和告警数据,并对这些数据进行聚合,得到数据集A;

②将数据集A作为样本数据,并进行特征选择与提取,选取对模型建立起最大支撑作用的属性值,得到数据集B;

③对数据集B中的数据进行缺失数据填补,得到数据集C;

④将数据集C作为最终学习样本输入到机器学习算法中进行学习,栈到模型的参数,并输出模型M;

⑤将模型M保存到数据库中以供将来直接对数据进行预测或者直接由前端分析平台调用进行数据分析。

图6-12 银行故障告警系统架构

图6-13 机器学习模拟生成流程示意图

该系统中数据的特性:数据量很大,属性之间可以近乎满足独立性并且数据有一定的缺失,选择朴素贝叶斯、支持向量机和EM的组合算法作为该系统的机器学习算法。结合特征选择算法,机器学习流程图如图6-14所示。

图6-14 银行故障告警系统机器学习流程

其中,D(F1,F2,…,Fm)为包括个特征的数据集,S=Search(D)为在特征空间通过启发式搜索找到特征子集,res=Eval(S,D)表示通过评价函数对选择的特征子进行评估,如果评估结果更好,则更新以及表示迭代停止的条件,如果达到停止对条件,则停止特征选择流程,并用选择的特征进行分类器的训练;若停止条件没有达到,则进行继续启发式搜索查询最优特征子集,最后对分类器进行测试,评估准确率、时间性能等指标。

对于该机器模型的有效性测试主要分两部分:对所设计的特征选择算法在系统中性能表现的评估;对机器学习算法在业务故障以及硬件故障定位中的准确率与时间性能的评估。

从表6-4可以看出,特征选择算法在特征子集优良性以及模型学习时间性能方面表现良好,其中优良性越好,所选特征子集在分类模型预测中准确率较高。

表6-4 不同特征选择算法对数据处理的效果比较

从表6-5中可以看出,在银行运维数据量达到之前,SVM算法的模型学习时间比朴素贝叶斯要少,而大于15 000时,朴素贝叶斯有更好的时间效率,并且随着数据量增大,SVM耗费时间的增长率要明显大于朴素贝叶斯。虽然此时模型的预测准确率比SVM稍微低些,但是准确率已经足够高,并且时间效率比SVM要高很多,所以综合性能更高。此外15 000的数据量在实际系统中相当于5个多月的数据量(实际系统每15分钟或1分钟采集一次数据),这些数据已经可以反映系统的大体运行状态。

从表6-6中可以看出,整体来说算法比朴素贝叶斯在对银行告警数据有更好的预测准确率,随着学习样本数目的增大,朴素贝叶斯预测准确率与算法的差距越来越小;算法与朴素贝叶斯组合在大多数情况下,对银行设备告警预测准确率会比单独使用算法或朴素贝叶斯要高,银行缺失数据填补对预测是有效果的。

表6-5 机器学习算法对银行运维数据学习时间性能展示

表6-6 机器学习算法对银行运维数据分类准确率展示

表6-7展示了使用机器学习算法前后对银行运维人员处理故障效率的影响。

表6-7 使用机器学习算法前后银行运维人员处理故障效率的比较

综合来看,使用机器学习算法后,故障正确预防率有了明显提升,通过机器学习算法主动预测故障,使得故障在发生之前得到密切关注,一经发现马上处理,有的甚至在未发生时就处理,从而显著降低了故障的平均处理时间。