本届挑战赛亚军方案:基于大模型和多AGENT协同的运维

news2024/11/20 18:23:24

“轻舟已过万重山团队”荣获本届挑战赛亚军,该团队来自华为集团IT-UniAI 产品和openEuler系统智能团队。

方案介绍

在这里插入图片描述

自ChatGPT问世以来,AI迎来了奇点iPhone时刻,这一年来大模型深入影响企业办公,金融,广告,营销等很多领域,也给运维领域的挑战带来新的解题思路。我们洞察发现大模型给AIOps带来新机遇:已有云厂商利用大模型对运维事故进行根因定位并给出故障缓解措施建议,近7成以上运维人员对LLM的分析结果满意(>3分)。我们认为AIOps需要拥有三大能力,首先,需要拥有针对运维领域海量知识快速获取、辅助诊断和故障分析能力;其次需要拥有针对多模态数据进行快速高效准确的异常检测能力;最后需要拥有针对多源复杂部署的运维数据进行快速根因定位能力。

图片

针对这次开放式赛题,我们的详细方案如上图所示,针对主办方提供的Log, Metric, Trace三类运维数据我们分别构建了异常检测基础模型,一旦系统接受到异常即会通知LLM主管Agent,主管Agent对异常问题进行决策与子领域Agent进行桥接,多个子领域Agent协同工作,实现运维故障自动诊断和多个任务模型的编排,提升运维效率。

图片

我们针对不同的数据源分别打造了三个基础模型,首先是metric异常检测,我们对不同对象不同采集频率的运维数据进行分组,然后根据指标变化曲线提取不同窗口的差分特征,第三步是将同类型的指标时序进行融合后利用多个异常检测器进行异常检测和时间聚类,一旦发现异常则通知LLM主管Agent进行决策,检测Agent收到详细检测的指令则进一步利用多个异常检测器进行细致的异常检测。

图片

其次是Log异常检测,今年的Log类型可以分为两大类:Redis GC和Access日志,针对Redis GC日志首先使用结构分类模型检测是否需要语义信息,如果需要语义信息,那么我们会使用运维领域的预训练语言模型如BigLog等,之后是由Deep SVDD进行半监督异常检测;检测出不需要语义信息的部分则使用DRAIN进行模板提取后使用sADR进行半监督异常检测,最终对时间进行聚类后输出故障发生的时段和关键异常日志文本信息;针对Access日志我们使用结构化提取成时间序列后进行异常检测,对时间聚类后最终输出故障发生的时段和状态码信息。

图片

针对Trace数据我们有两部分输出,一部分是根据Trace信息实时生成动态拓扑作为根因定位的输入,另一部分针对调用链节点之间的时长构成调用链时间序列进行异常检测。

图片

结合大模型的技术演进趋势,从zero-shot->one-shot->few-shot,从Chain of thought->Tree of thought->Graph of thought,从Single-Agent增强到Multi-Agent协同,Multi-Agent在激发大模型能力的同时也带来了新的技术挑战,近期业界实践已发现Multi-Agent架构如果缺少合理的组织管理与协同沟通方法时,Multi-Agent的效果可能会比Single-Agent更差,我们认为在通过大模型通往AGI的道路上,我们需要将Agent当作平等的人类非工具来看待,因此多Agent的组织管理与协同需要借鉴管理“人”的方法,我们希望在基于Agents组织架构上,探索一套基于企业组织管理方法的多Agent协同框架,例如通过KPI树方法分解任务,通过PDCA方法反馈循环提高Agent工作效率,通过企业高效会议管理方法来合理组织运维War Room的Agent进入和退出,实现多Agent的高效协同诊断。

图片

这里我们用一张流程图详细阐述多Agent是如何协同工作的。系统发现Weblogic16和17发现异常,主管Agent收到异常通知后,从企业内源的知识库中获取到这两个节点是关键节点,组织检测Agent、根因定位Agent、故障分析Agent等开始工作。检测Agent这时候根据故障知识树首先执行磁盘检测发现异常程度高,得到高优先级结论,不用进一步检查CPU指标,检测Agent会输出详细的针对这两个节点的所有异常指标,异常发生时间,异常程度等。根因Agent根据详细检测的结果分析出根因节点为Weblogic 16, 故障分类Agent根据根因节点信息及异常指标的描述异常程度判断为磁盘故障,故障分析Agent这时候会给出针对这个故障的详细的分析报告,包含故障爆炸半径以及修复建议等。

图片

最后,我们方案创新地提出基于企业组织管理方法的多Agent协同框架,复杂运维任务处理更高效;使用多Agent协同完成运维主流程:异常检测->根因定位->故障分类->故障分析->修复建议;构建的多模态异常检测基础模型,包含Trace、Metric、Log数据处理能力,开箱即用;框架与算法不依赖具体特定应用场景,结合大模型实现较强的泛化能力;故障诊断报告体现可解释的故障爆炸半径,为实际生产运维故障快速恢复提供有力依据;各模块松耦合可插拔,可以全面应用于各类场景故障快速恢复需求,已在公司内部多场景落地。

