何佳佳:民生银行基于开源的运维实践
监控方面,主要是在zabbix之上做二次开发和封装,一个是建立新的监控体系,二是和老的监控平台的集成融合。通过大数据平台做分析,以及后处理响应动作。另外,我们近期在实施容器云,容器方面的监控重要的工作,我们也是通过基于Zabbix的新监控体系来实现对容器的支持。 接下来是重点的应用场景层。应用场景我们更多是从应用运维角度出发进行设计实现。给大家介绍几个场景,第一个场景, onplat全景运维平台,实现实时业务数据分析和可视化。主要功能包括业务数据可视化,实时分析,根本原因分析与问题诊断,主动感知系统交易质量,包括异动、风险,及时反馈。这个项目在去年获了两个奖,一个是金融电子化颁发的运维创新贡献奖,一个是行内科技创新二等奖。这个图比较直观,当前银行的架构变得越来越复杂,比如SOA,分布式、微服务化面临同样的问题。举一个例子,3秒钟的交易,要穿过很多城市机房、系统,包括服务器,怎么定位,怎么找问题原因,其实是一个特别难的话题。 下边这幅图是以前的一个真实的案例,一个比较局部的交易缓慢问题引发的一次特别费力的诊断过程,这里不再详细描述,主要是两大难题亟待解决。一个是全局优化没有特别直观的告诉我们到底哪个点出了异常,二是局部问题掩盖在全局得海量交易里面,难于定位。 基于这些痛点,我们开始着手发起这个项目。主要的设计思路是在应用服务运行过程中,旁路无感知的自动完成信息收集和各项检查,通过API提供给上层做实时展示,多维度分析,甚至通过动态规则引擎、机器学习的参与,再反馈到上层做问题根本原因分析和整体运行情况汇聚实时展示。下边这幅图是当前的实现,一个是非常简单的主页入口,能输入很多要素,比如返回码、IP系统简称、流水号、服务名、日期、系统A到系统B的访问关系等,后台自动区分进入不同的分析视图。另外也可以直接访问系统全局运行视图,实时地汇聚展示了系统健康情况和每个系统之间链路的情况。如果下层某个指标出现异动,会在上层快速响应出来,比如做红色高亮显示,能够很快知道出了问题以及问题所在。视图支持点击下钻到应用或链路视图。我们设立了三个指标集,交易量、性能和异常,围绕这三个指标集进行多维度分析。 应用视图,用于展示应用和交易链路的情况,同样围绕着刚才提到的三个指标集进行分析。通过动态规则引擎以及机器学习,进行分析和判断,识别异常变动和趋势。例如左下角的服务调用分析,通过规则判断,展示当前交易情况和历史同期正常情况,进行比对展示。另外还有交易尖峰分析,我们可以在界面上快速拖拉拽,快速识别异常点和问题原因。 下边的功能场景是单笔交易链路分析。这部分功能对于运维来讲非常有用,比如图上这一笔端到端的交易调用,途经十几个系统、服务,通过这个功能可以直观的看到具体慢在哪个原子服务,到底哪个环节出了异常。 这个平台整个框架比较简单,数据分析逻辑是基于大数据平台来实现的,使用了Kafka,Spark Streaming,ES,Redis等等组件。流程可视化层,利用民生自有的开放框架形成平台,上层使用开源的UI组件,嵌入自然语言处理。 第二个应用场景是我们的自主创新项目实时指标驾驶舱,用于展示商业银行的基本经营指标,包括资产、负债等等的实时情况。民生银行过去只能做到T+1日报表查看前一天的数据,通过这套新的框架,现在可以秒级近实时地看到当前指标,包括存款、贷款等各项指标。现在我们的行领导每天都要多次查看这个功能。这个功能可以在手机上方便的查看实时情况,实现下钻分析到多个维度,比如按机构统计。另外实现快速识别大额异动的交易。逻辑角度不再详细描述,主要包括三层,数据接入层,数据计算层,接口服务层,最终提供到手机上进行展示。 (编辑:宿州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |