如何孵化具有AIOps能力的产品?
1.搭建AIOps需要哪些部分?
阿里巴巴负责智能运维化产品开发的GOC团队认为AIOps系统的架构应为场景,算法,数据三位一体的架构。上图罗列出了一些GOC团队构建AIOps系统所用的技术。对于AIOps来说,算法是必不可少的,而算法底层需要数据为其进行训练及复发,在有了算法及数据之后,GOC团队同样需要一些运维的场景进行算法效率的验证并发挥系统智能的价值。基于此,GOC团队选取了一些典型的运维场景,包括智能监控,智能调度,智能问答等等进行验证。所用到的算法组件包括但不限于:异常检测,最优化策略/规划&预测,VLP/意图识别等相关算法组件。而对于数据部分而言,人们常常会有一个误区:即拥有大量数据并不代表可以快速生成人们想要的算法,在利用数据生成算法方面,应该更多注重的是数据的质量,若数据集中无意义及不标准的数据过多,则很难为算法的生成做出贡献。
2.AIOps系统搭建案例
AIOps的搭建同样离不开好的团队,下图来自于《企业级AIOps实施建议》白皮书中AIOps团队的构建建议。在AIOps的搭建过程中,只有将算法与开发团队,运维团队形成良好的互动交流,才能更为高效的完成项目的搭建与开发。阿里巴巴GOC团队正是这样一个优秀的运维团队,并已积累了多个项目开发经验。下面将分享一些GOC团队利用AIOps解决实战问题的案例。
(1) 阿里巴巴集团全球运行指挥中心
为了能更好管理运维业务中的故障,GOC团队希望搭建一个可以覆盖每一个故障全部生命周期(从开始的故障发现,故障通告,到解决故障中的处理决策,再到故障解决后的复盘及演练等一系列)的指挥中心,系统的开发参照GOC团队内部专业完备的流程化系统进行,并将由GOC团队成员及阿里巴巴的工程师们共同完成。但是在一些关键的技术环节上,GOC团队发现紧靠人力是无法做到的。鉴于此,团队在系统的若干个关键点上又做了智能化的探索与突破,这些探索也取得了很大的成效。
(2)千锤百炼的“智能基线”
阿里巴巴有很多业态,在GOC算法分析团队看来,这些业态的特征比较分散且特征的区别很大。GOC研究的智能基线算法可以精确的发现在线业务指标的异常,且此过程中不需要任何人工配置的成本。算法会自动通过历史趋势去学习数据曲线的客观规律,并可以很好的应对不同行业产生的数据。为了更加优化算法对数据的兼容性,智能基线算法通过在线预测的功能(即算法对往后一段时间的数据进行逐点预测),完成了对长期历史规律与近期历史规律较好的折衷。同时,GOC团队吸收了运维同学值班时标注的经验,让人对不同业务的容忍程度这一十分难以琢磨的因素也能优雅的在算法中体现出来。通过这些复杂的设计,算法可以很好的适配数据曲线中的波动毛刺及随业务产生的高低起伏。在阿里巴巴内部,智能基线算法已产生了很好的效果。以本算法为基础,GOC团队发现运维业务的故障发现准确率及故障召回率得到了成倍的提升,企业以此可以每周节省的流程操作时间达29个小时之多。概括来讲,智能基线算法有以下的特点。
1精准性:算法拥有精准全面的异常发现及触发警报的能力
2健壮性:算法长期经受各种外部攻击及爬虫的内部压测干扰的历练,目前已具备了对干扰攻击较好的抵抗能力。
3高效性:算法可以很好的支持秒级与分钟级计算,无需任何人工监控配置。使用该算法的人员无需随业务变化对算法进行调参,算法可自己通过对规律的学习适应业务的变化。
4普世性:算法支持各个行业的业务数据,并可一键接入各类监控系统数据。
而对于运维人员较常见的系统级指控指标(如CPU,网络的流量等),GOC团队同样也演化出了一种适用于系统级(应用级)指标的轻量级算法异常检测算法。这种算法的效果如下图。
(3)不断演进的根因分析能力
在运维问题被算法发现后,往往要同时进行问题的恢复及分析工作。GOC团队通过不断的探究实验,演进出一套较为先进的根因分析算法。下面将对其中主要算法进行介绍。
单指标多维下钻分析
这种算法适用于单一指标的监控。当业务指标出现总量异常时,单指标多维下钻分析算法往往可以在秒级的时间内准确地定位到出现异常的分量或分量组合。
相信运维同学都曾有过“业务中的各个指标都是有关联的”这种感受。当业务量庞大之后,仅靠人力无法维护大量这种数据之间的关系。多指标相关性算法可以动态的发现并识别业务中相关的关系,在确定数据之间的关系后,算法可以做如下图中两方面的分析。
(1)当指标出现异常时,算法会动态发现有相似下跌形态的相关指标,以此为异常原因定位提供重要线索。
(2)算法通过离线的分析,可发现业务报警之间的关联规则。当单业务异常时,算法将对其他关联业务进行提前预警,帮助运维人员做好准备工作。
对于阿里巴巴这种拥有近百万的服务器规模,数十万应用程序分组的集团来说。出现问题时,则将会导致海量的事件。在阿里巴巴,每分钟发生的运维配置变更达4500到8000次,当一个故障持续5分钟时,则将产生上万级别的事件,这个时候会很难区别可疑事件及可疑程序。
AIOps智能监控产品体系
GOC团队的目标是将上述智能化运维的种种能力最终孵化为云上产品,并同合作伙伴一起共建一个AIOps的生态。团队希望产品可以涵盖故障处理的全生命周期,包括:监控展示,异常发现,报警发现,根因分析,信息流转,故障恢复等。目前团队已研究出其中一些关键技术及能力,并将在未来持续对AIOps智能化运维系统进行不懈的研究。GOC团队同时希望通过开发AIOps技术,让企业及友合作伙伴共享AIOps的福利,在运维工作上减少成本的投入,提升工作的效率。
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/293613.html