【参考文献】

Zhang S, Pan Z, Liu H, et al. Efficient and Robust Trace Anomaly Detection for Large-Scale Microservice Systems. ISSRE, 2023.
Li D, Zhang S, Sun Y, et al. An Empirical Analysis of Anomaly Detection Methods for Multivariate Time Series. ISSRE, 2023.
Wang Z, Liu Z, Zhang Y, et al. RCAgent: Cloud Root Cause Analysis by Autonomous Agents with Tool-Augmented Large Language Models. arXiv, 2023.
Jin P, Zhang S, Ma M, et al. Assess and Summarize: Improve Outage Understanding with Large Language Models. ESEC/FSE, 2023.
Chen Y, Xie H, Ma M, et al. Empowering Practical Root Cause Analysis by Large Language Models for Cloud Incidents. arXiv, 2023.
Zhou X, Li G, Sun Z, et al. D-Bot: Database Diagnosis System using Large Language Models. arXiv, 2023.
Zhou X, Li G, Liu Z. Llm as dba. arXiv, 2023.
Wen Q, Gao J, Song X, et al. RobustSTL: A robust seasonal-trend decomposition algorithm for long time series. AAAI, 2019.
Liu Y, Tao S, Meng W, et al. LogPrompt: Prompt Engineering Towards Zero-Shot and Interpretable Log Analysis. arXiv, 2023.
Tao S, Liu Y, Meng W, et al. Biglog: Unsupervised large-scale pre-training for a unified log representation. IWQoS, 2023.
Ma L, Yang W, Xu B, et al. KnowLog: Knowledge Enhanced Pre-trained Language Model for Log Understanding. ICSE, 2023.
Zhong Z, Fan Q, Zhang J, et al. A Survey of Time Series Anomaly Detection Methods in the AIOps Domain. arXiv, 2023.
Wu H, Hu T, Liu Y, et al. Timesnet: Temporal 2d-variation modeling for general time series analysis. ICLR, 2023.
Yu G, Chen P, Li P, et al. Logreducer: Identify and reduce log hotspots in kernel on the fly. ICSE, 2023.

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

springboot+maven项目导入本地jar包,以有打包错误问题

1 本地jar包放置路径为: 2添加Modules File->project settings–>Modules–>Dependencies–>–>, 3 添加 Libraies 至此 项目即可成功运行。 mvn 打包错误,需要 运行以下命令 mvn install:install-file -Dfile${project.basedir}/s…

源码安装nginx保姆级教程

一.目录存放 1./usr/lib/syste,md/system/:每个服务最主要的启动脚本设定 2. /run/systemd/system/:系统执行过程中所产生的服务脚本,这些脚本的优先序要比 /usr/lib/systemd/system/ 高! 3./etc/systemd/system/:管…

c语言day4 运算符 表达式 三大控制结构

