智能运维介绍

标签:无 2274人阅读 评论(0)
分类:

智能运维(AIOps)是指将现在的机器学习等技术应用到运维过程中,实现软硬件的自动运维。运维要做的是保障业务能够可靠、高速、高效、安全的运转,相比传统的纯人力运维,智能运维在减少人力投入的同时,在面对突发故障时可以提高响应速度,提升运维效率,所以目前基于机器学习的AIOps已经成为发展的必然趋势。
目前已有运维方法的主要难点是突发故障的发现、止损、修复和规避[1],这也正是智能运维要解决的关键问题。对此,清华大学计算机科学系副教授、清华网络管理实验室负责人裴丹老师进行研究并取得了一些进展。

1. 故障发现

故障发现本质上是一个异常检测的过程,AIOps引擎中的异常检测模块在检测到异常之后可以将报警第一时间报给运维人员,达到故障发现的效果。

1.1    技术路线

目前运维领域故障发现的问题包括漏报误报多、故障发现不及时等。而目前利用机器学习进行异常发现时,主要有两个方面的问题,从数据层面讲,异常检测要处理的是大量的KPI时序数据,针对不同的指标数据可能需要采用不同的算法来处理;另外,批量的异常数据是难以获得的,因为运维人员可能只见过少数的几个异常,无法批量标注。从算法层面讲,针对不同的场景,难以确认应该使用哪种算法,如何调整参数。

针对上述问题,清华裴丹老师提出一种“三步走”策略。

首先利用一个无监督的异常检测过程进行数据初步筛选,目的是帮助运维人员获取批量的标注数据,运维人员可以从无监督处理后的数据中找出某些已经了解的异常类型进行标注,再利用数据的相似性,就可以获得大量的可利用标记数据,方便后续处理。

然后利用有监督的异常检测过程,对已有标注数据进行训练,得到各种算法适合处理的数据类别,同时调整参数。

最后把大量KPI数据进行分类,自动选择该类别最适合的算法对其进行处理。

1.2    研究成果

近年来,裴老师也提出了一些新的异常检测方法和异常检测器的构建想法。

1.2.1     无监督异常检测方法

基于机器学习异常检测方法可以分为有监督的和无监督的两种类别,区别在于训练数据是否有类别标注。结合智能运维场景下,我们无法获得大量有标签的KPI数据的情况,裴老师所提出的异常检测方法主要是无监督的算法。

Donut 针对web应用程序中的没有标签的季节性KPI数据,为了密切监控以确保及时发现异常,排除故障,裴老师团队在论文中提出了Donut[2]——一种基于变分自编码器(VAE)的无监督异常检测算法。该算法的三个关键技术为:

修正的证据下界(ELBO);

注入缺失数据用来训练;

用于检测的MCMC归因。

论文同时为Donut提出了z空间中的新KDE解释,使其成为第一个具有坚实理论解释的基于VAE的异常检测算法。

1.2.2     异常检测器构建思路

目前已经有很多或有监督或无监督的基于各种技术的异常检测算法,但是运维场景中各类KPI可能具有不同的特征,需要不同的异常检测算法或参数才能准确地进行处理,而靠人力手动调整的代价十分巨大,所以就需要构建一个实用的自动异常检测器。裴丹老师团队对自动异常检测器的构建提出了自己的想法。

Opprentice 裴丹老师团队利用有监督的机器学习方法,提出了Opprentice系统[3],该系统将多个现有检测器并行应用于数据来提取异常特征,然后使用特征和标签来训练随机森林分类器以自动选择适当的检测器。

ROCKA 对大规模的KPI数据进行异常检测是非常具有挑战性的,因为无论模型选择,参数调整,模型训练还是数据标记,都意味着巨大的开销。针对这一问题裴老师团队将KPI数据分到少数集群,然后再为每个集群选择最合适的模型。并且考虑到KPI数据通常要比其他时间序列数据长,噪声、异常、相移和幅度差异等通常会改变KPI的形状并误导聚类算法,为了解决上述问题,他们提出了兼具鲁棒性和速度的KPI聚类算法——ROCKA[4]。它由四个步骤组成:预处理,基线提取,聚类和分配,这些技术有助于根据其基本形状对KPI进行分组,具有高准确度和高效率。

2. 故障止损

故障止损即遇到故障时对出现异常的部位进行定位,找出是哪里出了问题,指导运维人员根据故障定位启动对应预案,执行自动化脚本来进行修复,从而避免之后的持续损失。

2.1    技术路线

