运维智能化转型:AIOps引领IT运维新浪潮

1. AIOps是什么?

AIOps(Artificial Intelligence for IT Operations),即人工智能在IT运维中的应用,通过机器学习技术处理运维数据(如日志、监控信息和应用数据),解决传统自动化运维无法应对的复杂问题。

早期的运维工作是手工运维或自动化运维,但是随着互联网业务的快速发展和人力成本的增加,传统的手动运维模式已不再适用。自动化运维通过预设规则的脚本执行重复性任务,降低了成本并提高了效率,但面对业务的复杂性,这种方法也显得力不从心。

智能运维(AIOps)的出现,将人工智能技术应用于运维,利用机器学习和深度学习分析历史数据,自动提炼规则,解决自动化运维难以处理的问题。AIOps不依赖于人工规则,而是通过机器学习算法从运维数据中不断学习,提炼规则。

AIOps结合了自动化运维和人工智能,需要以下三方面的知识:

  • 行业知识:了解不同行业的运维挑战;
  • 运维场景知识:熟悉监控、异常检测、故障处理等运维场景;
  • 机器学习:将实际问题转化为算法问题,并运用聚类、决策树等算法。

AIOps是自动化运维的进化,适用于互联网、电信、金融等多个行业,标志着运维领域的未来发展。

2. AIOps 目标、指导原则、应用场景

AIOps,简而言之,就是将运维规则自动化和智能化。它把人工制定运维规则的过程转变为机器的自动学习过程。具体来说,AIOps对现有的自动化运维和监控系统进行智能化改造,消除了对预设规则的依赖,旨在实现一个由AI控制的高效、低成本、高质量的无人值守运维系统,以最大化运营的综合效益。

2.1  AIOps 目标

利用大数据、机器学习和其他分析技术,通过预防预测、个性化和动态分析,直接和间接增强IT业务的相关技术能力,实现所维护产品或服务的更高质量、合理成本及高效支撑。

2.2  AIOps 指导原则

要实现AIOps,即在运维中应用AI技术,必须融合数据、策略和工程三大要素。

  • 数据:作为AI的基础,需要构建运维数据仓库或知识库,实现数据的标准化和平台化,这相当于AIOps的眼睛。
  • 策略:包括异常检测、根因分析等算法,构成了AIOps的核心,即大脑。
  • 工程:涉及数据的采集、处理和存储,以及将AI策略应用于实际业务,这是AIOps的支撑基础。

在构建AIOps时,应遵循三个原则:

  • 书同文:建立标准化的运维描述,使AI能够统一理解和学习不同来源的数据。
  • 车同轨:创建统一或通用的运维平台,避免数据和操作的不一致性,确保AI模型的可扩展性和适用性。
  • 行同伦:构建一致的运维模式,从感知到决策再到执行,使AIOps能够广泛应用于不同的程序、业务和场景,发挥其最大效能。

2.3  AIOps 应用场景

AIOps主要应用场景如下图所示:

AIOps的关键功能包括:

  • 异常检测:利用AI快速识别系统异常,提升故障诊断效率。
  • 趋势预测与容量规划:基于历史数据预测性能趋势,优化资源配置。
  • 关联告警:分析告警相关性,提供全局问题视图。
  • 告警聚合:合并相关告警,减少冗余,提高告警清晰度。
  • 故障根因分析:应用AI技术定位故障根源,加快问题解决。
  • 故障自愈:自动检测并修复系统故障,减少人工干预,缩短恢复时间。

3. AIOps 能力框架

AIOps的建设可以先由无到局部单点探索、再到单点能力完善,形成解决某个局部问题的运维AI“学件”,再由多个具有AI能力的单运维能力点组合成一个智能运维流程。AIOps 能力框架基于如下 AIOps 能力分级。如下图所示,AIOps 能力分级可具体可描述为5级:

 所谓学件,亦称AI运维组件,类似程序中的API或公共库,但API及公共库不含具体业务数据,只是某种算法,而AI运维组件则是在类似API的基础上,兼具对某个运维场景智能化解决的“记忆”能力,将处理这个场景的智能规则保存在了这个组件中,学件(Learnware)= 模型(Model)+规约(Specification)。AIOps具体的能力框架如下图所示:

4. AIOps价值

在高性能计算集群的运维中,AIOps通过监控服务器、存储、网络等关键资产,实现全面的基础设施和环境监控,并采用可视化技术管理资产和数据。在此基础上,AIOps利用人工智能和机器学习技术,自动化执行异常检测、故障诊断、自愈操作,并进行精准的趋势预测和资源规划。

