浦发银行金融大数据分析的实践情况

作者: 木子  来源: 未知  时间:2016年09月27日

银行运维人员往往要面对上百个系统、几千甚至上万台主机和设备,压力可以说非常大。那么,能否利用大数据技术预测评估系统问题,减轻银行运维人员的压力呢? 高伟达软件股份有限公司联手永洪科技,为上海浦东发展银行(以下简称:浦发银行)做了一套大数据智能运维系统。高伟达大数据产品总监方长青以此为例,在永洪科技深圳大数据峰会上为我们介绍金融大数据日志分析的实践情况。以下是根据方长青演讲录音整理的内容:

其实银行客户对大数据日志分析的需求还是很强烈的,但是目前市场上确实没有一个成熟的产品。高伟达联手永洪科技,刚给浦发银行做了一个项目落地,当然产品还不是很成熟。我简单地给大家分享一下。

银行IT运维人员遇到的压力。大家都知道,银行不管是主机、服务器还是各种系统都是非常庞大的,应该说是一个天文数字,光系统就有100多个,主机就不用说了,几千台,网络设备也是几千台甚至上万台,但是银行对于可靠性和性能要求非常高,迫切需要利用大数据分析技术,自动地发现一些问题,不要等到问题发生以后他们才知道系统出问题了,最好能提前预测出来。

大数据运维体系的方法论。也叫系统画像,大概分了7个主题,大家可以了解一下。不仅是银行,我相信其它行业只要有数据中心的,都涉及到运维管理的难点难题。这里面包括趋势告警、异常处理、业务洞察、应用分析、智能评估、基线管理、安全审计。趋势告警、异常处理、业务洞察、基线管理、应用分析我们做了一部分,智能评估和安全审计还没有,可能要到更高层次。

大数据智能运维系统功能

有五大部分,第一是日志收集,我们要把各种各样的日志收集上来。第二部分是日志管理处理,第三是日志分析,包括日志的分类加工。第四部分是异常关联分析,第五是BI展现。其中,关联分析和BI展现都是基于永洪科技的产品实现的。

以下我们讲一下日志数据采集模块:

1.做原始日志信息采集。原始日志是什么意思?当我们的设备或者交易系统在运行的时候,会对运行情况和交易情况实时地产生大量的日志信息,这是我们做数据工作的基础,这也要进行采集。我们分了三部分:第一采用代理,通过代理把发生的日志信息实时地采集出来。然后利用大数据的组件,把数据采集到服务器里面,最后进行处理。第二用内存数据库,主要针对实时批量的查询,我们对于实时要求非常高。第三提供一个Elasticsearch。它可以提供很方便的跨集群分布式的查询,你输入任意的关键字,它可以把海量的日志检索出来。

这里,我要补充说明的是,客户为了灵活使用,临时要求在展示端结合Elasticsearch功能,永洪科技的小伙伴也花了五天时间为我们开发了一个接口。所以,这也是高伟达选择与永洪科技合作的重要原因之一,永洪科技是一家本土公司,产品的代码是自主开发,一方面可以灵活定制,另一方面可以稳定维护,这对很多开源软件和国外产品来说很难同时做到这一步。

2.银行的运维系统。目前银行的运维系统起码有十几套的监控系统。比如ArcSight、Splunk、OVO、Netcool等比较典型的,但是实际上银行的系统不止这么多。每个系统要做一个标准的接口,实际上这是很难做的,老外的东西就是给你提供几篇英文文档,你自己写去吧。这个时候我们自己要开发一些接口,但是有些系统相对来说比较好一点,他给你一个数据库的接口,我们可以把日志采集出来。

智能运维系统的的整体构架

其中,采集数据分成三大部分。第一部分是实时采集,实时采集主要是到各个主要主机上布上采集点,我把它采集,采集完之后收集到大数据集群上进行分布式的存储。第二部分是从各个监控系统上进行获取,当然这个也是实时的,可能这两个实时性不一样,这个能达到秒级,监控系统一般可能是5分钟的级别。第三部分是历史数据,历史数据我们可以直接从历史数据库抽取过来。抽取过来以后,首先第一步是数据存储架构,比如非结构化数据,原始日志数据采集完之后要做一个结构化的处理,处理完放到SDFS上面,做一个实时的在线查询。中间还要经过一系列复杂的加工,加工完之后放到数据库里面。

采集之后进行数据处理。数据处理分实时和非实时、离线和非离线的。实时是加工处理完之后,我们立马通过报表工具展现出来。非实时进行一个离线加工,加工完之后也会把结果通过数据库收集起来。之后是分析建模,主要是机器学习探索,上层是BI展现,包括智能运维。

几个典型应用场景给运维人员带来的用途

下面看一下我们做的几个比较系统比较典型的场景,它能给运维人员带来什么样的用途和价值。