如果是系统更新引起了系统业务的异常,那么运维人员只需要把这个更新回卷就能解决。当涉及用户数据不能进行回卷时,就需要快速部署新版本,这时就需要异常定位模块来明确告诉运维人员是哪个更新导致了异常,从而指导其对该部分进行修改。

当运维人员需要监控数据中心、运营商、用户类型、浏览器等各个维度的流量异常时,如果总流量出现了异常,那可能各个维度都会出现报警。这时我们需要快速定位到具体哪些维度的组合导致了总流量的异常。比如,如果我们定位到根因是某个数据中心的某个集群的流量出现了异常,那我们把该数据中心的流量切换掉就可以解决该问题。同理,当业务指标发生剧烈波动时,我们可以找到该业务的哪些模块的哪些指标也同时发生了波动,根据关联程度进行排序,可以给出最可能的根因位置,供运维人员进行定位。

一个不完善组粒度的故障树能够起到故障定位的效果,另外,还可以对故障进行最粗粒度的故障定界,确定是网络、服务器、存储、还是用户的问题,快速明确责任单位,便于止损。最后,还可以判断故障是否为容量不足导致,以便迅速做出动态扩容决策。

2.2    研究成果

裴丹老师团队在异常定位领域,针对数据维度相互依存、难以定位以及数据维度组合数据十分巨大的问题,进行了相关研究,取得了成果。

他们提出了HotSpot[5],一种针对具有多维属性的附件KPI数据的异常定位方法,此时的异常原因为多维属性值的一个或多个的组合。但是由于两个主要原因,这项任务非常具有挑战性。首先,不同的数据维度是相互依存的,一些数据维度的异常可能导致许多其他数据维度在不同聚合水平上的变化。其次,在多维属性空间中可能存在数万种组合需要研究,从巨大的搜索空间中找到异常位置是十分困难的。为了解决第一个挑战,HotSpot使用基于异常传播的连锁效应的新颖潜在分数。为解决第二个挑战,HotSpot采用蒙特卡罗树搜索算法和分层修剪策略。实验发现HotSpot在效果和稳健性方面取得了很大的进步。

3. 故障修复

3.1    技术路线

定位出发生异常的位置后,就需要分析发生异常的原因,然后采取有效措施进行修复。根因分析的前提是报警(要求异常检测部分要准确),下一步是构建故障树。由于软件模块之间的依赖关系十分复杂,因此故障树的构建非常难。对所有的报警信息进行两两关联的计算量过大。一种思路是构建一个故障树的超集,通过模块调用链获得模块之间的逻辑调用关系,通过配置信息获得物理模块之间的物理关联,比如共享机器资源、网络资源等。这两部分一起构成一个可能的故障树,这棵树是真正故障树的一个超集。之后我们对这个超集中的每个边进行联动分析、联动分析,对这棵树进行剪枝,构成最终的故障传播关系。这种方法的覆盖面广,计算开销大大降低,并且是AI擅长解决的问题。当拥有了全面而准确地故障传播关系后,根因分析就变得可行了。当发生故障时,依据准确的报警,顺着故障传播树就能找到根因,从而进行故障修复。

3.2    研究成果

裴老师团队在故障修复方面也取得了显著的研究成果。

3.2.1     网络路由恢复

F2Tree 在目前的数据中心网络(DCN)中故障并不少见,但是DCN路由需要很长时间才能从故障中恢复并找到新的转发路径,从而显着影响上层的实时和交互式应用程序。他们提出了一种容错的DCN解决方案,称为F2Tree[6],可以很容易地部署在现有的DNC中。该方法只需通过少量链路重新布线和交换机配置更改即可显着改善故障恢复时间,并在路由故障发生时提高上层应用的性能。

3.2.2     自动故障根因诊断系统

基于因果图的自动诊断系统 对于互联网公司而言,提供高度可靠的基于Web的服务至关重要。基于Web的服务总是在具有复杂交互的大规模基础架构中运行许多组件,随着系统规模和复杂性的不断增长,故障根因诊断变得十分困难。裴丹老师团队提出了一种基于因果图的自动诊断系统[7],以帮助系统操作员找到根本原因。因果图主要是从监测系统的历史数据中提取出来的,该方法由四个步骤组成:

利用数据挖掘方法提取初始因果图;

② 一旦发生故障,根据因果关系图列出可能的前k的原因;

③ 系统操作员检查这些原因并将其标记为正确或错误;

④ 监督学习算法以标签作为输入来调整因果图,以便迭代地提高步骤②的诊断准确性。

此方法既不需要了解基于Web的服务的设计和实现细节,也不需要检测服务的源代码。

4. 故障规避