AIOps的主要优势包括:

  • 自动化异常检测:减少漏报,提高告警准确性。
  • 故障根因分析与自愈:减少人工干预,缩短故障恢复时间。
  • 告警关联与聚合:简化告警信息,提供清晰的上下文,降低告警负担。
  • 智能预测与规划:合理分配资源,避免资源短缺或浪费。

与传统运维相比,AIOps提升了系统的可靠性、可用性和安全性,同时降低了运维成本和人为错误,有效减少了业务中断风险,提高了运维效率和响应速度。简而言之,AIOps通过智能化手段,优化了IT运维的多个方面,实现了成本效益的最大化。

5. AIOps业内实践

美团技术团队凭借在行业和业务领域的深厚积累,已经开发出一系列工具和产品,实现了自动化运维,并在AIOps领域取得了初步成果。美团的AIOps实践专注于提升运维智能化,特别是在故障发现和事件管理这两个关键环节。通过构建AIOps平台Horae,美团在单指标时序异常检测方面积累了丰富经验,其智能告警功能有效支持了监控系统和异常检测场景

5.1  故障发现

美团利用机器学习算法对海量时序数据进行自动分类,并适配相应的检测策略。通过自动异常注入和特征工程,Horae平台能够实现对周期型指标的精准异常检测,减少人工参与的成本并提高告警准确率。

在故障管理体系中,从故障开始到结束主要有四大核心能力,即故障发现、告警触达、故障定位、故障恢复。具体关系如下图所示:

 

其中故障发现作为故障管理中最开始的一环,在当前海量指标场景下,自动发现故障和自动异常检测的需求甚为迫切,能极大地简化研发策略配置成本,提高告警的准确率,减少告警风暴和误告,从而提高研发的效率。整个AIOps体系的探索和演进路线如下图所示。

以异常发现为例,故障发现需要快速、准确。为避免误报,服务运维团队开发了一种基于历史上邻近的点分布相似(时序特征相似)思想的智能异常检测算法。如果当前待检测点相较其他历史参考点相对异常(存在点异常或者模式异常),检测流程会将异常点识别出来,并告知用户待测指标出现异常现象。

 

在进行实时检测流程中,待检测点会先进入预检测流程。预检测组件会拦截绝大多数正常点,而当预检测异常时,才会执行特征提取阶段,进入模型异常分类;同时分类结果通过反馈机制可以增加到样本集,提高模型泛化能力和精召率。整个算法流程训练、检测、反馈闭环。

该项能力为美团监控系统提供无阈值的时序检测能力。目前检测流程中的分类器在真实线上样本的精确率和召回率均在98%以上。团队会每周定时抽样核心指标并对检测结果进行复盘,核心指标的异常检出准确率在90%左右。

5.2  事件管理

美团的AIOps实践覆盖了事前预防、事中处理和事后运营三个阶段。在事前预防中,美团通过变更风险智能检测来预防潜在的变更风险。在事中处理阶段,美团实现了快速的异常发现、根因诊断和相似事件推荐,以降低服务异常的影响并提升服务可用性。事后运营则侧重于故障复盘,通过主题分析等NLP技术,帮助用户发现更多相似的故障,挖掘共性问题。

事件管理的复杂性体现在两个方面:

  1. 数据繁多:

数据多样化:需要整合告警、链路、指标、日志等多种数据类型,以全面识别、诊断和解决问题。

实时性和复杂性:运维数据需实时采集与处理,且数据间关系错综复杂,要求精细的统一处理。

领域知识要求高:运维涉及网络、硬件、系统等多个层面的知识,对运维人员和工具提出了高要求。

       2. 流程复杂:

事件管理的时间线如下,每个环节都提效才能达成事件管理的效率提升。

 

面对上述挑战,美团运维团队在过去几年建设了丰富的工具体系,基于专家经验、规则配置、流程管控等方式进行事件管理。具体工作可拆解为四个模块:

  • 风险预防——变更风险智能检测:以用户和实体为对象,结合规则以及机器学习模型,对用户行为进行分析和异常检测。
  • 故障发现——智能识别指标异常:基于统计算法和机器学习算法识别指标的异常模式,帮助用户快速发现故障。
  • 事件处理——诊断和预案推荐:通过多模态数据和算法规则引擎来帮助用户快速定位故障,推荐止损预案。
  • 事件运营——相似故障推荐:基于NLP技术推荐相似故障复盘,挖掘共性问题。

美团的AIOps实践展示了智能化技术在提升运维效率和准确性方面的潜力。通过这些实践,美团不仅提高了服务的可用性和稳定性,还为整个行业提供了宝贵的经验和启示,推动了AIOps的发展和创新。更多内容请参考AIOps在美团的探索与实践——事件管理篇

6. 参考资料