第一个场景,首页。首页会进行一个指标推荐,运维人员可能压力非常大,银行里面涉及到100多个系统、几千台主机,按5个指标算也有上万个指标,运维人员一个主机一个主机地去查看,可能会看疯了也找不到问题。我们的系统会对每个指标进行实时地监控,监控之后我们经过一个特殊的算法,根据系统、指标的重要性和指标的偏离度,把用户最关键的指标推荐到首页上去,用户进入系统以后就可以看到哪个系统有异常,可以看到变化趋势是怎么样的。

第二个场景,指标波动分析。要判断某一个指标正常还是不正常,我们原来各个运营中心有十几套监控系统,虽然监控得很细,但是报警系统有缺陷。比如设到80%进行报警,这里面有一个问题,不可能每个系统都到80%才报警,那时已经来不及了。这个时候运维人员需要知道,这一天主机历史CPU的运行趋势大概是什么样的,比如大概每天的运行趋势是20%到30%之间,今天突然一下升到50%,这也是明显的异常。运维人员就需要关注为什么出现这种异常,肯定是什么地方出现了问题,或者是其它主机出现问题,然后提前排查原因,不能等报警系统报警之后才进行关注。

 

(基于永洪BI产品做出的指标波动分析模型)

 

这时候我们要怎么做这个场景呢?首先要算出每个指标历史的基线,比如说算出历史一个周、一个月、一个季度甚至是一年的变化趋势。这个趋势不仅是一条线的,大家可以看一下有三条线:均线、上线、下线,当然涉及到各种各样的算法,然后再和实时的指标运行趋势进行一个比对。当它超过这个上下线的时候系统立马用黄色进行报警,严重超出历史基线值的时间,系统就进行报警,运维人员就可以对它进行强烈的关注。

 

第三个场景,文件系统。包括磁盘、CPU、交易量,实际上运维人员会定期对它进行关注。当我的存储要满了,达到80%了,就要进行扩容。但是不能等到存储满了以后再走采购流程,一个采购流程可能要走3个月,这就来不及了,所以运维人员需要提前预测一下。包括文件系统、CPU、主机都是这样的,需要提前进行预测。这时候我们需要拿出一部分历史数据,利用一些可能比较复杂的算法,比如时间序列、线性回归等等,算出来以后,我们可以预测出比如说未来一个月、三个月的值,这时候系统会告诉运维人员,磁盘未来一个月增长量是多少,未来三个月会达到什么程度,然后运维人员就可以提前进行准备工作。

 

第四个场景,关联分析。这里我们是结合了永洪的产品做的,可以把多个指标进行对比,然后进行关联分析。举一个例子,比如CPU和交易量的关系。正常情况它们应该是正相关的关系,比如说CPU上升的时候,交易量应该也是增加的。但是不排除有一些特殊情况,交易量上升的时候,CPU反而下降,这是异常情况,我们对比分析就会找出异常情况。

 

第五个场景,故障分析与快速定位。故障分析和快速定位也结合了永洪的产品,实际上这是运维用户最感兴趣的场景,也是通过日志分析的最终目标。不管是从关键字、场景分析还是数据库里面,我们在多种分析后进行检测,当发生故障时可以进行快速的故障定位。拿刚才的例子来说,当我们发现异常波动,达到红色警戒线以后,我们需要快速地去查找它到底出了什么问题,如果系统在红色故障时快速地把问题找出来,运维人员就可以缩小问题定位的范围。

 

(基于永洪BI产品做出的故障/异常日志定位分析)

 

第六个场景,系统临界值分析。以前没有量化的分析,通过我们的系统可以抽取各种各样的指标、用户关心的指标,我们通过系统进行大数据分析以后,自动地生成一个值。比方说当这个值达到一定界限之后,可以提醒运维人员进行扩容等等,提前有备无患,这是运维人员比较关心的一个事情。

第七个场景,日志信息快速查询。这个功能非常实用,日志查询集成界面以后,因为系统涵盖所有的日志,我们原来查日志要进入到某个系统或者登录到某个主机上面去,现在通过大数据分析平台,我们可以登录到所有系统、主机、设备上,可以查询到各种各样的日志。

 

(基于永洪的产品做的日志快速查询功能)

 

最后总结一下,大数据对IT运维带来的实际价值,分为五大部分:预测故障、发现异常、查找问题、分析性能、优化策略。

方长青,金融IT高级专家、金融经济分析师、Hortonworks Apache Hadoop开发者认证(HCAHD)。用于20年的金融行业从业经验,10多年的大型IT企业项目管理和行业管理工作经验。精通金融业务、各种IT前沿技术等。现任高伟达软件股份有限公司研发中心总经理助理、大数据产品总监等职务。为公司规划并研发了“金融云大数据服务平台”、“大数据风险预警系统”、“大数据客户分析平台”、“金融大数据IT智能运维系统”等产品,部分产品已经开发完毕并进行推广,部分产品正在进行研发。

版权声明

 

永洪科技
致力于打造全球领先的数据技术厂商

申请试用
Copyright © 2012-2024开发者:北京永洪商智科技有限公司版本:V10.2
京ICP备12050607号-1京公网安备110110802011451号 隐私政策应用权限