郭云峰,蔡珩,戈磊
基于大数据网格的电信IT系统智能运维体系
郭云峰,蔡珩,戈磊
(中国电信股份有限公司上海分公司,上海 200041)
提出利用电信大数据平台的优势,创新地利用人工智能的自学习运维模式,通过采集并分析IT系统的海量日志数据主动感知各个IT系统节点的运行状态,通过智能图计算和网格星云图直观展示各个IT系统节点的影响力、健康度以及依赖关系,利用Keras深度学习框架实现节点故障智能预测,构建电信IT系统大数据网格智能运维体系。
大数据;网格;智能运维;智能图计算;网格星云图;故障预测
目前电信传统运维体系在运维过程中存在“系统变化感知滞后”“未来故障无法预测”“故障响应慢成本高”三大痛点。针对上述痛点,中国电信股份有限公司上海分公司(以下简称上海电信)对现有的运维体系进行量子化划分,同时利用国际先进的大数据智能图计算分析技术和Keras深度学习算法,创新性地推出了大数据网格智能运维方案,可以大大提升电信IT系统的运维能力,主要表现在以下方面。
• 电信传统运维需要预先定义各个节点的功能范围以及系统之间的连接,系统变化感知滞后。大数据网格智能运维利用电信大数据平台的优势,通过电信IT系统海量日志的自动采集及分析,主动感知IT系统节点运行状态的变化。
• 电信传统运维不提供电信IT系统各节点的点、线、面关系的分析及展示功能。大数据网格智能运维通过构建大数据运维网格模型,采用网格星云图直观展示各个系统节点的影响力、健康度以及依赖关系,实现IT系统节点的立体感知。
• 电信传统运维的告警处理属于事后人工修复,故障响应时间长。大数据网格智能运维采用人工智能的深度学习运维模式,预测各个系统节点未来可能发生的潜在故障,真正实现“防患于未然”。
综上所述,大数据网格智能运维实现了主动化、智能化的电信IT系统运维变革,大大提升了电信IT系统的维护效率,同时节约了电信IT系统维护成本,满足电信智慧运维的需求。
电信传统运维体系在运维过程中存在以下痛点。
• 传统运维需要预先定义各个节点的功能范围以及系统之间的连接,但是实际生产过程中,各个节点的功能经常升级扩容而且节点连接也经常发生变化,传统运维无法自动感知上述变化,将出现严重系统变化更新滞后的问题。
• 传统运维通常是根据系统输出的日志,分析系统历史状态的信息和告警,无法提供预测未来故障的关键智能分析功能,不能及时发现系统可能发生的潜在故障,无法实现“防患于未然”。
• 传统运维产生告警通知维护人员进行维修,属于事后的人工修复,故障的响应时间为小时级别甚至天级别,不能满足实时性高的业务需求;系统运维人员需要花费大部分时间和精力处理一些简单重复的问题,体力劳动量偏大,工作效率低,需要投入大量的维护资源。
综上所述,电信传统运维体系已不能满足现有业务发展的需要,需要引入智能化运维体系,实现系统变化自动感知、主动预测未来故障、故障自动派单修复,以提升电信IT系统的运维水平,增强企业竞争力。
电信传统运维体系通常采用C/S以及B/S架构的第二代数据处理技术,面对海量数据,系统利用关系型数据库和复杂SQL语言的传统数据处理方法将占用大量处理与存储资源,造成承载的服务器负载过高,执行效率低下,无法胜任大数据时代的要求。
为了应对大数据的挑战,上海电信构建了大规模的Hadoop大数据平台,通过分散存储满足海量IT系统日志的存储需求,利用并行计算实现节点主动感知和大数据网格构建,同时利用深度学习实现故障智能预测,从而为上海电信实施大数据网格和智能化运维提供了必备的条件。
电信传统运维体系采用预定义运维模式,通过人工预先定义各个IT系统的节点配置。同时由于系统不具备大数据分析挖掘能力,所以不能实时感知IT系统的节点运行状态,节点的影响力、健康度以及依赖关系,也不能提供故障预测等智能分析功能。
日益兴盛的人工智能技术,让人们意识到赋予电信IT系统“智能化”是大趋势。AIOps(artificial intelligence for IT operations)是将AI人工智能用于IT运维领域的人工智能平台,结合大数据、机器学习和其他技术来支持所有主要的IT运营功能。
上海电信创新地利用人工智能的全文检索算法,通过建立自我感知模式,可以主动发现系统节点,感知节点间的真实拓扑关联,自动生成点线面立体运维网格;同时通过海量日志不断训练深度学习模型,可以实现运维故障智能预测。
正是通过引入全文检索和深度学习等人工智能算法,才能颠覆传统网管的预定义模式,为上海电信实施大数据网格和智能化运维提供了核心技术支持,符合产业界最新AIOps运维体系的要求。
由于电信传统运维体系无法胜任大数据时代的要求,需要颠覆传统运维的预定义运维模式,创新地利用人工智能的自学习运维模式,创新思路如图1所示。
图1 电信运维体系创新思路
第一阶段:利用电信大数据平台的优势,通过电信IT系统海量日志的自动采集及分析,主动感知IT系统节点运行状态的变化。
第二阶段:采用图计算技术自动构建运维网格,并通过网格星云图直观展示电信各个节点的影响力、健康度以及依赖关系,实现IT系统节点的立体感知。
第三阶段:利用Keras深度学习算法,构建电信IT系统日志的深度学习应用模型,实现IT系统节点故障的智能预测。
本文利用电信大数据平台的优势,通过业务日志实时采集技术和probe(探针)进程日志自动采集技术,主动感知电信IT系统节点运行状态的变化,包括资源使用变化、网络拓扑变化、软件进程变化、服务调用变化、业务响应时间变化等。
(1)节点主动感知流程
节点主动感知业务流程如图2所示。
图2 节点主动感知流程
第一阶段:实时采集上海电信多个IT系统的节点日志数据。
第二阶段:将采集到的节点日志自动存储到上海电信大数据平台,生成大数据基础信息表。
第三阶段:实时分析大数据基础信息表,获取节点运行状态。
(2)节点日志实时采集
本文采用Kafka+Storm流式数据实时采集技术架构,对上海电信多个IT系统的业务日志数据进行实时采集,从而实时感知IT系统节点的运行情况、业务调用等信息,其中,CSB(channel service bus)等系统的业务日志为实时采集,响应时间最快可以达到秒级。
同时通过在上海电信多个IT系统节点部署probe进程日志采集程序,获取节点进程的运行情况,从而实时感知IT系统节点服务进程之间的相互连接情况以及进程自身的资源占用情况。为避免probe采集程序消耗过多的系统资源,probe进程日志自动采集频率为分钟级别,通常为3~5 min。
(3)节点日志实时汇聚
节点日志自动存储到上海电信大数据平台后,根据业务需求生成大数据基础信息表。大数据基础信息表示例如下。
• 流量数据表:数据字段包括设备号、端口号、入口流量、出口流量。
• Syslog数据表:数据字段包括设备号、端口号、时间戳、告警内容。
• 用户数据表:数据字段包括端口名、端口ID、设备名、客户ID。
• CPU和内存数据表:数据字段包括设备名、时间戳、使用占比。
• 修障事件单数据表:数据字段包括设备名、状态ID、时间戳、客户ID、主题、事件描述。
• 设备关联信息表:数据字段包括本端设备号、远端设备号。
(4)节点状态主动感知
基于大数据基础信息表实时分析电信IT系统海量日志,主动感知各个IT系统节点的运行情况,包括节点运行状态(on/down)、节点内存使用情况、节点CPU使用情况、节点流量情况、节点告警情况等节点运行信息。
(5)节点主动感知覆盖范围
截止到2017年6月,上海电信统一规划并建设了包含CRM系统、IBP系统、综合资源系统、CSB系统、计费系统、大数据平台、信息网络部IDC数据中心的大数据智能网格运维应用。
• 业务日志每天数据量为2.9 TB左右,记录数为11.3亿条左右。
• 已部署probe进程日志采集的设备971台,记录数为4 900万条/天。
以CSB系统为例,通过节点主动感知,可以获得CSB系统节点实时动态网络拓扑如图3所示。
本文利用Graphx的图计算框架,构建电信网格运维模型,并通过星云图直观展示运维网格中设备的依赖关系和运行状态,从而形成运维网格的点、线、面的矢量关系图。
图3 CSB系统节点实时动态网络拓扑
(1)IT系统网格化运维模型
IT系统网格化运维模型按照人、事、物、态标准划分网格单元,实行全方位、扁平化、联动式的动态管理。首先要将运维的对象、内容、主体、状态进行网格化,即所谓的点;找出点之间内在的逻辑关系,即所谓的线;找出线之间的逻辑关系,即所谓的面。
IT系统网格化运维模型如图4所示。
(2)构建图形数据库
Graphx的图形数据库是一种非关系型数据库,它应用图形理论存储实体之间的关系信息。数据模型主要是以节点和关系(边)来体现,也可处理键值对。利用图形数据库可以直观地描述电信业务系统之间点线面的关系。
运维网格系统中的图数据结构抽象如下。
图4 电信网格化运维模型
• 节点:主要是服务器主机或者一组功能相同的机器。
• 关系:不同系统的软件的相互通信,比如进程连接、业务调用以及依赖关系等。
(3)网格星云图展示
利用图计算的智能日志分析方法,计算出网格中每个节点的状态信息,通过星云图将网格中的节点状态信息最直观地反映出来。通过星云图的展示,可以直观地看到节点的影响力、健康度、连接、影响范围等节点的状态信息。
• 影响力量化:将每个进程的影响力量化通过每个节点面积表示。
• 连接可视化:将每个进程之间的链接通过连线描述。
• 健康度量化:将设备当前的运行状况通过不同的颜色表示。
(4)网格星云图应用示例
截止到2017年6月,上海电信统一规划并建设了包含CRM系统、IBP系统、综合资源系统、CSB系统、计费系统、大数据平台的大数据智能网格运维应用,其中,大数据智能网格运维星云图示例如图5所示。
图5 上海电信大数据智能网格运维星云图应用示例
本文利用深度学习算法构建日志数据的深度学习应用模型,并且可以输出智能预测的应用结果,用于实现故障的智能预测,并且实现事先告警有助于提前实施预防措施,真正实现“防患于未然”。
(1)深度学习数据处理流程
电信IT系统深度学习数据处理流程如图6所示。
图6 IT系统运维节点故障自动预测业务流程
通过上述深度学习数据处理流程,可以深度学习运维网格各个系统的历史日志,从而获得深度学习模型并且输出最有效的预测模型。
(2)Keras深度学习应用模型
由于故障预测是在事先未知情况下,利用历史数据通过无监督学习的方法,输出未来故障的预警。因此本文采用Keras算法构建深度学习应用模型。Keras算法是一个高层神经网络库,具有良好的模块化和快速原型迭代等优点,可以满足海量日志的无监督学习以及故障预测响应时间的要求。
Keras深度学习应用模型如图7所示。
图7 Keras深度学习应用模型
目前采用的Keras算法主要采用Sequential(序贯模型,也称为单输入单输出模式),未来深度学习算法准备升级到Keras2,可以支持基于Model(一般模型)的多输入多输出,从而提高迭代效率和自学习速度。
(3)故障智能预测模型
本文基于深度学习的方法,对IT系统的进程和端口网络进行分析,并对该IT系统的节点即某个进程或端口的状态进行预测。
系统对该进程网络中的节点进行如下分析:
• 将某个进程的占用CPU、内存情况看作进程节点的“固有属性”;
• 将进程之间的通信看作进程网络中的边;那么,节点在网络中的中心度可以衡量节点的活跃程度以及与外界联系的紧密程度;
• 把进程崩溃视作一个进程的行为,那么进程崩溃这一现象可以类比为社交网络中信息的扩散。
因此,端口网络中的某个节点可以表示为{(in1,out1,1),(in2,out2,2)…},其中(in,out,t)表示在t时刻,具有入流量in,出流量out。
基于以上分析,本文把一个进程或端口发生崩溃、阻塞等异常的现象定义为网络中一个节点的状态;在给定的时间戳下,网络中的节点可以被分为两类:处于异常状态的节点和处于正常状态的节点;因此,预测网络中节点的异常可以转化为针对网络节点的二分类问题。
本文仔细地选取节点的相关属性作为节点分类的特征,用卷积神经网络(convolutional neural network,CNN)对该模型进行分类,并得到了较为可信的结果。
CNN是一类特别设计用来处理二维数据的多层神经网络,也是一种深度监督学习下的机器学习模型,具有极强的适应性,善于挖掘数据局部特征,提取全局训练特征和分类,它的权值共享结构网络使之更类似于生物神经网络,在模式分类的各个领域都取得了很好的成果。
(4)故障智能预测准确性验证示例
为了验证故障智能预测的准确性,上海电信利用大数据网格智能运维系统对信息网络部IDC(互联网数据中心)进行端口故障预测的验证工作。其中采集的数据范围是2017年8月13—20日,预测的设备数量为617个,端口数量为5 930个,具体验证结果见表1。
通过此验证示例可知,本运维网格模型在信息网络部IDC端口故障预测中的准确率均超过90%,满足了维护人员对于故障预测的准确性要求,可以用于支撑今后的智能运维工作。
大数据网格智能运维系统颠覆了传统网管的预定义运维模式,创新地利用人工智能的自学习运维模式,实现了节点主动感知、运维网格构建和故障智能预测,填补了人工智能在电信运维应用领域的空白。
系统下一阶段的目标是将智能预测的故障,实时提交给自动排障系统,逐步积累修障知识库,陆续将可以通过自动脚本或者软件工具修复而无需人工干预的故障剥离出来,提交给智能机器人自动修复故障,从而大大缩短故障修复时间并降低IT系统运维成本。
表1 上海电信IDC故障智能预测准确率验证结果
图8 未来智能运维机器人应用示例
下一阶段,智能运维机器人可以通过深度学习系统日志、告警信息以及故障处理单等数据,同时结合RCA(root cause analysis)根因分析等智能运维流程,实现设备故障的提前预测和自动处理,从而实现智能化运维的目标。
智能运维机器人应用如图8所示。
图8中,当智能运维机器人上线后,系统发生141个故障时,智能运维机器人可以自动修复129个故障,运维人员只需要处理12个故障,大大减少了运维人员的工作量,提高了IT系统的运维效率。
本文利用大数据平台的优势,创新地利用人工智能的自学习运维模式,实现电信IT系统节点运行状态主动感知、节点运维网格构建和节点故障的智能预测,未来还可以实现人工智能机器人自动运维,从而实现电信IT系统智能化运维的目标。
[1] 马世龙, 乌尼日其其格, 李小平. 大数据与深度学习综述[J]. 智能系统学报, 2016, 11(6): 728-742.
MA S L, WUNIRI Q Q G, LI X P. Deep learning with big data: state of the art and development[J]. CAAI Transactions on Intelligent Systems, 2016, 11(6): 728-742.
[2] 任浩, 屈剑锋, 柴毅, 等. 深度学习在故障诊断领域中的研究现状与挑战[J]. 控制与决策, 2017(8): 1345-1358.
REN H, QU J F, CHAI Y, et al. Research status and challenges of deep learning in fault diagnosis[J]. Control and Decision, 2017(8): 1345-1358.
[3] 张清辰. 面向大数据特征学习的深度计算模型研究[D].大连: 大连理工大学, 2015.
ZHANG Q C. Research on deep computing model for big data feature learning[D]. Dalian: Dalian University of Technology, 2015.
[4] 郭丽丽, 丁世飞. 深度学习研究进展[J]. 计算机科学, 2015(5).
GUO L L, DING S F. Deep learning research progress[J]. Computer Science, 2015(5).
[5] GOODFELLOW I, BENGIO Y, COURVILLE A. Deep learning[M]. Cambridge: MIT Press, 2016.
[6] MOOLENBROEK D C V, APPUSWAMY R, TANENBAUM A S. Integrated system and process crash recovery in the loris storage stack[C]//2012 IEEE 7th International Conference on Networking, Architecture and Storage(NAS), June 28-30, 2012, Xiamen, China. Piscataway: IEEE Press, 2012: 1-10.
[7] MOHAMED E E, ABDEL-WAHAB H, SALAMA I. Multicast address management in the internet: a study of the port blocking problem[R]. 1999.
[8] NEWMAN M, BARABÁSI A L, WATTS D J. The structure and dynamics of networks[M]. Princeton: Princeton University Press, 2006.
Telecom intelligent operation system based on big data grid
GUO Yunfeng, CAI Heng, GE Lei
Shanghai Branch ofTelecom Co., Ltd., Shanghai 200041, China
Based on the advantages of telecom big data platform, the self-learning operation mode of artificial intelligence was utilized innovatively. The operational status of each IT system nodes were actively perceived by collecting and analyzing the massive log data of IT system. The influence, health and dependence of each IT system nodes were visualized by intelligent graph calculation and grid nebulae graph. The intelligent prediction of node failure was realized by Keras deep learning framework, and the big data grid intelligent operation system of telecom IT system was built.
big data, grid, intelligent operation, intelligent graph calculation, grid nebulae graph, failure prediction
TP391.1
A
10.11959/j.issn.1000−0801.2018167
郭云峰(1973−),男,中国电信股份有限公司上海分公司企业信息化部副总经理、工程师,主要研究方向为大数据技术以及应用等。
蔡珩(1973−),女,中国电信股份有限公司上海分公司工程师、IT运维主管,主要研究方向为 IT智慧运营、利用大数据技术提升系统运维的智能化。
戈磊(1973−),男,中国电信股份有限公司上海分公司企业信息化部高级项目经理,主要研究方向为云计算、开源架构、大数据分析、Devops运营、流程生命周期管控等。
2017−11−28;
2018−04−26