[1] 周志华. 机器学习: 发展与未来[R]. 报告地: 深圳, 2016.

[2] 裴丹, 张圣林, 裴昶华. 基于机器学习的智能运维[J]. 中国计算机学会通讯, 2017, 13(12): 68–73.

[3] 赵建春, 张戎, 周荣, 等. 《企业级AIOps实施建议》白皮书[M]. 高效运维社区、AIOps 标准工作组, 2018: 8–44.

[4] Bogatinovski J, Nedelkoski S, Acker A, et al. Artificial intelligence for it operations (aiops) workshop white paper[J]. arXiv preprint arXiv:2101.06054, 2021.

[5] Bhanage D A, Pawar A V, Kotecha K. It infrastructure anomaly detection and failure handling: A systematic literature review focusing on datasets, log preprocessing, machine & deep learning approaches and automated tool[J]. IEEE Access, 2021, 9: 156392-156421.

[6] Dang Y, Lin Q, Huang P. Aiops: real-world challenges and research innovations[C]. 2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion). IEEE, 2019: 4-5.

[7] 智能运维入门介绍[EB/OL].https://mp.weixin.qq.com/s/P4_IERYgVBfpk4Z344U7GA, 2022-10-15.

[8] AIOps在美团的探索与实践——故障发现篇[EB/OL]. https://tech.meituan.com/2020/10/15/mt-aiops-horae.html, 2020-10-15.

[9] AIOps在美团的探索与实践——事件管理篇[EB/OL]. https://tech.meituan.com/2023/12/22/aiops-based-incident-management.html, 2023-12-22.

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/913610.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C++练习 二维数组的应用

1&#xff09;超女有3个小组&#xff0c;每组有4名选手&#xff0c;请提供一个界面&#xff0c;输入每个超女的体重&#xff0c;然后&#xff0c;计算出每组的超女的平均体重和全部超女的平均体重。 #include <iostream> using namespace std;int main() {float sum1 0…

Vue3安装、创建到使用

vue安装 npm install vuenext # 全局安装 vue-cli npm install -g vue/cli #更新插件 项目中运行 vue upgrade --nextvue create 命令 vue create [options] <app-name> options 选项可以是&#xff1a; -p, --preset <presetName>&#xff1a; 忽略提示符并使用已…

JavaWeb:文件上传1

欢迎来到“雪碧聊技术”CSDN博客&#xff01; 在这里&#xff0c;您将踏入一个专注于Java开发技术的知识殿堂。无论您是Java编程的初学者&#xff0c;还是具有一定经验的开发者&#xff0c;相信我的博客都能为您提供宝贵的学习资源和实用技巧。作为您的技术向导&#xff0c;我将…

第2章2.3立项【硬件产品立项的核心内容】

硬件产品立项的核心内容 2.3 硬件产品立项的核心内容2.3.1 第一步&#xff1a;市场趋势判断2.3.2 第二步&#xff1a;竞争对手分析1.竞争对手识别2.根据竞争对手分析制定策略 2.3.3 第三步&#xff1a;客户分析2.3.4 第四步&#xff1a;产品定义2.3.5 第五步&#xff1a;开发执…

视频播放相关的杂记

基于QT FFMPEG设计一款 RTMP协议推流、视频录制软件 实现的功能&#xff1a; &#xff08;1&#xff09;将摄像头视频流 麦克风音频流合并&#xff0c;并推到流媒体服务器 &#xff08;2&#xff09;将摄像头视频流 麦克风音频流保存到本地磁盘 基于QtFFMPEG设计一款RTM…

oracle如何创建两个数据库,以及如何用navicat连接,监听、数据泵

项目背景oracle11g, 已经非常老了&#xff0c; 2017年的左右&#xff1b;谨慎参考 W11直接搜索就行 dbca唯一需要注意的地方就是一定一定一定要以管理身份运行&#xff0c;否则会提示各种因为文件权限问题报的错误 然后弹出程序提示&#xff0c;图形化开始操作了&#xff1b; …

LeetCode 509.斐波那契数

动态规划思想 五步骤&#xff1a; 1.确定dp[i]含义 2.递推公式 3.初始化 4.遍历顺序 5.打印dp数组 利用状态压缩&#xff0c;简化空间复杂度。在原代码中&#xff0c;dp 数组保存了所有状态&#xff0c;但实际上斐波那契数列的计算只需要前两个状态。因此&#xff0c;我们…

Qml 中的那些坑(七)---ComboBox嵌入Popup时,滚动内容超过其可见区域不会关闭ComboBox弹窗

【写在前面】 最近在写信息提交 ( 表单 ) 的窗口时发现一个奇怪的 BUG&#xff1a; 其代码如下&#xff1a; import QtQuick 2.15 import QtQuick.Controls 2.15 import QtQuick.Window 2.15Window {width: 640height: 480visible: truetitle: qsTr("Hello World")B…

