一、项目背景及目标
近年来,伴随着互联网金融时代的到来,以及在”数字中国”蓝图指引下,江苏省农信用社联合社(以下简称江苏农信)不管是生产业务交易种类还是生产业务交易总量都出现了爆发式的增长,2020年1月21日江苏农信生产环境单日交易量突破2500w达到2741w笔,然而在这些数字背后,也隐含着大量的运维需求。目前在江苏农信系统中心依然采用着监控工具加人工干预的传统运维方式,多数运维操作都是运维人员手动完成,具有重复性高,误操作性高,风险性高,故障排查定位时间长,不利于业务快速恢复等问题。因此如何规避大量人工操作带来的风险,提升交易异常问题发生时快速分析以及应急处理的能力,成为当下摆在江苏农信运维人员面前的一大难题。
基于以上背景,江苏农信启动了主机智能运维分析系统项目,项目结合分布式、大数据、人工智能、云计算等新兴技术来搭建一个自动化、智能化的运维平台,提高主机运维产能和效率,保证业务系统安全稳定持续运行。通过该项目主要实现以下几个目标:一是实现主机系统、开放系统等多平台的兼容;二是实现生产环境全交易独立化、智能化、多维度的数据建模;三是通过平台不断自主学习,实现交易场景的智能化预测分析;四是基于历史数据,实现主机性能的容量预测;五是实现常见运维操作自动化,降低操作风险。
二、项目方案
2.1总体架构
平台总体架构分为数据采集层、数据存储层、数据分析层(机器学习)、数据展示层(UI)。
数据存储层用于储存数据采集端从主机采集并计算后的数据;数据分析层负责从数据存储层抽取原始数据,经过分析建模,并将最终的结果模型存储到数据存储层的结果数据库。数据展示和交互界面负责展示机器学习结果和历史信息,提供信息查询搜索功能,提供统计比较交互界面。
2.2信息采集存储
数据采集端每分钟采集主机性能运维数据,通过LOGSTASH连接至被原数据COGNOS数据库,LOGSTASH 通过原始筛选器给数据添加表头并导入平台数据库进行存储,为数据分析层提供数据支撑。
2.3信息处理分析
信息的集中处理分析发生在数据分析层,分为训练部分和模型运行部分。训练部分,学习过去一段时间主机交易运行的特征,并生成模型。可以定期运行,目前设置是一周一次。
学习生成的模型用来近实时的判别目前运行的每一笔交易关键指标健康状况,并将需要关注的交易存储到结果数据中,由于交易有大量数据,模型判别使用了统计和实例相结合的方式,分组判别,异常精细分析。对于长期性趋势, 系统自动学习长期性趋势数据的每日、每周、每月的最大值情况,提供长期性指标趋势分析。
2.4信息统一展示
项目使用统一的交互UI进行集中展示,交互UI提供了企业健康中心:提供主机全局健康分析,交易健康中心:对CICS每笔交易分析结果汇总,交易异常诊断中心:对异常交易的详细原因进行分析,工作负载健康中心:从工作负载角度分析、系统健康中心:分析系统CPU、内存、CF,磁盘中心:对磁盘容量、性能分析,工具中心:提供了丰富的查询、统计比较工具。使得运维人员可从业务层面、系统层面和工具层面三方面结合的分析问题,解决问题。
运维数据可视化展示为运维人员提供了便利性,让运维人员更了解系统的运行状况,也能更快的让运维人员识别异常,解决异常,做必要的及时反应。更好的避免业务层面发生风险。
三、创新点
3.1横跨多平台,架构创新
在支撑生产业务的主机操作系统底层,有着大量的运维数据产生。这些数据包括了子系统运行日志、各种类型交易的性能数据、以及各种应用程序产生的相关数据。这些数据对诊断系统运行状况,问题探测与分析都有着重要意义。如果对这些运维数据进行在线分析,会大量浪费生产主机系统的计算资源与存储资源,进而影响生产主机系统运行的业务交易。本项目使用一种新的架构,实现了主机运维数据向开放平台准实时的转移,部署在开放平台的数据分析层会对主机的运维数据进行进一步的分析处理。多平台的协同处理,不仅有效的利用各平台的性能优势,也显著提升了运维人员对主机系统运行状态全面了解的时效性。
3.2多交易精准建模,处理方式创新
传统监控工具主要用来对交易运行状态和性能指标进行实时监控及告警,当侦测到交易性能指标超过了预设的阀值时,工具生成出告警信息,通知给运维人员,运维人员依靠异常发生时工具采集的数据进行临时的问题诊断工作。对于监控指标的选取,常常会选择少数几个重要性能指标进行监控,而监控指标阀值的大小也往往依赖于个人平时运维经验的总结。在本项目中平台将从交易运行的上千个指标着手,基于采集到的历史数据,使用机器学习的最新算法对每个交易性能指标进行分析,为每个交易单独建立一个运行状态的健康模型。
3.3智能化预测分析,运维模式创新
在传统的运维模式中,往往只能在交易运行出现异常后,运维人员才能进行排查,根据问题日志分析问题产生的原因,进而修复问题。这种模式往往只能做到“事后分析”,如何才能在异常问题发生之前就进行“事先干预”,避免问题的发生,将是本项目关注解决的重点。项目从历史数据出发,挖掘交易性能变化趋势,通过与交易健康模型的对比分析,对系统运行状况进行前瞻性预测,在异常可能发生之前,争取出宝贵的时间。
四、技术实现特点
4.1人工智能技术的应用
使用人工智能(AI)技术,对主机运维数据进行分析。通过机器学习,积累人类经验,了解系统正常情况下的行为模式,并自动判别异常情况。能够自动识别交易的响应时间异常,使用资源异常。并对给每个交易性能的上百个维度分析,指出可能的原因。
4.2大数据技术的应用
主机高峰时段性能每分钟产生约10万笔性能数据。每笔数据含有上百个指标。使用有限的计算资源,分析这些数据面临巨大挑战,系统使用数据切片,分组方式分析这些数据,使得每分钟都能够及时处理完全部产生的性能数据。
4.3子交易级分析
主机系统中的交易级别不能给出更加详细的交易信息,平台使用新技术,将系统分析精确到子交易级别,将原来的几个交易细分为1000多个功能交易,使得性能分析展示更加易用准确。
4.4平台的自我维护
每天上千万的交易量,将产生海量的运维数据,为分析平台带来巨大负担,系统可以自动维护数据量,避免了生产辅助系统带来额外运维负担。
4.5短期趋势和长期趋势兼顾
对交易的短期性能变化和特例问题精准分析。对资源的日,周,月的趋势分析兼顾。
五、项目过程管理
5.1系统需求分析和技术可行性验证阶段
此阶段时间段开始于2019年8月,持续一个月时间,期间主要完成了交易性能数据分析功能需求分析、完成了技术原型设计,数据分析可行性试验。并对试验结果进行了讨论验证。
5.2系统详细设计阶段
此阶段时间段为2019年9月至2019年11月,期间完成了主机性能数据智能分析系统的详细设计工作,包含后端数据收集,中间机器学习处理,界面展示设计工作。
5.3系统编码、测试和上线准备阶段
此阶段时间段为2019年12月至2020年7月,期间完成了主机性能数据智能分析系统的客户化开发的编码、模型优化、测试以及上线的准备工作,并产生了投产文档。
5.4系统上线阶段
项目于2020年8月13日在生产系统全部上线,目前已经正常运行2个多月,运行状态一切正常,基本完成项目规划之初的需求。在后续的运行中,将根据系统运转的实际情况, 对数据分析的参数做了适应性调整。
六、运营情况
江苏农信主机智能运维分析系统自上线以来,平台运行一切正常,无重大bug产生,有效提升运维人员分析问题,解决问题的能力。
6.1企业健康模块运行稳定
运维人员通过平台的企业健康模块,能够对主机系统运行状态进行全面了解。通过“偏移趋势异常”排查,及时干预,保障系统健康运行。目前该模块运行稳定,准确展示主机系统各项健康指标。
6.2交易健康模块运行稳定
交易健康模块通过对所有联机交易进行监控统计,准实时展示各子交易运行的健康状况。模块运行一切正常,更新及时,运维人员通过该模块实时掌控主机系统所有交易的运行状态。
6.3交易异常诊断模块运行稳定
交易异常诊断模块可以查看运行出现异常的指定交易,并根据算法给出造成交易异常最有可能的潜在原因,为系统运维人员快速定位错误,提供了排查方向。目前模块功能运转一切正常,多次协助运维人员定位问题产生的原因。
6.4 工作负载健康模块运行稳定
工作负载健康模块会实时监控主机操作系统中所有正在运行的工作负载,系统运维人员能够准确识别单一工作负载是否出现异常状况。
6.5自动化工具模块运行稳定
自动化模块提供一些提升系统运维效率的小工具。主要包含:交易量前十统计、单交易性能分析工具、单交易变更分析工具、硬盘性能分析等工具。通过运维人员实际使用反馈,工具运转一切正常,功能丰富,达到预期目标。
七、项目成效
7.1实现了多系统协同工作
平台的数据采集层放在了主机系统,数据分析、数据存储与数据展示层则放在了开放系统。主机系统会记录大量的子系统运行日志,交易运行性能日志,以及应用数据运行日志,但是受制于计算与存储资源的限制,不能对这些日志进行详细的处理分析。开放系统优良的可扩展性,恰好解决了主机系统资源不足的限制,将主机运维数据下传至开放平台进行集中处理,实现了主机系统与开放系统的协同工作,实现了资源的合理化配置。
7.2实现了子交易层面的建模分析
主机系统上目前运行的交易是诸多子交易的集合,在系统层面很难做到对每个子交易进行单独的性能分析,平台将主机运维数据传输至开放平台,部署在开放平台的数据分析层会对交易性能数据进行拆分,将原有的几个大交易拆分成一千多个子交易。通过使用机器学习算法,不断自主学习,不断迭代更新,计算出每个子交易的健康模型,为后续的趋势预测奠定了基础。
7.3实现了交易的趋势预测分析
主机系统的运维数据,通过LOGSTASH准实时的传送给数据数据分析层,数据数据分析层会时刻关注每个交易的各项性能指标,并与事先建立的交易健康模型进行分析比较,从而得出目前系统中各交易运行状态是否正常,通过平台自研的算法,给出最有可能的交易趋势预测。
7.4实现了运维工具的自动化
平台还增加了许多自动化工具,帮助运维人员从繁杂重复的运维操作解放出来。以前的生产系统子交易量的排名统计,一天统计一次,而且耗时较长,使用平台自动化工具,可以实时查看截止当前时间的交易排名;以前交易变更前后的性能,需要将变更前后的性能数据手工导入,费实费力,使用平台自动化工具,几秒钟就能得出结果。运维工具自动化的实现,大大提升了运维效率,让运维人员有更多的精力投入到自我提升上去。
7.5实现了运维数据的可视化
平台的数据展示层,会将数据数据分析层产生的结果以报表的形式展示在运维工作者面前。这些功能丰富的报表能够很好的帮助运维工作人员进行系统健康分析,问题检测,趋势预测,根因分析等工作。大大减少了人工分析的工作量,减少了对具体经验丰富人员的依赖,为运维自动化提供了强有力的帮助。
八、经验总结
项目历时一年的开发,并最终顺利完成上线,顺利完成了既定的项目目标,也为我们日后的工作积累了不少经验。
智能运维不仅能有效减轻一线运维人员的工作强度,精简运维的人员配置,真正做到“科技以人为本”;而且随着趋势分析技术的引入,使得运维人员在交易异常发生前,就能进行干预,从而减少交易异常发生的次数,有效提升运维工作的效率,为金融科技提供更强有力的运维支撑。