AIOps智能监控在阿里巴巴故障管理工作中的成功实践

如何孵化具有AIOps能力的产品?

1.搭建AIOps需要哪些部分?

57ff314b379137e3f958aeeaa308b47ded4409d9

阿里巴巴负责智能运维化产品开发的GOC团队认为AIOps系统的架构应为场景,算法,数据三位一体的架构。上图罗列出了一些GOC团队构建AIOps系统所用的技术。对于AIOps来说,算法是必不可少的,而算法底层需要数据为其进行训练及复发,在有了算法及数据之后,GOC团队同样需要一些运维的场景进行算法效率的验证并发挥系统智能的价值。基于此,GOC团队选取了一些典型的运维场景,包括智能监控,智能调度,智能问答等等进行验证。所用到的算法组件包括但不限于:异常检测,最优化策略/规划&预测,VLP/意图识别等相关算法组件。而对于数据部分而言,人们常常会有一个误区:即拥有大量数据并不代表可以快速生成人们想要的算法,在利用数据生成算法方面,应该更多注重的是数据的质量,若数据集中无意义及不标准的数据过多,则很难为算法的生成做出贡献。

2.AIOps系统搭建案例

AIOps的搭建同样离不开好的团队,下图来自于《企业级AIOps实施建议》白皮书中AIOps团队的构建建议。在AIOps的搭建过程中,只有将算法与开发团队,运维团队形成良好的互动交流,才能更为高效的完成项目的搭建与开发。阿里巴巴GOC团队正是这样一个优秀的运维团队,并已积累了多个项目开发经验。下面将分享一些GOC团队利用AIOps解决实战问题的案例。

df752a97a3ce727c0e1e7a553ab9fca43cd1357f

(1) 阿里巴巴集团全球运行指挥中心

e9519fd91dffd8a54b476b96a0b9a0c1f9b7b87c

为了能更好管理运维业务中的故障,GOC团队希望搭建一个可以覆盖每一个故障全部生命周期(从开始的故障发现,故障通告,到解决故障中的处理决策,再到故障解决后的复盘及演练等一系列)的指挥中心,系统的开发参照GOC团队内部专业完备的流程化系统进行,并将由GOC团队成员及阿里巴巴的工程师们共同完成。但是在一些关键的技术环节上,GOC团队发现紧靠人力是无法做到的。鉴于此,团队在系统的若干个关键点上又做了智能化的探索与突破,这些探索也取得了很大的成效。

918e1256011bfe49343151e6430cfc868df80ab2

上图给出了GOC团队已具备的技术及条件。基于对系统智能化的探索,GOC团队发现其在很多运维层面已经具备了优势条件。在运维场景层面,GOC团队拥有很多可以应用算法的场景,比如业务指标监控,故障定级/决策调度,故障相关信息流转等。在算法层面,GOC通过专业的算法团队研制出了智能基线,规则引擎及Chatbot等主要算法。而算法的背后,离不开海量数据的支持,GOC团队通过与阿里巴巴其他团队的业务合作得到海量的数据,将这些数据加以孵化来得到更多高质量的算法。在团队支持层面,GOC团队拥有专业的算法团队,监控中心运维团队,工程研发团队等多团队的支持。正是这些客观主观因素决定下,GOC团队做到了很多优秀的实现案例。

(2)千锤百炼的“智能基线”

