两篇论文入坑AIOps异常检测

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/bigbennyguo/article/details/81200664

AIOps简介

以下部分内容来源于清华大学裴丹教授发表在《中国计算机学会通讯》第13卷第12期的专栏《基于机器学习的智能运维》

我们都知道,当代社会生活中的大型软硬件系统为了确保能够安全、可靠地运行,需要有专业的运维人员来进行系统的部署、运行和维护。尤其是随着互联网产业的发展,互联网公司业务的稳定运行和公司的利益密切相关,服务的不稳定甚至崩溃往往会导致巨大的经济损失。

微博服务器崩溃

微博服务器崩溃大家都不陌生

裴丹教授在专栏中简要概括了运维工作发展的历史,在这里总结如下:最早期是手工运维阶段,运维人员需要监控产品的运行状态、性能指标,进行产品上线、服务变更等工作,运维人员的工作量随着产品数量线性增长,大部分工作都是低效的重复,无法满足互联网产业发展的速度;第二个阶段是自动化运维阶段,运维人员开始编写自动化脚本来进行一些重复性的工作,这些脚本可以用于系统监控和在人工监督下进行自动化处理,这一做法一方面减少了人工误操作的可能性,另一方面也大大提高了效率;第三个阶段是运维开发一体化阶段,也就是我们熟知的DevOps。在这一阶段不再硬性区分开发人员和运维人员,也即,由开发人员来进行系统异常的定位分析和处理,这样做的好处是在出现问题后能够迅速找到原因、解决问题。

我们可以从运维工作发展的历史中看到,运维工作是在朝着自动化、高效化方向不断发展的。随着机器学习算法在各个领域的普及,我们不禁会想这样一个问题:运维工作能不能智能化呢?答案当然是可以的,这就是这里我们所要说的AIOps——Artificial Intelligence for IT Operations,即智能运维。在之后的内容中,我们会混用智能运维和AIOps这两个术语,它们表示相同的含义。智能运维出现的意义在于,目前的自动化运维主要基于人为制定的规则,随着互联网数据的膨胀和业务的多样性,这种由运维专家总结的规则逐渐变得力不从心,在大规模的运维场景下会十分低效。而机器学习算法可以让我们从海量的运维数据中学习规则,进而辅助甚至代替运维人员进行分析、决策和控制。丝毫不用怀疑,智能运维一定是运维领域未来几年的重点发展方向,无人值守运维是运维工作的最终发展目标。所以,对智能运维的研究无疑意义重大的,而现在,还正处于起步阶段,值得我们的关注。

AIOps中的关键问题

智能运维领域中需要研究的关键性问题很多,裴丹教授将它们分为了三类:针对历史事件的、针对当前事件的和针对未来事件的。再次仅对这些问题做以列举,感兴趣的朋友可以阅读裴丹教授的原文获取更详细的信息。

  • 针对历史事件:瓶颈分析、热点分析、KPI聚类、KPI关联关系挖掘、异常事件关联关系挖掘、全链路模块调用链分析、故障传播关系图构建等。
  • 针对当前事件:异常检测、异常定位、异常报警聚合、快速止损、故障根因分析等。
  • 针对未来事件:故障预测、容量预测、趋势预测、热点分析等。

其中加粗的异常检测问题是我们这个系列文章所讨论的问题。

AIOps中的异常检测问题

对于互联网服务来说,业务指标曲线,或者说KPI曲线,可以很好地反映服务的运行状态。因此,监控KPI曲线并发现KPI曲线中出现的异常,是运维人员的重要工作。在智能运维出现之前,对于KPI曲线的监控主要以设定阈值的方式进行,例如,对于某条业务曲线,当它的值大于或小于某个运维人员根据经验设定的阈值时,系统会发出告警,提醒运维人员服务可能出现了异常情况,运维人员再进行更进一步的分析。这种方法的弊端显而易见,那就是并不是所有异常情况都可以用既定的阈值来衡量。比方说,很多业务曲线都会有以天为单位的周期性,即在每天的某些时候偏高,在其他时候偏低(如访问量曲线)。某条曲线在平常应该低的时候出现了高峰,这显然可能发生了异常,但这种情况就很难用阈值来描述,否则曲线在正常应该偏高的时候也可能会被判断为异常,而这不是我们希望的结果。因此,我们希望用机器学习的方法,结合以往的异常数据,得到某种异常检测算法,以代替先前人为制定的异常检测标准,提高异常检测的准确率,进而提高运维工作的效率。由于KPI曲线基本都是时间序列数据,因此异常检测问题可以看做是一种特殊的时间序列分析问题。另一方面,机器学习算法需要使用大量的异常数据,因而异常检测问题同时也是一个大数据分析问题。

一些KPI曲线异常示例

一些KPI曲线异常示例,红圈标出部分为异常。 图片来自Opprentice论文。

在这个系列文章中,我选取了入坑AIOps异常检测问题值得一看的两篇论文。通过对这两篇论文内容、思想的概括和解释,希望大家可以对异常检测这个领域的研究思路和进展情况有一个基本的了解。这两篇文章是:

其中后一篇文章来自清华裴丹教授的Netman实验室。实验室主页中有很多和AIOps相关的参考资料,包括裴丹老师在清华开设的智能运维相关课程的资料和实验室工作等,在此推荐给大家。

参考资料

展开阅读全文

没有更多推荐了,返回首页