智能运维在金融行业的应用研究

2018-11-23 11:30李俊
卷宗 2018年32期
关键词:大数据人工智能

李俊

摘 要:如何高效地进行大规模系统运維,一直是金融行业数据中心思考的问题。人工智能技术的发展正慢慢改变运维体系,让运维更加智能成为了可能。本文介绍了智能运维的产生和发展,探讨了智能运维的系统建设和关键场景以及技术。

关键词:大数据;智能运维;人工智能

1 引言

随着互联网、移动互联网、金融科技等技术的迅速发展,当前各个行业的企业纷纷进行数字化转型以应对日益激烈的市场竞争,企业的数字化服务越来越依赖于大型复杂的IT系统。为了更好的用户体验,这些IT系统需要可以稳定、连续地运转,系统的部署、运行和维护都需要专业人员负责。传统运维方式在大规模系统运维的时候常常会碰到一些问题。例如:百度在定位系统瓶颈时,影响网站PageView的属性有运营商、省份、城市、移动设备类型、软件版本号、移动模块号、浏览器版本、服务器模块等十几个属性,每个属性有几百亿条数据,运维人员人工分析其中的规律是不可行的。如何区分“正常状态下实时交易量为零”与“故障状态下实时交易量为零” 的不同情形,这需要结合多方面的数据进行智能判断。

2 智能运维的产生与发展

智能运维(AIOps)这个概念最早由Gartner于2016年提出,将人工智能应用于运维领域,基于已有的运维数据(日志、监控信息、应用信息等),通过人工智能的方式来进一步解决传统运维没办法解决的问题。

学术上,多伦多大学的Geoffrey Hinton的教授和Yoshua Bengio、Yann LeCun一起提出了可行的深度学习方案,大幅的提高了计算机视觉在图片识别的正确率。2012年Google Brain用16000个CPU核的计算平台训练10亿神经元的深度网络,无外界干涉下自动识别出了猫。最近5-6年,人工智能特别是深度学习在图像、声音和语义等各个领域取得了长足的进步,为人工智能算法应用于智能运维领域提供了理论基础。

近几年一些互联网公司不断在智能运维进行探索和实践,也取得了一定成果。Google使用“类神经网络”技术分析其众多数据中心的工作情况,决定何时管理数据中心的设备,比如清理热交换器,提高设备冷却性能,大大提高数据中心的运维效率。百度实现了一套基于日志 Trace 的智能故障定位系统及其背后的一套技术方案,最终能够实现PageView根因定位能力,并能够根据根因做统计上的多维度汇聚,该系统应用于百度核心搜索系统,极大的提升了重大异常问题定位效率。

3 金融行业的智能运维应用研究

3.1 特色和挑战

和互联网行业一样,金融机构IT系统规模都比较大,需要管理万台服务器级别以上的大规模基础设施。但是和互联网行业不同的是,金融机构面临着严格的金融监管要求,需要维持稳定的金融秩序,系统的稳定性和连续性要求极高,允许大的系统变更的次数要远远少于互联网公司。金融机构IT架构以前采用大型机,现在是小型机为主,部分采用了X86服务器,云计算正在小规模试点,整体IT环境是多代共存。同时,商业软件和开源软件不同,面临接口不开放,集成成本高的问题。所以,金融行业智能运维的场景和要求有一定的行业特色。

3.2 智能运维系统设计

图1 智能运维系统逻辑架构图

智能运维系统分成数据接入层、数据存储层、数据分析层和智能运维应用层。逻辑架构示意图(图1)如下。1)数据接入层:通过开放的API接口,广泛接入企业IT系统的服务器、网络、中间件、业务系统日志以及CMDB等与运维相关的数据。接入数据的形式不仅包括离线的历史数据、还包括流式的实时数据。2)数据存储层:对接入的运维大数据进行统一集中、高效的存储和管理。流式数据通过消息队列缓存以实现高速交换的需求,流式数据和离线数据最终进入运维数据仓库。3)数据分析层:对集中整合的各个系统的运维数据,采用多维分析、搜索、时间序列、知识图谱、预测等多种分析技术以支撑智能运维应用。4)智能运维应用层:针对不同的智能运维场景,支持不同的应用。包括实时智能监控、日志聚合和检索、异常检测、根因分析、告警聚合服务和容量规划等。

3.3 智能运维系统和CMDB的关系

CMDB是IT架构中设备的各种配置信息,与服务支持和交付流程紧密相连,它是系统运维最底层最核心的数据库。智能运维系统接入了CMDB的数据,在CMDB基础上建设了运维数据仓库。运维数据仓库和CMDB是整个运维系统的最重要的两个资料库。CMDB侧重于操作、流程支持,是IT运营的核心数据库。运维数据仓库是海量运维数据存储,用于做运维大数据分析,是智能运维的核心资料库。

3.4 关键场景与技术

3.4.1 实时智能监控

对于金融交易系统一次小小的故障都会造成不小的经济损失,所以不仅需要监控历史数据,同时需要监控当前运行数据,实时监控反而更加重要。对于离线历史数据的管理,系统将他们存放在运维数据仓库中,这些数据大多为非结构化数据、半结构化数据,可以采用分布式的Hadoop HDFS存储,支持海量数据而且便于扩展。对于流式实时数据的管理,系统接入层将数据实时推送到消息队列Kafka组件中,然后通过Kafka交换,以减少对业务系统的影响。在数据分析层,对于流式数据的处理,系统通过Spark Streaming组件去获取各平台刚刚传入Kafka的系统日志、应用日志、监控数据等数据,实时发送到智能运维应用,智能监控通过可视化技术动态地将数据展现给运维人员。HDFS、Kafka、Spark Streaming这些都是Hadoop组件,它们被良好的集成在Hadoop技术体系中。