1: 2: 输入一个年月日 计算这是这一年的第几天 17 int year,month,day;18 printf("请输入年份 月份 日期");19 scanf("%d %d %d",&year,&month,&day);20 int feb28;21 if(year%40&&year%1…

AI大模型-启航

文章目录 什么是大模型?(大体现在参数量巨大)大模型将会改变那些行业(大模型有哪些作用?)如何搞数据训练模型?LangChain带来的技术变革LangChain架构 什么是大模型?(大体…

【深度学习笔记】深度卷积神经网络——NiN

网络中的网络(NiN) LeNet、AlexNet和VGG都有一个共同的设计模式:通过一系列的卷积层与汇聚层来提取空间结构特征;然后通过全连接层对特征的表征进行处理。 AlexNet和VGG对LeNet的改进主要在于如何扩大和加深这两个模块。 或者&am…

Linux中如何在创建子线程的时候设置为分离属性

#include<stdio.h> #include<stdlib.h> #include<string.h> #include<sys/types.h> #include<unistd.h> #include <pthread.h> void *mythread(void *arg) {printf("id[%ld]\n",pthread_self()); } int main() { //定义pthread_…

【Java程序设计】【C00324】基于Springboot的高校疫情防控管理系统(有论文)

基于Springboot的高校疫情防控管理系统&#xff08;有论文&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的高校疫情防控系统&#xff0c;本系统有管理员、学校管理员、学院管理员、教师以及学生五种角色&#xff1b; 管理员&#x…

camunda7流程引擎外部任务(External Task)如何使用

camunda7流程引擎支持两种执行服务任务的方式: 内部任务&#xff1a;同步调用与流程应用程序一起部署的代码外部任务&#xff1a;在列表中提供可由员工轮询的工作单元 第一个选项可以通过委托代码&#xff08;Delegation&#xff09; 或者脚本&#xff08;Script&#xff09;…

从零开始手写RPC框架(1)

学习java后端也有一段时间了&#xff0c;在网上寻一些教程和github上的开源库&#xff0c;学习从零开始手写一个RPC&#xff0c;学习各位大牛的代码适当修改&#xff0c;并贴上自己的一些见解和注释。 目录 RPC简介RPC和HttpClient的区别和共同点常见RPC框架 RPC框架设计常见序…

白宫敦促开发者弃用C和C++,转而使用“内存安全”的编程语言。

美国白宫国家网络总监办公室&#xff08;ONCD&#xff09;在一份新报告中呼吁开发者停止使用C或C等编程语言&#xff0c;转而使用“内存安全编程语言”&#xff0c;这是美国总统拜登网络安全战略的一部分&#xff0c;旨在保护网络空间的基础构建块。内存安全是指防止因内存访问…

6.WEB渗透测试-前置基础知识-AI应用

内容参考于&#xff1a; 易锦网校会员专享课 上一个内容&#xff1a;5.WEB渗透测试-前置基础知识-常用的dos命令-CSDN博客 1.AI在生活中扮演的角色越来越重要&#xff0c;AI现在可以用来帮我们办许多事情 目前比较好用的AI模型例如Chatgpt&#xff0c;Claude&#xff0c;必应…

推荐一款ssh工具 xshell替代品 electerm

下载地址 electerm&#xff1a; https://electerm.github.io/electerm/ windows版本 产品优势 复制粘贴&#xff0c;可以直接使用ctrlc/v 非常的方便 而且不想xshell 需要账号登陆&#xff0c;有更新弹窗&#xff0c;自身集成了sftp 界面设计更新&#xff0c;比MobaXterm的…

TCP的三次握手和四次挥手 | 查看网络状态

三次握手和四次挥手是在计算机网络中用于建立和终止TCP连接的协议。这两个过程是TCP协议的重要组成部分&#xff0c;确保数据的可靠传输。 三次握手指的是在客户端和服务器之间建立连接时的步骤。具体流程如下&#xff1a; 客户端向服务器发送一个连接请求报文段&#xff08;…

0201sherlock(福尔摩斯)-通过名称寻找媒体账号(地址)-github-开源项目学习

文章目录 一 项目简介二 项目安装和演示1 安装2 演示 三 源码分析1 项目结构2 主程序源代码分析 四 添加自定义网址结语 一 项目简介 二 项目安装和演示 1 安装 # clone the repo $ git clone https://github.com/sherlock-project/sherlock.git# change the working direct…

推荐几款优秀免费开源的导航网站

&#x1f9a9;van-nav 项目地址&#xff1a;van-nav项目介绍&#xff1a;一个轻量导航站&#xff0c;汇总你的所有服务。项目亮点&#xff1a;全平台支持&#xff0c;单文件部署&#xff0c;有配套浏览器插件。效果预览 &#x1f9a9;发现导航 项目地址&#xff1a;nav项目…

【开源项目】自动字幕生成和字幕翻译

文章目录 1. 安装ffmpeg2. 克隆项目3. 配置项目运行环境4. 填写配置文件5. 运行项目&#xff08;仅使用CPU&#xff09; 项目地址&#xff1a;Github - qinL-cdy/auto_ai_subtitle 项目原理&#xff1a;使用ffmpeg提取视频的音频&#xff0c;使用whisper将音频转写为字幕&#…

消息中间件之RocketMQ源码分析(二十三)

Broker的关机恢复机制 概述 Broker关机恢复是指恢复CommitLog、Consume Queue、Index File等数据文件。Broker关机分为正常调用命令关机和异常被迫进程终止关机两种情况。恢复过程的设计目标是使正常停止的进程实现零数据丢失&#xff0c;异常停止的进程实现最少量的数据丢失…

Python:练习:输出int值a占b的百分之几。例如:输入1和4,输出:25%。

案例&#xff1a; 输出int值a占b的百分之几。例如&#xff1a;输入1和4&#xff0c;输出&#xff1a;25%。 思考&#xff1a; 所有的一步步思考&#xff0c;最后综合起来。 首先&#xff0c;确定 输出&#xff0c;那么就用input&#xff0c;而且是int值&#xff0c;所以肯定…

javaee教程郑阿奇,一线互联网架构师筑基必备技能之Java篇

一、什么情况下会发生栈内存溢出&#xff1f; 1、栈是线程私有的&#xff0c;栈的生命周期和线程一样&#xff0c;每个方法在执行的时候就会创建一个栈帧&#xff0c;它包含局部变量表、操作数栈、动态链接、方法出口等信息&#xff0c;局部变量表又包括基本数据类型和对象的引…

【Kubernetes】安装K3S

目录 前言一、原理单体架构高可用架构 二、初始化1.配置yum源2.关掉防火墙3.关掉selinux4. 修改内核参数5.关掉swap交换分区 三、安装master节点1. 安装container2.启动master服务 四、安装node节点五、卸载六、总结 前言 各位小伙伴们&#xff0c;大家好&#xff0c;小涛又来…