阿里巴巴有很多业态,在GOC算法分析团队看来,这些业态的特征比较分散且特征的区别很大。GOC研究的智能基线算法可以精确的发现在线业务指标的异常,且此过程中不需要任何人工配置的成本。算法会自动通过历史趋势去学习数据曲线的客观规律,并可以很好的应对不同行业产生的数据。为了更加优化算法对数据的兼容性,智能基线算法通过在线预测的功能(即算法对往后一段时间的数据进行逐点预测),完成了对长期历史规律与近期历史规律较好的折衷。同时,GOC团队吸收了运维同学值班时标注的经验,让人对不同业务的容忍程度这一十分难以琢磨的因素也能优雅的在算法中体现出来。通过这些复杂的设计,算法可以很好的适配数据曲线中的波动毛刺及随业务产生的高低起伏。在阿里巴巴内部,智能基线算法已产生了很好的效果。以本算法为基础,GOC团队发现运维业务的故障发现准确率及故障召回率得到了成倍的提升,企业以此可以每周节省的流程操作时间达29个小时之多。概括来讲,智能基线算法有以下的特点。
1精准性:算法拥有精准全面的异常发现及触发警报的能力
2健壮性:算法长期经受各种外部攻击及爬虫的内部压测干扰的历练,目前已具备了对干扰攻击较好的抵抗能力。
3高效性:算法可以很好的支持秒级与分钟级计算,无需任何人工监控配置。使用该算法的人员无需随业务变化对算法进行调参,算法可自己通过对规律的学习适应业务的变化。
4普世性:算法支持各个行业的业务数据,并可一键接入各类监控系统数据。
而对于运维人员较常见的系统级指控指标(如CPU,网络的流量等),GOC团队同样也演化出了一种适用于系统级(应用级)指标的轻量级算法异常检测算法。这种算法的效果如下图。

ac86efcd1e221af6de8a4896b11bd70a864e8ef3

这种算法可智能化的将海量数据中一些离群异常的且对运维人员较重要的数据自动检测出来,而且此过程不需要任何的人工成本。同时由于体量较轻的缘由,算法可被用于普世海量级别的系统工程当中。这也使得此类算法拥有了精准,轻量,便捷的特点。

(3)不断演进的根因分析能力

在运维问题被算法发现后,往往要同时进行问题的恢复及分析工作。GOC团队通过不断的探究实验,演进出一套较为先进的根因分析算法。下面将对其中主要算法进行介绍。

单指标多维下钻分析

这种算法适用于单一指标的监控。当业务指标出现总量异常时,单指标多维下钻分析算法往往可以在秒级的时间内准确地定位到出现异常的分量或分量组合。

81df8d255edd6586e9d1c6e7938f15cffd882cfd

多指标相关性分析

相信运维同学都曾有过“业务中的各个指标都是有关联的”这种感受。当业务量庞大之后,仅靠人力无法维护大量这种数据之间的关系。多指标相关性算法可以动态的发现并识别业务中相关的关系,在确定数据之间的关系后,算法可以做如下图中两方面的分析。
(1)当指标出现异常时,算法会动态发现有相似下跌形态的相关指标,以此为异常原因定位提供重要线索。
(2)算法通过离线的分析,可发现业务报警之间的关联规则。当单业务异常时,算法将对其他关联业务进行提前预警,帮助运维人员做好准备工作。

f0d242265c4b25d94363f0c76719cb4460d9b027

可疑应用/事件分析

对于阿里巴巴这种拥有近百万的服务器规模,数十万应用程序分组的集团来说。出现问题时,则将会导致海量的事件。在阿里巴巴,每分钟发生的运维配置变更达4500到8000次,当一个故障持续5分钟时,则将产生上万级别的事件,这个时候会很难区别可疑事件及可疑程序。

bd99c7158fdd9ea56074ef11148d23c085e58cc2

而GOC团队研究的可疑应用/事件分析算法很好的解决了这个问题。算法利用类似类推和奇异值分解等方法,可在秒级单位内给出相应的可疑分析,并将最可疑的应用排列推送给运维人员。运维人员通过这种高效的分析方式,可将故障问题的代价减少。

AIOps智能监控产品体系

a482871fdad76356cc779f674606c32dce60b337

GOC团队的目标是将上述智能化运维的种种能力最终孵化为云上产品,并同合作伙伴一起共建一个AIOps的生态。团队希望产品可以涵盖故障处理的全生命周期,包括:监控展示,异常发现,报警发现,根因分析,信息流转,故障恢复等。目前团队已研究出其中一些关键技术及能力,并将在未来持续对AIOps智能化运维系统进行不懈的研究。GOC团队同时希望通过开发AIOps技术,让企业及友合作伙伴共享AIOps的福利,在运维工作上减少成本的投入,提升工作的效率。

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/293613.html

(0)
上一篇 2022年11月26日 23:53
下一篇 2022年11月26日 23:57

相关推荐

发表回复

登录后才能评论