除出现故障之后的一系列反应外,智能运维还需要对将来可能出现的故障进行预测,从而避免其出现,也就是通过现有数据、特征进行异常预测,判断系统是否会出现性能瓶颈、容量不足或者故障等问题,从而实现故障规避。

4.1    技术路线

异常预测技术可以根据以往出现过的故障、性能瓶颈或者容量不足之前与之后的系统特征进行训练,判断当前系统一段时间后是否会出现问题,找出瓶颈是哪个模块,或者哪里会出现故障,从而进行定向调整以规避系统异常。另外,对于系统瓶颈,需要尽力改进,或分配更多资源以提升性能。

4.2    研究成果

裴丹老师近年来在异常预测领域所取得的研究成果包括以下内容。

4.2.1     故障预测

PreFix 提出PreFix系统[8],用来确定在不久的将来,交换机故障是否会在运行期间发生。基于当前交换机系统状态的测量和已被准确标记的历史交换机硬件故障情况进行预测,关键在于同一交换机模型的故障会共享一些常见的系统日志模式,另外,机器学习的新颖功能集(消息模板序列,频率,季节性和激增)可以有效地应对噪声和样本不平衡等问题。

4.2.2     改善瓶颈

CQRD 现代数据中心需要满足实时交互式应用(例如搜索,网络零售)的严格低延迟要求,但是,从这些应用程序生成的短延迟敏感流通常需要等待很长时间才能获得由一些长带宽贪婪流占用的内存和链路资源,因为它们共享相同的交换机输出队列(OQ)。为了解决上述流量干扰问题,需要对交换机中的流量进行比传统的OQ更细粒度的流分离。于是他们提出了CQRD[9],一种用于数据中心交换机的简单队列管理方案,无需改变传输层,也不需要交换机之间的协调。

 

5. 总结

目前的智能运维一定程度上还处于概念阶段,并没有达到实际广泛运用到大型在线系统中的水平。而且因为每个系统本身的差异性,需要针对不同的系统采用不同的方法才可能进行有效维护。

 

参考文献

[1] 云栖社区. 清华裴丹分享AIOps落地路线图,看智能运维如何落地生根[EB/OL]. [2019/5/23]. https://yq.aliyun.com/articles/272155.

[2] Xu H, Chen W, Zhao N, et al. Unsupervised anomaly detection via variational auto-encoder for seasonal kpis in web applications[C]//Proceedings of the 2018 World Wide Web Conference on World Wide Web. International World Wide Web Conferences Steering Committee, 2018: 187-196.

[3] Liu D, Zhao Y, Xu H, et al. Opprentice: Towards practical and automatic anomaly detection through machine learning[C]//Proceedings of the 2015 Internet Measurement Conference. ACM, 2015: 211-224.

[4] Li Z, Zhao Y, Liu R, et al. Robust and rapid clustering of kpis for large-scale anomaly detection[C]//2018 IEEE/ACM 26th International Symposium on Quality of Service (IWQoS). IEEE, 2018: 1-10.

[5] Sun Y, Zhao Y, Su Y, et al. Hotspot: Anomaly localization for additive kpis with multi-dimensional attributes[J]. IEEE Access, 2018, 6: 10909-10923.

[6] Chen G, Zhao Y, Xu H, et al. $\mathrm {F^{2}} $ Tree: Rapid Failure Recovery for Routing in Production Data Center Networks[J]. IEEE/ACM Transactions on Networking (TON), 2017, 25(4): 1940-1953.

[7] Nie X, Zhao Y, Sui K, et al. Mining causality graph for automatic web-based service diagnosis[C]//2016 IEEE 35th International Performance Computing and Communications Conference (IPCCC). IEEE, 2016: 1-8.

[8] Zhang S, Liu Y, Meng W, et al. Prefix: Switch failure prediction in datacenter networks[J]. Proceedings of the ACM on Measurement and Analysis of Computing Systems, 2018, 2(1): 2.

[9] Chen G, Zhao Y, Pei D. Alleviating flow interference in data center networks through fine-grained switch queue management[J]. Computer Networks, 2015, 91: 593-613.


附件:
查看评论

暂无评论

发表评论
  • 评论内容:
      
首页
团队介绍
发展历史
组织结构
MESA大事记
新闻中心
通知
组内动态
科研成果
专利
论文
项目
获奖
软著
人才培养
MESA毕业生
MESA在读生
MESA员工
招贤纳士
走进MESA
学长分享
招聘通知
招生宣传
知识库
文章
地址:北京市朝阳区华严北里甲22号楼五层 | 邮编:100029
邮箱:nelist@iie.ac.cn
京ICP备15019404号-1