吉 锋 刘丽霞 文 韬 张 晗
中兴通讯股份有限公司南京210012
传统IT系统运维过程中,故障预警、故障排查等是非常重要但费时费力的工作,以往的运维方式通常部署一套监控系统,通过设置简单阈值、告警规则触发故障预警,同时,故障发生后往往需要大量的人工进行排查定位。考虑到如今业务系统越来越复杂、数据量越来越庞大、数据特性越来越多样化等诸多因素,运维中纯粹依靠手工排查故障的方式已不再适用。
因此,在大数据场景下,运维向智能化发展是一个重要趋势:基于对业务运维系统的理解,对积累的大量日志数据进行机器学习的算法建模,实现自动发现问题、分析问题、提前预判问题等多种功能,起到辅助运维人员,最终降低系统成本、提升运维效率的效果。针对人工智能技术与IT运维相结合,Gartner率先提出了AIOps(Algorithmic IT Operations,基于算法的IT运维)的智能运维理念[1]。Gartner的报告宣称,到2020年将近50%的企业将会在他们的业务和IT运维方面采用AIOps,远远高于今天的10%。
智能运维是云计算、大数据、人工智能技术在运维领域的综合性应用,即云计算为各种日志大数据提供了采集、存贮与计算能力,人工智能技术提供了结合行业知识将运维问题转化为大数据分析建模的能力。结合电信行业的一些行业特性及运维需求,我们构建了电信行业智能运维系统的技术体系与目标:结合电信业务领域知识,利用统计学习、机器学习、深度学习、强化学习等人工智能技术,对多源的日志数据进行处理、分析、挖掘甚至推理,形成专有的运维知识库,如组件依赖关系、事件关联关系、故障传播路径、异常事件模式、故障树等异常及故障模型,从而能够提供在线甚至准实时的异常发现、故障定位、根因分析、故障预测等日常运维服务;另外,还包括在满足日常运维服务的基础上实现业务系统的整体配置优化、容量分析、智能调度、存储优化等高级运维服务。图1是从大数据分析流程视角对智能运维系统进行技术、逻辑模块及应用功能的一种综合展示,其中数据处理与建模分析、算法知识库和运维服务是3个重要的逻辑模块。
图1 智能运维系统逻辑架构图
1)大数据存储与计算平台。该平台同时提供各种类型日志大数据存贮及数据计算。数据存储提供对各种来源、各种数据类型的日志原始数据、预处理后的数据、分析挖掘的中间结果及最终结果、算法知识库的存储。数据计算按照业务需求的不同提供实时、批量及离线混合计算模式。
2)数据源。其支持各种常见系统和设备的日志数据的采集,包括硬件如网络设备、终端设备和软件如操作系统、文件系统、数据库、业务系统等。
3)数据处理及建模分析。提供对多种数据源的数据处理、事件分析、分析挖掘。智能运维的数据处理既包含典型数据仓库所需要的数据ETL,也包含数据分析挖掘建模前的数据预处理,如数据采集(支持常用Kafka/Flume/Sqoop/Logstash等大数据采集工具)、数据解析(针对日志数据主要为事件解析)、数据清洗、数据转换等;事件分析重点包含事件提取、事件标注、事件聚合、事件分类、事件关联等关键步骤;分析挖掘结合运维服务的具体需求,进行数据准备、特征工程、建模与评估,形成运维知识库。
4)算法知识库。具体分为算法库及知识库两种。算法库提供特征工程、统计学习、机器学习、深度学习、强化学习甚至迁移学习的基础通用算法;知识库一方面是业务领域专家的经验知识,另一方面是前述建模分析挖掘的输出模型,形成业务运维特有的依赖关系、关联关系、传播路径、异常模式、匹配原则、故障树等知识库。
5)智能运维的应用。分为常见的运维服务及高级运维服务。常见运维服务包含异常发现、故障定位、根因分析、故障预测;高级运维服务包含配置优化、容量分析、智能调度、存储优化等。下面分别针对异常发现、故障定位、根因分析、故障预测四种常用运维场景对智能运维进行介绍。
①异常发现。也称为异常检测,异常一般表现为三种形式[2]:点异常、序列异常、集合异常;常用的技术涵盖分类、聚类、最近邻、密度、统计、信息理论、光谱分解、可视化、信号处理等。异常发现目前有两种建模方式[3]:一种是基于正常样本建模并把不遵从此模型的样本认为是异常,常用的有统计方法、基于分类的方法、基于聚类的方法,这同时也是业界普遍采用的方式;另一种是通过建模直接隔离异常样本,这种方式典型的代表有iForest[3]、LOF[4]。
②故障定位。也称为故障定界,是故障范围的初步判定,特别是在大型、复杂系统中,故障本源和故障表象之间往往呈现一对多、多对一、甚至多对多的复杂关系,有时无法快速确定故障的根本根因,先对故障的范围进行大致界定。故障定位的方法有很多,一般结合领域知识、专家经验,基于统计分析就可以初步实现,如对于指标型故障,单指标单维度的同比分析、类比分析、方差分析,多指标多维度的组合分析、关联分析、排除分析、假设检验等,故障定位简单高效,甚至有时能直接能判定根本原因。但是对于复杂的混合系统,日志数据量大、组件之间的关系复杂多样,特别是具有依赖性、并发性、传播性的事件传递模式,故障定位就比较复杂,往往需要同时借助统计分析、机器学习中的相关技术综合实现。
③根因分析。也称为根本原因分析,用于识别故障或问题的根本原因。根因分析是在故障定位的技术上对故障发生的根本原因或者源头进行准确判定,不但有利于在故障发生时进行故障的快速修复,也可以将根因分析的结果形成知识库(如故障树、故障传播关系图)对后续类似故障可能引发的连锁反应进行提前预警,起到故障规避的作用。根因分析在实际应用中会进一步分解为故障事件之间的关联关系分析、故障事件之间的传播关系分析、故障事件之间的依赖关系分析等。
④故障预测。是将传统被动的故障处理转为基于智能预测的主动式故障处理。简言之,除了事后或事中的异常检测、故障定位及根因分析外,通过对历史数据的分析建模,预判未来一段时间可能会出现的故障。这也是智能运维区别于传统运维的一个关键点:提前的预知、洞察甚至决策能力。故障预测主要分为四类[5]:基于时间预测、基于早期微小故障检测、基于定性分析以及其他类型的方法,具体方法包含隐马尔科夫模型、支持向量机、贝叶斯方法、随机森林、循环神经网络及基于专家知识的方法。
基于前述图1智能运维系统的逻辑架构,针对电信IPTV/OTT大视频业务特点,中兴通讯对大视频业务系统产生的各类信息进行汇聚、分析、统计、预测等,形成了智能化的大视频运维系统[6],其架构如图2所示。
图2 电信IPTV/OTT大视频智能运维系统架构图
电信大视频智能运维系统与前述智能运维系统的定制化差异体现在两个方面:数据源包括来自各种播放终端的播放记录、关键绩效指标(KPI)、CDN(Content Delivery Network,内容分发网络)网络性能参数、IPTV/OTT业务系统监控参数等多种数据;业务应用层主要提供智能业务监测控制、端到端故障定界定位、用户体验感知、统计分析与报表等典型业务应用场景。接下来将结合两个实际的应用场景,阐述人工智能技术如何在大视频运维系统中解决产品实际问题,同时提升系统的运维效率。
当前,视频业务发展已进入“大内容”、“大网络”、“大数据”、“大生态”的大视频时代。同时,视频业务以广泛的受众、高频次的使用、较高的付费意愿,已经具备成为“杀手应用” 的潜质,越来越多的电信运营商将视频业务如交互式网络电视(IPTV)、基于互联网电视(OTT TV)应用服务视为发展的新机遇。如何在大视频背景下保证最终用户的体验质量,特别是如何快速界定视频业务系统故障和网络故障、如何提前发现网络隐患、如何发掘视频业务运营和利润的增长点,已成为运营商对大视频业务运维的关注重点。
对于当前大视频业务来讲,一个重要运维场景就是由于某些网元故障引起终端用户视频体验质量差(简称为质差,如图3所示)并导致报障。此时,需要在蜂拥而至的客户端质差报障和大量服务端KPI告警中快速定位出问题的根因,以便快速修复故障。
图3 视频质差根因分析的业务场景图
传统的解决方案需要产品研发或运维人员从系统各个模型的运行日志中人为分析故障定位原因,不仅耗时也耗力。我们通过机器学习从历史的故障样本中自动挖掘并构建了故障定位的决策树,从而达到快速定位质差故障根因的目的。目前,在大视频运维系统中对机顶盒质差根因分析,采用如图4所示的技术路线。
整体包括3个子系统,即探针系统、数据规范系统、故障模式挖掘系统;以上子系统分别在知识发现(离线建模)和故障判断(在线推理)两个过程中发挥作用。其中,知识发现过程由探针系统、数据规范系统和故障模式挖掘系统协作完成,故障判断过程由探针系统、数据规范系统和故障判断模型协作完成。
1)探针系统。大视频系统非常复杂、庞大,从用户获取节目列表到收看到视频内容,涉及到多个网元之间的协作通讯、内容传输。如果用户终端不能正常提供服务,则故障可能出现在播放环节上的任何网元,因此,需要从各个网元持续采集运行数据作为分析基础。这套采集各个网元的系统就是探针系统。包括但不限于客户端探针(采集客户端码率、卡顿情况、吞吐量、丢包率等等)、服务端探针(采集用户连接数、服务器负载、内存使用情况等等)、文件系统探针(采集IO负载和吞吐量、统计底层文件操作状态等等)。此外,还有外部信息系统接口,能够及时获取无线、承载核心网的状态以及运营方对大视频系统的维护变更记录。
2)数据规范系统。运行数据是质差分析的基础,由探针系统提取出来,但不能立即投入使用,因为各个网元的运行数据格式不统一,且上报的间隔不一致。此时,需要利用数据规范系统对其做出整合,合并故障发生时间附近的探针数据、形成告警事件(例如“最近30分钟内XX节点服务器CPU利用率高于同期各节点均值25%”,可以提取成“CPU利用率过高”事件;“最近5分钟机顶盒卡顿次数超过5次”,可以提取成“机顶盒卡顿”事件)供后续分析挖掘。数据规范系统包括:客户端事件提取、服务端事件提取、文件系统事件提取、外部系统事件提取等等。
3)故障模式挖掘系统。在“知识发现过程”中,通过数据规范系统汇聚的事件数据在故障模式挖掘系统进行知识发现,生成“故障决策森林”模型。在“故障判断过程”中,该模型将在未来新故障到来时给出故障根因判断。具体的,“故障决策森林”模型由多颗“故障决策树”组合,最后根因判断结论由多颗“故障决策树”(其结构类似图5)投票给出结论。故障决策树的训练过程大致分为两个步骤:①通过关联规则挖掘方法(诸如Apriori[7]、FP-Tree[8]算法等),找出相同故障区域、故障类型条件的故障事件集合中的频繁项集L,根据L中频繁项集对应事件E之间的时间顺序以及最小置信度Minconf,确定是否为有效故障判定规则,将全部有效的故障判定规则合并为集合Rule;②将训练集中的每条故障事件遍历,只保留存在于Rule中前导项的事件,加上故障区域为自变量,以故障类型为因变量,采用CART[9]算法,生成故障决策树。
图4 大视频质差根因分析流程图
图5 大视频质差故障决策树示例图
以上通过关联规则和时间约束剔除了大量无关事件对故障判断的干扰,通过机器学习中的决策树方法进行非线性关系的捕捉能够达到较高解释性,最后通过机器学习中的集成学习方法提高了泛化能力。在我司现网实际的运行中,基于历史积累的高质量数据,上述大视频质差根因分析解决方案可以大大减少运维人员的工作量、提高了排查故障的准确率和时效性,将之前长达数小时的人工根因分析降低到数分钟的自动化根因分析,恢复时间缩短了75%。
如图3所示,在支撑大视频业务的CDN运行过程中,由于CDN存储硬盘的使用率高引发硬盘故障,最终会导致用户视频体验质差,现网超过一半以上的故障来源于此。针对CDN硬盘质量监控,如果能提前进行故障预判并做好数据迁移和高危盘及时替换,对提升大视频全网业务质量具有重要的意义。
当前,自我监测分析和报告技术(SMART)[10]已经成为工业领域中硬盘驱动状态监测和故障预警技术的事实标准。硬盘的一些属性值如温度、读取错误率等和硬盘是否发生故障有一定的关系。如果被检测的属性值超过预先设定的一个阈值,则会发出警报。然而,这种基于阈值的算法只能取得3%~10%的故障预测准确率和低预警率[11]。学术界和工业界在采用机器学习方法提升SMART硬盘故障预测精度方面的工作由来已久,最新的研究工作更多是基于一些开源的SMART数据集进行研究[12]。中兴通讯基于现网多个IPTV/OTT局点硬盘SMART巡检数据,采用机器学习方式进行故障建模与预测,如图6所示。
1)数据清洗与标注。硬盘SMART数据现网采集频度为每天一次,SMART建模预测并不以某一天的瞬时值作为评判标准,而是利用一段时间内该硬盘扫描值的历史波动模式来判断其异常的概率,因此,数据清洗主要将Agent采集的硬盘SMART日志进行结构化转换并按照每天扫描记录按序排列,供后续建模或预测阶段使用。
2)基于机器学习的分析建模核心在于特征工程和模型训练。特征工程是决定预测效果的关键步骤。不但需要考虑观测点当时的SMART取值,也需要考虑该SMART取值的历史变化趋势、震荡幅度、跳变频率等因素。①高价值属性获取,采用“数据驱动和领域知识相结合”的策略,一方面和硬盘硬件专家交流,另一方面,从数据驱动的角度寻找对故障预测有帮助的SMART属性,从故障硬盘的历史SMART记录集出发,找出“故障硬盘和健康硬盘在该属性上统计性质存在不一致”的SMART属性,最终选取18个原始SMART特征。②衍生时序特征生成,在找出具有提示性效果的高价值SMART属性后,对其时序特征做进一步衍生,包括基于窗口的分段均值、方差、变化率、香农熵、排列熵等;经过反复调整与验证,当前的窗口设置分别是7/15/30天(如图7所示)。③高价值特征选择。通过前述的高价值属性和衍生时序特征过程生成了多达1152个特征,这些特征并不都适合用在预测模型中。不合适的特征引入建模会带来模型预测效果的降低,引发维度灾难。而通过网格搜索进行穷举特征组合,根本没有可行性,同时需要针对当前正负样本严重不平衡的具体情况,优化改进特征选择算法,使得系统可以在能够承受的时间资源内,找到足够好的特征组合。在此背景下,我们研发了改进的随机森林特征选择算法,从该方法的输出中探索可能有价值的组合模式,最后挑选出82个衍生特征。
图6 基于机器学习的硬盘SMART数据建模与故障预判
模型训练:由于基于SMART记录集做硬盘预测是一个高维分类问题,同时正负数据严重不平衡,采用线性分类模型往往没有很好的结果,本文考虑采用构造非线性模型来解决问题。在传统随机森林模型的基础上进行了改进,训练生成上百个决策树的随机森林模型。
3)前述生成的预测模型上线部署预测并持续迭代更新。
4)在线的准实时预测。每天采集的SMART数据先按照步骤2进行特征工程,然后输入前述的预测模型中,计算目标硬盘的故障概率并输出。
实际的预测效果如下:基于中国联通某省的IPTV现网CDN硬盘连续3个月(2017年6~8月)的SMART数据建模(提前45天的故障预判),进行连续3个月的预判测试,最终模型平均的准确率为78%、召回率86%。与原先运维系统中基于简单规则(人为选取几个SMART属性值大于某个阈值的组合规则)相比(准确率15%左右)有显著的提升效果。当前的研究与试验表明基于机器学习的硬盘故障预判带来明显的技术优势,后续将在我司全网多个IPTV/OTT局点进行规模商用,同时积累更多的SMART运行数据进一步迭代提升模型的准确性。
图7 SMART衍生时序特征的构造方式
ICT时代,无论对于运营商网络还是业务系统的运维支撑,都需要加速与人工智能技术的结合落地,提供高度自动化和智能化的运维解决方案。智能运维的未来将会是AIOps,但离完全基于人工智能的“全自动化运维”还有一定的距离。当前,主要以基于机器学习建模的监控、预测分析方法与基于人工规则相结合的“自动化运维”方式为主,可挖掘提升的空间还很大。特别的,对于大视频运维,未来除了实现更加智能化、精准的故障预测和排查、主动发现业务系统中的故障或薄弱环节并加以自动修复或提供辅助决策建议外,通过对视频业务使用者的行为分析、家庭及用户画像等一系列的建模分析,充分挖掘海量数据的价值,衍生出新的业务形态、实现智能化的运营系统,为运营商创造新的商机,也将是大视频智能运维另一个重要发展方向。
[1]Gartner.Market Guide for AIOps Platforms[EB/OL].(2017-08-03)[2018-01-30].https://www.gartner.com/doc/reprints?id=1-4CKWZWO&ct=170905
[2]Gupta M,Gao J,Aggarwal C,et al.Outlier Detection for Temporal Data[M].Morgan & Claypool,2014
[3]Liu F T,Kai M T,Zhou Z H.Isolation Forest[C]//2008 Eighth IEEE International Conference on Data Mining,2008:413-422
[4]Breunig M M.LOF: identifying density-based local outliers[C]//ACM SIGMOD International Conference on Management of Data.ACM,2000:93-104
[5]赵珍,王福利,贾明兴,等.缓变故障的概率故障预测方法研究[J].控制与决策,2010,25(4):572-576
[6]屠要峰,吉锋,文韬.机器学习在大视频运维中的应用[J].中兴通讯技术,2017,23(4):2-8
[7]Han J,Pei J,Yin Y,et al.Mining Frequent Patterns without Candidate Generation: A Frequent-Pattern Tree Approach[J].Data Mining & Knowledge Discovery,2004,8(1):53-87
[8]Agrawal R,Imieli ski T,Swami A.Mining association rules between sets ofitems in large databases[C]// ACM SIGMOD International Conference on Management of Data.ACM,1993:207-216
[9]Lewis R J.An Introduction to Classification and Regression Tree (CART) Analysis[C]//Annual Meeting of the Society for Academic Emergency Medicine,2000
[10]Wikipedia.SMART(Self-Monitoring,Analysis and Reporting Technology) [EB/OL].(2018-01-16)[2018-01-30].https://en.wikipedia.org/wiki/S.M.A.R.T
[11]Eckart B,Chen X,He X,et al.Failure Prediction Models for Proactive Fault Tolerance within Storage Systems[C]//IEEE International Symposium on Modeling,Analysis and Simulation of Computers and Telecommunication Systems.IEEE,2009:1-8
[12]Botezatu M M,Giurgiu I,Bogojeska J,et al.Predicting Disk Replacement towards Reliable Data Centers[C]//ACM SIGKDD International Conference on Knowledge Discovery and Data Mining.ACM,2016:39-48