新闻中心
吉林农信:应用交易监控智能分析系统(辽宁省农村信用社智能存款是什么意思)
来源:2022年第六届农村中小金融机构科技创新优秀案例评选
获奖单位:吉林农信
荣获奖项:运维管理创新优秀案例
一、项目背景
目前我行(社)已完成基础监控、日志监控、性能监控、业务拨测等系统建设,基本完成运维监控体系的构建,尽管实现了各业务系统软硬件方面的全网监控,但还是处于被动运维管理模式,对信息系统的健康程度了解不够深入;不能快速排查应用系统处理交易变慢的原因;不能从业务交易的角度上综合分析关联系统之间的运行情况。
为了保障我社信息系统稳定运行,满足信息系统业务连续性的要求,主动发现信息系统运行隐患,提升应急处置效率。依据IT运维监控体系规划,我社计划建设一套能高效、准实时的面向应用系统业务运行数据进行智能分析的应用交易监控系统。
二、项目目标
应用交易监控智能分析系统总体建设目标为:
1.完成数据治理工作主要从数据捕获模块、数据解析、数据推送、数据计算、数据存储和数据展示方面建设
2.实现交易监控数据秒级监控;
3.完成我社重要保障系统从应用交易级监控建设;
4.完成对接我社运维大数据平台,实现数据共享,以及数据服务能力建设。
三、建设规划
应用交易监控智能分析系统根据我行(社)运维数据中心建设规划,采用分滚动波试建设思路,第一阶段探索采用人工智能从数据分析维度进行重保类项目进行交易监控建设,并结合我行社特有的业务特色进行建设(从旁路引入流量数据,实现数据捕获,数据解析,数据智能分析,数据展示,数据共享)。第二阶段我们将那管行内一类、二类系统,进行全方位的应用交易级监控建设,实现运维交易数据共享,数据服务能力。
四、项目方案
项目基于人工智能、机器学习、大数据、自动建模、智能决策等建设。应用交易智能分析平台分为2个子系统分别为智能数据采集平台,智能应用交易分析平台。智能数据采集在不影响业务稳定运行前提下,通过网络层镜像采集流量数据,为上游智能分析平台提供交易明细数据进行业务分析。重点针对日益增长的异构交易系统产生的海量交易信息结构复杂,提取困难,分析效率低以及不能及时发现交易异常等问题,提供交易数据的可视化分析。系统首先对交易信息中关键共性指标进行采集并结构化存储,之后通过机器学习方法对交易量进行实时预测,提供交易量异常告警;最后通过可视化方式对异构交易系统实时监控,并对交易数据提供多角度的可视化分析,从而实现实时业务系统交易的监控,保障业务系统连续性,稳定性。
平台的技术架构设计,主要从下面三个方向做出考虑:(1)针对性,平台接入的数据和算法产品种类众多,需要为每种数据针对地选择合适的管道策略和持久化策略,以及每种算法选择合适的运行方式;(2)兼容性,为了兼顾将来可能的扩展需求和新算法接入需求,数据和算法的管理应该使用统一的可扩展接口,保证后续实施不会带来大的技术架构变动;(3)高可用性,使用ZooKeeper为基础的集群管理策略对重要节点进行高可用管理,避免单节点错误带来任务中断或者配置更新带来的版本不统一。
1)可视化层
前端Web页面采用Vue框架开发,采用了模块化开发管理的策略。可视化页面部分每个页面都可以单独拆解作为嵌入页面素材使用,系统界面满足我行UI标准,同时也提供了定制可视化开发的接口。而前台后端开发规范基于J2EE标准架构,可在J2EE主流容器环境上安全,稳定的运行。
2)后端服务层
服务层主要分为两个模块实现:静态资源,包括页面框架、脚本和图片等资源采用Nginx作为页面代理和负载均衡;页面动态数据和管理接口采用基于Spring-boot开发的RestAPI接口提供服务,同时利用基于Curator提供服务接口的ZooKeeper集群管理多个接口节点之间配置信息和缓存信息的统一性。
3)大数据分析
智能分析层包含了以算法为核心的大数据分析部分和管理调度部分。
所有智能分析算法都以Spark框架在Yarn平台上运行。其中,业务指标异常检测、日志异常检测等流处理算法以Spark-Streaming的方式实现;而上述流处理算法的模型训练,及多维指标异常分析等算法以定时或触发批处理的方式实现。
针对智能分析层的内部管理,基于Quartz实现的任务调度管理平台Kraken负载对接Yarn平台,对任务的启停和生命周期实行管理,并通过Livy组件提交新的任务和追踪其生命周期。同时,基于Redis的缓存系统负责在多个处理节点运行的流处理算法之间提供资源和进程锁及信息同步服务。
4)数据接入及存储层
根据不同数据日增量、功能需求和查询效率需求的差异性,采用了多种数据库存储策略组合的方式提供服务。
利用Kafka作为统一的数据管道,对接入时序数据进行队列缓存,供各种流处理分析和归档程序消费;
利用InfluxDB存储指标型时序数据,可以提高大量长时间段(月级别)指标数据的索引效率,并极大降低存储空间;
利用ElasticSearch存储交易报文级时序数据,提高交易码的字段检索能力;
利用MongoDB作为模型和配置数据的存储数据库,提高模型深度解析能力,能对大量异构数据进行深度存储和快速索引;
5)集群管理
集群管理策略采用ZooKeeper完成,实现了分布式高可用,同时利用Curator作为接口,为各个层面组件的同步一致性需求提供支持。整体具备集群多节点负载均衡能力,避免单点故障。
上述组件类似kafka、ES、Hadoop等大数据组件均可复用行内现有的环境,保证兼容性的同时充分利用前期投资建设成果。
6)系统扩展
系统支持主流协议对外数据接口的能力,提供灵活高效易接入的数据访问接口,同时将依据南京银行数据平台规划标准,预留数据接口,后期可同行内数据平台进行对接。
五、技术创新实现特点及优势
项目采用多种自研算法,针对大量数据建模,模拟训练实现业务系统监管控,本项目最大技术创新点就是完全我方自研产物具体如下:
1)业务指标异常检测(Anomaly)
在业务关键指标(如交易量、交易响应时间、交易成功率)异常检测的工作中,基于机器学习技术对生产环境中的关键指标的时序曲线进行反常行为检测,提高检测准确度,减少人力开销。实现智能故障发现算法,包括如下特性:根据最少一个月历史数据建立融合多种检测器特性的异常检测模型,对KPI曲线实现高准确率的异常检测。无需人工调节原始算法的复杂参数,能便捷进行反馈优化。自动适应跑批导致的周期性指标突变,以及跑批时间误差。自动适应少量数据采集缺失(每天少于1小时)带来的影响。实时检测(收到数据后5秒以内出检测结果)。可以支持1000个分钟粒度的KPI同时检测。
业务指标异常检测产品整体架构设计图如下所示:
对于一条时间序列,首先对其特征进行表述。关注的特征包括:
1.通过算法自动找到时间序列的周期
2.是否具有向上/向下的趋势性
3.周期偏移情况
4.数据抖动程度
5.上下界极限值
6.是否可以用阈值的方法以及阈值采用多少合适
对其特征进行描述之后,根据时间序列的特征,计算资源的分配以及数据的时间来合理选用不同的模型组合来训练并生成对应的模型,涉及的算法包括:
1.变分自编码器
2.渐进梯度回归树
3.差分指数滑动平均
4.极值理论
5.周期性中值检测
数据积累到一定程度即可开始在实际环境中在线检测,在线检测使用已训练好的模型对应的关键特征生成算法来生成新的时间点的特征,并用已训练好的模型对新的时间点的异常程度打分.对于每个时间点对应的值算法可以给出一个异常分数,根据异常检测的默认阈值,可以给出一个点是否是异常的结果。
2)业务明细多维定位(Volcano)
KPI指标(如交易量,失败量,响应时间,成功率等)与多维属性(如源系统、交易类型、交易渠道等),是金融、互联网等行业常见而重要的监测指标。当系统级别监控的KPI总体值发生异常时,想要进一步解释异常发现的原因,定位出导致该异常的根因维度是关键一步,然而,这一步常常是充满挑战的,尤其当根因是多个维度属性值的组合的时候为解决此问题,首先需要解决由于元素间存在复杂关系导致的难以衡量任意一个元素集合的是根因的程度,本系统提出评判多维指标体系中元素集合是异常根因的可能性的评分方法。其次,为了解决巨大空间的搜索问题,产品使用“先聚类,再搜索”的搜索策略,以及多种剪枝方法,在不影响结果的前提下降低复杂度。
当系统发生了一个告警。Volcano会读取告警前后m+n分钟数据作为根因定位的源数据。首先根据告警发生时刻的维度组合对其他时间的数据进行缺失值填充、按维度聚合、KPI计算等。接着对当前数据规模进行评估。根据参考的历史时间序列长度以及算法训练的时间综合选择不同的异常检测算法。主要用到的算法有lightGBM、极值理论以及自研算法等,以下主要对自研算法进行介绍:自研算法是更为通用的异常检测方法。可以高效的对所有KPI类型计算出一个可加和的异常得分,并且在不同的KPI间可环比参考。在自研异常检测算法中,我们主要参考了数据的极值、均值、稳定性、TF-IDF、差分等信息,随后将异常分数的PDF(概率密度函数)图进行聚类,确定后续搜索的顺序及根因的选择。
不同异常得分的维度组合会被聚到不同的簇中,每一条红线代表一个聚类中心。这里的聚类方法是先找到异常得分PDF图中的所有极大值和极小值。每一个极大值相邻的两个极小值决定的范围被聚为一个簇。
算法会先在异常分数最大的簇中搜索根因,模拟信息熵的计算来定义根因。我们认为当一个维度组合是根因会有如下表现:其信息熵显著大于其同层的其他维度组合,并且大于其超集和所有子集。同时,这也是剪枝的一部分,当找到一个维度组合满足上述条件时,算法将不会将其所有子节点作为根因候选集。同时算法会综合考虑「解释性」和「惊奇性」,即该维度组合能否解释当前整体KPI的变化情况,以及这个变化是否“惊奇”等。最终重复上诉过程,找到所有的候选根因集。
满足信息熵增加最多的维度被定义为根因,此处黑色的维度组合的信息熵增益最大,满足我们对于根因判断的标准,所以被定位为根因。
组合1的「解释性」要高于组合2,所以组合1更有可能是根因
组合2的「惊奇性」要高于组合1,所以组合2更有可能是根因
在找到了所有的候选根因集之后,我们会对不同的维度组合之间做分布相似性度量,根据KPI指标的不同,可加和KPI(交易量,失败量,响应时间等)主要使用JS散度。不可加和KPI(成功率,响应率等)使用Wasserstein距离衡量相似性。目的是将相似的维度组合进行合并,精简结果。
3)调用链根因定位(Quoridor)
调用链根因定位算法是基于故障传播分析的随机游走算法。
由于各系统间调用关系繁多复杂,每次完整流程都经过多个系统,以及系统间的调用数据质量较差,所以并不适合对所有的系统间调用使用流式异常检测算法,当获得了可信的告警后,只需要快速分析哪些系统产生了突变,即算法会对所有服务之间的调用关系进行异常检测,找到异常的调用关系并确定异常度。
例如当故障发生时,Sketcher算法首先查询在故障时段,告警交易码上所有的span,找到其中问题可能性最大(与告警类型关联,如响应时间突增明显、业务失败、系统失败等)的K(可配置的参数)个span,记录下它们的全局流水号。因为当故障发生时,调用链(经过该交易码的不同交易类型)的数量可能非常多,每条调用链所包含的交易更是个天文数字,所以为了定位效率,算法只能优先采样最可能和故障相关的调用链。通过分析这些问题调用链,Sketcher算法能更准确地分析根因。
然后,Sketcher查询所有这些全局流水号对应的调用链的全部span,根据查询到的数据将这些span重组成一条条调用链。
接下来,Sketcher算法为每一条调用链分别定位其根因交易码。首先,Sketcher检测每条调用链上所有的异常span。如果一个span满足以下条件之一,那么它是异常的:
返回状态为错误;
返回码表示发生了错误;
响应时间超过了其所在交易码在故障前一段时间合理响应时间范围或超过了给定的阈值。
六、项目过程管理
项目准备及启动会(10/11~10/29)
需求设计周期(10.18~11.05)
产品部署周期(11.1~11.5)
目标上线数据对接,分析、优化日期
一阶段(11.8~12.10)
一阶段试运行( 12.10 ~03.10)
一阶段上线(12.20)
二阶段(12.13~06.20)
UAT测试周期
一阶段(12.13~12.20)
二阶段(06.10~07.20)
试运行周期(07.20~10.20)
七、运营情况
截至目前,我行已经将重保类业务系统、高频次使用业务系统均接入应用交易智能分析平台,通过平台实现事前预警,事中定位问题,分析问题,事后统计闭环管理。
八、项目成效
1.经济效益
1)重构业务模式,充分利用数据价值
应用交易监控智能分析系统利用人工智能、大数据等先进技术构建全流程的监控运营模式,能够支持我社交易级的风险防护,保障业务系统的稳定运行。
2)技术架构转型,节约研发成本
应用交易监控智能分析系统术架构设计是基于先进的技术架构,采用大数据、人工智能、智能决策等先进技术,以满足我社业务开展可能面临的性能挑战和未来的拓展需求,应用层采用微服务加国产分布式数据库架构搭建,通过将功能分解到各个离散的服务中以实现功能的解耦,并提供更加灵活的服务支持。硬件设备以X86为主,对比传统方式采用商用软件和小型机硬件,产品采购费用节省近千万,每年维护费节省超百万。
2.社会效益
积极创新,塑造农信体系运维业务新形象。此次应用交易监控系统的建设一是为业务连续性提供了稳定的保障;二是从旁路数据抓包,对数解码,不影响业务系统的前提下,创新射设计思实现交易级别,秒级监控,做到了事前预警,事中告警,分析,定位,事后总结的闭环管理,有效缓解了其他银行金融创新为吉林农信带来的竞争压力,大幅提升了省农信在当地的竞争力和品牌影响力,重塑了农信创新形象。
九、经验总结
基于吉林农信应应用交易监控智能分析系统探索与实践的经验总结,一是要改变传统的架构思路,在保障业务系统的稳定运行的情况,通过先进的技术手段,人工智能,智能决策分析等多方面结合,充分发挥并利用大量的数据,体现数据在运维领域,在业务领域的价值,为系统提供可靠的业务连续性,可靠性的保障。
更多金融科技案例和金融数据智能优秀解决方案,请登录数字金融创新知识服务平台-金科创新社案例库、选型库查看。