10月27, 2020

AIOps在美团的探索与实践——故障发现篇

AIOps,最初的定义是Algorithm IT Operations,是利用运维算法来实现运维的自动化,最终走向无人化运维。随着技术成熟,逐步确定为Artificial Intelligence for IT Operations——智能运维,将人工智能应用于运维领域,基于已有的运维数据(日志、监控信息、应用信息等),通过机器学习的方式来进一步解决自动化运维无法解决的问题。
本文系AIOps在美团的探索与实践的第一部分,如何自动发现故障问题,其中重点介绍了美团时序数据异常检测系统Horae的架构与设计。

一、背景

早期的运维工作大部分是由运维人员手工完成的,手工运维在互联网业务快速扩张、人力成本高企的时代,难以维系。于是,自动化运维应运而生,它主要通过可被自动触发、预定义规则的脚本,来执行常见、重复性的运维工作,从而减少人力成本,提高运维的效率。总的来说,自动化运维可以认为是一种基于行业领域知识和运维场景领域知识的专家系统。随着整个互联网业务急剧膨胀,以及服务类型的复杂多样,“基于人为指定规则”的专家系统逐渐变得力不从心,自动化运维的不足,日益凸显,当前美团在业务监控和运维层面也面临着同样的困境。

DevOps的出现,部分解决了上述问题,它强调从价值交付的全局视角,但DevOps更强调横向融合及打通,AIOps则是DevOps在运维(技术运营)侧的高阶实现,两者并不冲突。AIOps不依赖于人为指定规则,主张由机器学习算法自动地从海量运维数据(包括事件本身以及运维人员的人工处理日志)中不断地学习,不断提炼并总结规则。AIOps在自动化运维的基础上,增加了一个基于机器学习的大脑,指挥监测系统采集大脑决策所需的数据,做出分析、决策,并指挥自动化脚本去执行大脑的决策,从而达到运维系统的整体目标。综上看,自动化运维水平是AIOps的重要基石,而AIOps将基于自动化运维,将AI和运维很好地结合起来,这个过程需要三方面的知识:

  • 行业、业务领域知识,跟业务特点相关的知识经验积累,熟悉生产实践中的难题。
  • 运维领域知识,如指标监控、异常检测、故障发现、故障止损、成本优化、容量规划和性能调优等。
  • 算法、机器学习知识,把实际问题转化为算法问题,常用算法包括如聚类、决策树、卷积神经网络等。

美团技术团队在行业、业务领域知识和运维领域的知识等方面有着长期的积累,已经沉淀出不少工具和产品,实现了自动化运维,同时在AIOps方面也有一些初步的成果。我们希望通过在AIOps上持续投入、迭代和钻研,将之前积累的行业、业务和运维领域的知识应用到AIOps中,从而能让AIOps为业务研发、产品和运营团队赋能,提高整个公司的生产效率。

二、技术路线规划

2.1 AIOps能力建设

AIOps的建设可以先由无到局部单点探索,在单点探索上得到初步的成果,再对单点能力进行完善,形成解决某个局部问题的运维AI学件,再由多个具有AI能力的单运维能力点组合成一个智能运维流程。行业通用的演进路线如下:

点击查看原文>

本文链接:https://blog.jnliok.com/post/sHhhvrP8sD7w98JFkMTW.html

-- EOF --

Comments