AIOps 智能运维
作者 | WenasWei
一 AIOps 智能运维
早在 2016 年之前,著名 IT 研究机构 Gartner 在其词库就添加了 AIOps[^1]这一词条,彼时 AIOps 是 Algorithmic IT Operations 的缩写,按照字面理解,AIOps 是一种基于算法的运维方式,简单说就是: AIOps = AI + 运维数据 + 自动化处理 = AI + Devops。
清华大学裴丹教授对 AIOps 的定义是:AIOps 将人工智能应用于运维领域,基于已有的运维数据(日志、监控信息、应用信息等),通过机器学习的方式来进一步解决自动化运维没办法解决的问题。AIOps 不依赖于人为指定规则,主张由机器学习算法自动地从海量运维数据中不断地学习,不断地提炼并总结规则。
智能运维(AIOps),根据 Gartner 的最新阐释,意指整合大数据和机器学习能力,通过松耦合、可扩展方式去提取和分析数据量(volume)、种类(variety)和速度(velocity)这三个维度不断增长的 IT 数据,进而为 IT 运维管理产品提供支撑。
云智慧: AIOps 与其说是产品,不如说是一种理念和策略。通过以数据为基础、算法为支撑,场景为导向的 AIOps 平台,为企业现有运维管理工具和管理体系赋予统一数据管控能力和智能化数据分析能力,全面提升运维管理效率。现阶段 AIOps 的目标不是 NoOps,而是 BetterOps,通过更高效的运维帮助企业快速洞察人力难以企及的故障和问题,准确预测风险,化被动运维为主动运维。
二 AIOps 智能运维的出现
在过去二十年里,人工智能技术的发展间歇性影响了 ITOM[^2]的进步,而 AIOps 只是这种影响的最新例证。因此,对于传统企业来说,智能运维并不是一个全新的理念,而是 IT 运营分析/运维管理(ITOA[^3]/ITOM)体系与大数据和人工智能技术结合的产物。AIOps 智能运维平台以 ITOM/ITOA 系统所采集的运维大数据为基础,利用人工智能和机器学习算法对运维数据进行深入分析,涵盖 IT 监控,应用性能管理、外网监控、日志分析,系统安全等方面。
通过如下一张图就可以看到运维发展的几个阶段,早期的手工运维,到流程化、标准化运维,再到平台化、自动化运维,最后到近十年的 DevOps[^4](研发运营一体化)和 AIOps(智能运维)。
市面上流行的 ITOM 平台,其核心组件缺少大数据采集、分析和机器学习的能力,需要 AIOps 平台予以完善。AIOps 智能运维平台能够接入不同业务系统、监控系统、管理系统的海量 IT 数据,并运用各种算法进行快速分析、学习甚至预测。立足于 AIOps,IT 部门可以获得强大的 IT 决策和运营管理能力,并能对业务质量和用户体验进行准确检测和持续优化。
三 AIOps 智能运维构建
3.1 AIOps 能力
AIOps 平台主要通过整合分析 IT 基础设施、APM[^5]、NPM[^6]、日志、数字化体验监测数据,来提升 IT 运维流程的效率,而 AIOps 平台能力的 ROI 多是基于平均故障接手时间(MTTA)和平均故障修复(MTTR)时间这两个指标的降低进行评估的。
目前 AIOps 的主要应用场景有异常告警、告警收敛、故障分析、趋势预测、异常检测、根因分析等
现阶段,数字化转型的 IT 挑战在于一方面要控制 IT 成本,另一方面又要提供支持更高复杂度的运维管理能力。传统 ITOM 产品在处理海量、多种类和高速数据时常常会遇到极大的压力。更重要的是,这些监控工具无法提供横向业务追踪和根因定位所需的多系统数据。
数字化业务要求 IT 运维提供更快的响应速度和更高的处理效率,因此 AIOps 智能运维平台需要提供如下能力:
提供独立、开放的历史/实时数据采集、算法分析平台,整合 IT 数据和业务指标数据;
提供告警消噪(包括告警抑制、告警收敛等),消除误报或冗余事件;
提供跨系统追踪和关联分析,有效进行故障的根因分析;
设定动态基线捕获超出静态阈值的异常,实现单/多指标异常检测;
根据机器学习结果,预测未来事件,防止潜在的故障;
直接或通过集成启动解决问题的动作;
AIOps 将基于自动化运维,将 AI 和运维很好地结合起来,这个过程需要三方面的知识:
行业、业务领域知识,跟业务特点相关的知识经验积累,熟悉生产实践中的难题。
运维领域知识,如指标监控、异常检测、故障发现、故障止损、成本优化、容量规划和性能调优等。
算法、机器学习知识,把实际问题转化为算法问题,常用算法包括如聚类、决策树、卷积神经网络等。
AIOps 具体的能力框架如下所示:
3.2 团队建设
AIOps 团队内部人员根据职能可分为三类团队,分别为 SRE 团队、开发工程师(稳定性保障方向)团队和算法工程师团队,他们在 AIOps 相关工作中分别扮演不同的角色,三者缺一不可。
SRE 能从业务的技术运营中,提炼出智能化的需求点,在开发实施前能够考虑好需求方案,产品上线后能对产品数据进行持续的运营。
开发工程师负责进行平台相关功能和模块的开发,以降低用户的使用门槛,提升用户的使用效率,根据企业 AIOps 程度和能力的不同,运维自动化平台开发和运维数据平台开发的权重不同,在工程落地上能够考虑好健壮性、鲁棒性、扩展性等,合理拆分任务,保障成果落地。
算法工程师则针对来自于 SRE 的需求进行理解和梳理,对业界方案、相关论文、算法进行调研和尝试,完成最终算法落地方案的输出工作,并不断迭代优化。
各团队之间的关系图如下所示:
四 AIOps 演变路线
在质量保障方面的诉求最迫切,服务运维部先从故障管理领域探索 AIOps 实践。在故障管理体系中,从故障开始到结束主要有四大核心能力,即故障发现、告警触达、故障定位、故障恢复。故障发现包含了指标预测、异常检测和故障预测等方面,主要目标是能及时、准确地发现故障;告警触达包含了告警事件的收敛、聚合和抑制,主要目标是降噪聚合,减少干扰;故障定位包含了数据收集、根因分析、关联分析、智能分析等,主要目标是能及时、精准地定位故障根因;故障恢复部分包含了流量切换、预案、降级等,主要目标是及时恢复故障,减少业务损失。
故障管理体系核心能力关系图:
其中在故障管理智能化的过程中,故障发现作为故障管理中最开始的一环,在当前海量指标场景下,自动发现故障和自动异常检测的需求甚为迫切,能极大地简化研发策略配置成本,提高告警的准确率,减少告警风暴和误告,从而提高研发的效率。除此之外,时序数据异常检测其实是基础能力,在后续告警触达、故障定位和故障恢复环节中,存在大量指标需要进行异常检测。所以将故障发现作为当前重点探索目标,解决当前海量数据场景下人工配置和运营告警策略、告警风暴和准确率不高的核心痛点。
整个 AIOps 体系的探索和演进路线如下图所示。每个环节均有独立的产品演进,故障发现-Horae(美团服务运维部与交易系统平台部共建项目)、告警触达-告警中心、故障定位-雷达、故障恢复-雷达预案。
参考文档:
[1] zsfruyi.个人图书馆: http://www.360doc.com/content/19/0418/18/29088297_829711343.shtml ,2019-04-18.
[2] 王雅琪,陈思.智能运维系列(一)| AIOps 的崛起与实践: https://www.infoq.cn/article/fqUfkjhecOla1zKUKycN ,2020-6-24
[3] 胡原,锦冬,俊峰,长伟,永强.AIOps 在美团的探索与实践——故障发现篇:https://tech.meituan.com/2020/10/15/mt-aiops-horae.html ,2020-10-15
[^1]: AIOps: 智能运维, Algorithmic IT Operations[^2]: ITOM: 运维管理, IT Operation Management[^3]: ITOA: IT 运营分析, IT Operations Analytics[^4]: DevOps: 研发运营一体化, Development 和 Operations[^5]: APM: 应用性能管理, Application Performance Management[^6]: NPM: 网管系统, Network Performance Management
版权声明: 本文为 InfoQ 作者【进击的梦清】的原创文章。
原文链接:【http://xie.infoq.cn/article/e34cbcda2d692603ec200fb5d】。文章转载请联系作者。
评论