3.4.2 日志聚合与检索

当运维人员需要排错时,需要逐台登录服务器查看。另外,日志查询方式比较单一, Windows 服务器需要手动查看Event Log,Linux服务器需要通过less、grep和awk等常见的Linux指令,无法从时间段、关键字、字段值统计等方面进行多维度查询。智能运维平台对日志聚合,统一存储。而且通过ElasticaSearch组件对数据建立索引,便于检索。不同于以往每次仅可查看数量有限的几种日志,运维人员可通过智能运维平台所提供的关键字、统计函数、单条件、多条件、模糊查找等功能,在多个系统中快速定位故障信息,帮助运维人员从全局视角查看系统的运维数据信息,大大缩短了故障分析的时间。

3.4.3 异常检测

金融机构通常会实时监控交易系统的业务状态,每分钟交易信息进行汇总统计。汇总信息包括业务量、交易成功率、交易响应时间三个指标,各指标解释如下:1)业务量:每分钟总共发生的交易总笔数;2)交易成功率:每分钟交易成功笔数和业务量的比率;3)交易响应时间:一分钟内每笔交易在后端处理的平均耗时(单位:毫秒)。当分支机构网络传输节点故障,前端交易无法上送请求,会导致业务量陡降。当分支机构侧参数数据变更或者配置错误,数据中心后端处理失败率增加,影响交易成功率指标。当数据中心后端处理系统异常(如操作系统CPU负荷过大)引起交易处理缓慢,影响交易响应时间指标。当数据中心后端处理系统应用进程异常,导致交易失败或响应缓慢。当这三个指标出现业务量陡降、响应时间陡升等情况,系统可能存在着潜在故障。通常可以从交易量、交易类型、地域分布、交易时间段等多个维度进行分析,通过历史和当前数据对比。但是金融系统的交易数据存在时间波动:工作日和非工作日的交易量存在差别,一天内交易量存在业务低谷时间段和正常业务时间段。简单的对比前一段时间的业务量,往往不够精确,基于时间序列的Holt-Winters分析方法可以对数据进行二次指数平滑,提高异常检测的精确度。

3.4.4 根因分析

异常检测发现异常后,如何快速找到异常的根本原因?在传统运维中,我们通常通过自上而下的方式逐级人工排查,也就是先从应用系统,再到数据库、再到操作系统,最后是服务器硬件、网络等底层资源。这种方式可以分析出比较简单、明显的系统故障,但是无法有效的分析出性能瓶颈、内存泄漏等一些复杂的多因素影响的问题。智能运维系统通过结合CMDB中的配置信息以及其他一些运维数据,学习出故障的传播路径,帮助运维快速定位问题。同时运维专家也可以对故障根原因信息进行标注以改善人工智能的准确性,同时改善智能运维系统的智能水平。再进一步,当智能系统的智能水平达到一定程度后,系统甚至可以考虑自动采取措施来修复故障。

3.4.5 告警聚合

在传统运维中,运维人员有时会陷入重复告警的困扰。例如一个服务器宕机,在它恢复运行的这段时间内,会不断收到告警信息。与此同时,其关联的应用系统、中间件的各级资源也会不断地产生报警。智能运维系统通过CMDB系统中的配置信息获取监控对象之间的依赖关系,自动寻找故障的底层故障点进行告警,忽略关联告警信息。对于一段时间窗口告警信息,系统智能合并成一条信息,而不是反复重复告警。智能运维系统还可以通过CMDB系统中的变更信息,智能地忽略应版本变更引起的告警信息。

3.4.6 容量规划

在传统运维中,容量规划会更根据业务量的规模等因素来人为预估服务器的节点数、硬件配置等资源。通过基于运维系统产生的实际、真实的数据,通过一些模型例如:ARMA 和GARCH 模型,来预测未来3个月或者1年需要的资源配置。这种基于数据的预测方法相对经验预估相对要科学,并且准确得多,从而避免了资源的浪费。特别是在云计算的环境中,结合云计算弹性计算,按需分配的特点,极大的提高了数据中心的资源利用率。

4 结语

综上所述,由于开源大数据技术和人工智能技术的发展,金融机构在接入运维大数据、分析和存储运维大数据以及一些智能运维场景的应用已经没有技术障碍。但是,通过人工智能技术检测出故障的根原因后,如何通過采取”自动修复“技术自动修复故障,在无需人工干预的场景下,还存在如何保证整体系统稳定、安全等一系列的问题,还需要进一步研究和探索,以满足金融机构对高安全、高稳定性的要求。

参考文献

[1]袁俊德.以“七台两库”领衔智能化运维[J].金融电子化,2017(08):75-77.

[2]高建.阳光保险迈入智能运维1.0时代[J].金融电子化,2017(08):84-85.

[3]杨斌.大数据技术领航智能运维[J].金融电子化,2017(08):86-87.

猜你喜欢
大数据人工智能
我校新增“人工智能”本科专业
人工智能与就业
大数据环境下基于移动客户端的传统媒体转型思路