Softing工业将在纽伦堡SPS 2024上展示Ethernet-APL现场交换机

今年&#xff0c;Softing工业将在纽伦堡SPS贸易展览会上展示aplSwitch Field —— 一款先进的过程自动化解决方案。这款16端口以太网高级物理层&#xff08;APL&#xff09;现场交换机的防护等级高达IP30&#xff0c;可提供从应用到现场级别的无缝以太网连接&#xff0c;专为Ex…

Local Transfer 致力于更加便捷地共享传输文件

软件主页&#xff1a;https://illusionna.github.io/LocalTransfer

分布式——BASE理论

简单来说&#xff1a; BASE&#xff08;Basically Available、Soft state、Eventual consistency&#xff09;是基于CAP理论逐步演化而来的&#xff0c;核心思想是即便不能达到强一致性&#xff08;Strong consistency&#xff09;&#xff0c;也可以根据应用特点采用适当的方…

22.04Ubuntu---ROS2使用rclcpp编写节点C++

节点需要存在于功能包当中&#xff0c;功能包需要存在于工作空间当中。 所以我们要想创建节点&#xff0c;就要先创建一个工作空间&#xff0c;再创建功能包。 第一步&#xff1a;创建工作空间 mkdir -p chapt2_ws/src/ 第二步&#xff1a;创建example_cpp功能包&#xff0c…

《TCP/IP网络编程》学习笔记 | Chapter 7:优雅地断开套接字连接

《TCP/IP网络编程》学习笔记 | Chapter 7&#xff1a;优雅地断开套接字连接 《TCP/IP网络编程》学习笔记 | Chapter 7&#xff1a;优雅地断开套接字连接基于 TCP 的半关闭单方面断开连接带来的问题套接字和流针对优雅断开的 shutdown 函数为何需要半关闭&#xff1f;基于半关闭…

使用 .NET Core 7 和 SignalR 构建实时聊天应用程序

动动你可爱的小手&#xff0c;请关注下本人公众号&#xff0c;继续为您提供更多原创技术文章。谢谢给为的支持 SignalR 是一个 ASP.NET 库&#xff0c;它支持实时 Web 功能&#xff0c;允许服务器立即将更新推送到客户端&#xff0c;从而提高应用程序的效率和响应能力。它通过简…

智慧社区可视化解决方案:科技引领社区服务与管理新篇章

随着社会的发展&#xff0c;智慧社区作为新型城镇化发展目标和社区服务体系建设的重要举措&#xff0c;正逐步改变着我们的生活方式。智慧社区通过综合运用现代科学技术&#xff0c;整合区域资源&#xff0c;提升社区治理和服务水平&#xff0c;为居民提供更为便捷、高效、安全…

Unicode字符集(万国码)

1.三种编码方式&#xff1a; UTF-16&#xff1a;16个bit位&#xff08;2个字节&#xff09;存储 UTF-32&#xff1a;32个bit位&#xff08;4个字节&#xff09;存储 UTF-8&#xff1a;可变长度字符编码。1-4个字节存储&#xff0c;只需记住&#xff1a;英文字母1个字节表示&…

excel功能

统计excel中每个名字出现的次数 在Excel中统计每个名字出现的次数&#xff0c;您可以使用COUNTIF函数或数据透视表。以下是两种方法的详细步骤&#xff1a; 方法一&#xff1a;使用COUNTIF函数 准备数据&#xff1a;确保您的姓名列表位于一个连续的单元格区域&#xff0c;例如…

A025-基于SpringBoot的售楼管理系统的设计与实现

&#x1f64a;作者简介&#xff1a;在校研究生&#xff0c;拥有计算机专业的研究生开发团队&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取&#xff0c;记得注明来意哦~&#x1f339; 赠送计算机毕业设计600…

nginx 部署2个相同的vue

起因&#xff1a; 最近遇到一个问题&#xff0c;在前端用nginx 部署 vue&#xff0c; 发现如果前端有改动&#xff0c;如果不适用热更新&#xff0c;而是直接复制项目过去&#xff0c;会404 因此想到用nginx 负载两套相同vue项目&#xff0c;然后一个个复制vue项目就可以了。…

微服务day06

MQ入门 同步处理业务&#xff1a; 异步处理&#xff1a; 将任务处理后交给MQ来进行分发处理。 MQ的相关知识 同步调用 同步调用的小结 异步调用 MQ技术选型 RabbitMQ 安装部署 其中包含几个概念&#xff1a; publisher&#xff1a;生产者&#xff0c;也就是发送消息的一方 …