加入收藏 | 设为首页 | 会员中心 | 我要投稿 温州站长网 (https://www.0577zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

何佳佳:民生银行基于开源的运维实践

发布时间:2018-04-01 21:44:22 所属栏目:百科 来源:站长网
导读:副标题#e# 2018年3月21-22日,由中国信息通信研究院主办、中国通信标准化协会支持的"OSCAR云计算开源产业大会"在国家会议中心举行。 银行业云计算发展论坛作为大会分论坛之一,于22日下午召开。 李晓枫:下面请民生银行的技术专家何佳佳给大家分享民生银行

监控方面,主要是在zabbix之上做二次开发和封装,一个是建立新的监控体系,二是和老的监控平台的集成融合。通过大数据平台做分析,以及后处理响应动作。另外,我们近期在实施容器云,容器方面的监控重要的工作,我们也是通过基于Zabbix的新监控体系来实现对容器的支持。

接下来是重点的应用场景层。应用场景我们更多是从应用运维角度出发进行设计实现。给大家介绍几个场景,第一个场景, onplat全景运维平台,实现实时业务数据分析和可视化。主要功能包括业务数据可视化,实时分析,根本原因分析与问题诊断,主动感知系统交易质量,包括异动、风险,及时反馈。这个项目在去年获了两个奖,一个是金融电子化颁发的运维创新贡献奖,一个是行内科技创新二等奖。这个图比较直观,当前银行的架构变得越来越复杂,比如SOA,分布式、微服务化面临同样的问题。举一个例子,3秒钟的交易,要穿过很多城市机房、系统,包括服务器,怎么定位,怎么找问题原因,其实是一个特别难的话题。

下边这幅图是以前的一个真实的案例,一个比较局部的交易缓慢问题引发的一次特别费力的诊断过程,这里不再详细描述,主要是两大难题亟待解决。一个是全局优化没有特别直观的告诉我们到底哪个点出了异常,二是局部问题掩盖在全局得海量交易里面,难于定位。

基于这些痛点,我们开始着手发起这个项目。主要的设计思路是在应用服务运行过程中,旁路无感知的自动完成信息收集和各项检查,通过API提供给上层做实时展示,多维度分析,甚至通过动态规则引擎、机器学习的参与,再反馈到上层做问题根本原因分析和整体运行情况汇聚实时展示。下边这幅图是当前的实现,一个是非常简单的主页入口,能输入很多要素,比如返回码、IP系统简称、流水号、服务名、日期、系统A到系统B的访问关系等,后台自动区分进入不同的分析视图。另外也可以直接访问系统全局运行视图,实时地汇聚展示了系统健康情况和每个系统之间链路的情况。如果下层某个指标出现异动,会在上层快速响应出来,比如做红色高亮显示,能够很快知道出了问题以及问题所在。视图支持点击下钻到应用或链路视图。我们设立了三个指标集,交易量、性能和异常,围绕这三个指标集进行多维度分析。

应用视图,用于展示应用和交易链路的情况,同样围绕着刚才提到的三个指标集进行分析。通过动态规则引擎以及机器学习,进行分析和判断,识别异常变动和趋势。例如左下角的服务调用分析,通过规则判断,展示当前交易情况和历史同期正常情况,进行比对展示。另外还有交易尖峰分析,我们可以在界面上快速拖拉拽,快速识别异常点和问题原因。

下边的功能场景是单笔交易链路分析。这部分功能对于运维来讲非常有用,比如图上这一笔端到端的交易调用,途经十几个系统、服务,通过这个功能可以直观的看到具体慢在哪个原子服务,到底哪个环节出了异常。

这个平台整个框架比较简单,数据分析逻辑是基于大数据平台来实现的,使用了Kafka,Spark Streaming,ES,Redis等等组件。流程可视化层,利用民生自有的开放框架形成平台,上层使用开源的UI组件,嵌入自然语言处理。

第二个应用场景是我们的自主创新项目实时指标驾驶舱,用于展示商业银行的基本经营指标,包括资产、负债等等的实时情况。民生银行过去只能做到T+1日报表查看前一天的数据,通过这套新的框架,现在可以秒级近实时地看到当前指标,包括存款、贷款等各项指标。现在我们的行领导每天都要多次查看这个功能。这个功能可以在手机上方便的查看实时情况,实现下钻分析到多个维度,比如按机构统计。另外实现快速识别大额异动的交易。逻辑角度不再详细描述,主要包括三层,数据接入层,数据计算层,接口服务层,最终提供到手机上进行展示。

第三个场景是针对更多的分布式系统上线,提供关键的分布式交易追踪功能。分布式架构内部的调用复杂,难于故障排查。我们通过分布式的服务框架,逐笔按照规范定义记录调用信息,通过ES进行持久化存储,集成开源Zipkin进行分布式追踪展示,这样分布式系统的问题定位会很便捷。这个功能已经与之前的Onplat项目打通,实现外部调用与内部调用的联动整合。

第四个是应用系统一眼清平台,实现基于模板快速进行配置,把所有信息汇集在一起,包括交易情况,各种中间件、服务器、数据库等中下层基础设施的信息,做到一眼就能看清应用系统的整体运行情况。

刚才提到的这些应用案例只是我们运维工具和平台建设的一部分,还有其他的一些工作。比如正在进行的标准化组件开发,我们建立了标准的日志组件提供给应用开发团队使用,其他类型的组件也在设计。运维下一步的规划分几个方面,一方面深入设计应用场景,部分开始实现业务方面的需求,这个我们与业务部门在做合作推广;另一方面,会加强前端平台层面的建设,即时通讯的联动,提供更丰富的API,移动端的展示等等;同时,计划把更多海量数据通过机器学习,抽象为知识沉淀到知识管理体系,再形成一套固定的后处理方案,通过自动化,实现自愈自治的能力。

我的分享就到这里,谢谢大家!

(编辑:温州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读