LLM和Multi-Agent在运维领域的实验探索

举报
华为云确定性运维 发表于 2024/09/13 10:18:25 2024/09/13
【摘要】 本文从智能运维面临的挑战和痛点出发,介绍企业运维领域应用 AIGC 的实践案例,基于确定性运维的实践经验,提出以LLM 为中心,基于多 Agent 协同的运维方案,并提出在大模型时代下,对下一代智能运维的思考。

来源:华为云确定性运维专刊(第五期)


0.PNG

       自ChatGPT问世以来,AI迎来了奇点iPhone时刻,这一年来大模型深入影响企业办公、金融、广告及营销等很多领域,也给运维领域的挑战带来新的解题思路。我们洞察发现大模型给AIOps带来新机遇:已有云厂商利用大模型对运维事故进行根因定位并给出故障缓解措施建议,近7成以上运维人员对LLM的分析结果满意(>3分)。我们认为AIOps面临以下三大挑战:

      挑战1:针对运维领域海量知识快速获取、辅助诊断和故障分析能力:在大模型如火如荼的时代背景下,运维领域应用LLM来获取运维知识,针对故障进行分析和推荐修复方案已是势在必行,如何将LLM较为广泛的知识储备(横向能力)与运维领域的专业知识(运维垂域)相结合,对具体故障给出较为准确和可以用作参考和修复操作的指令,是本方案的第一重要能力实现。

     挑战2:针对多模态数据进行快速高效准确的异常检测能力:运维领域有丰富的多损益来源、多类型数据:指标数据(metric)、日志数据(log)以及调用链数据(trace)等多模态运维数据。指标能够反映业务状态和机器性能的时间序列数据;日志是一种程序打印或执行代码输出的非结构化文本;调用链则是在系统完成一次业务调用的过程中,把服务之间的调用信息连接成的一个树状链条。多模态运维数据可以反映系统状态的全方位信息,针对不同模态的数据,智能匹配最优算法得到较为准确的故障检测结果是本方案的第二重要能力实现。

    挑战3:针对多源复杂部署的运维数据进行快速根因定位能力:多模态运维数据一方面能够反映系统状态的全方位信息,另一方面也给故障定位带来很大的困难。针对log、metric、trace三方面来源的告警信息进行有效、快速、准确地分析,结合trace数据生成的实时拓扑结构图,排除故障传播节点,给出故障根因节点推荐,是本方案的重要能力实现之一。

      在真实的运维工作中,IT系统何时发生故障、发生什么类型的故障都是未知,只能根据以往运维经验和故障现象进行推断,所以针对这一困难,本方案利用LLM储备的相关运维知识进行few-shot tuning后能够给出初步的故障分类建议,起到辅助运维人员进行故障分析和根因定位的作用。

      结合以上问题我们进行深度探索,并总结出一些方案,在此,分享给各位读者。

      方案详述

     本方案提出以LLM为中心结合多模态Agent协同的自主决策、自动修复的运维方案,整体架构如图1所示,我们重点强调三大关键技术:

1.PNG

图1:基于LLM和多模态Agent协同的自主决策、自动修复运维方案

      关键技术1:具备运维领域知识经验的LLM

      ① 梳理异常检测告警信息和运维故障模式,形成运维领域高质量数据集,使用finetuning+外挂企业运维知识库的方案,使得LLM具备运维领域故障分析定位能力。

      ② 使用主管LLM对异常问题与子领域Agent进行桥接,多个子领域Agent协同工作,提升运维效率。

      关键技术2:更全能的多模态数据异常检测基础模型

      ① 针对成百上千条不同采用频率的metric序列采取一定维度聚合的方法,化繁为简,一旦检测出异常,再细化分析关键指标的关键表现。

      ② 针对半结构化和非结构化日志采取针对性的解析方式:前者注重模板提取,后使用uADR/sADR进行异常检测,后者注重语义理解,使用BigLog预训练模型结合Deep SVDD+SAD进行异常检测。

      ③ 针对结构化明显的trace数据,抽取分离调用关系并定义节点关键数据,通过转化时间序列有效识别异常节点,并通过拓扑关系分析帮助推测可能根因节点及故障传播方向。

      关键技术3:基于知识图谱的根因定位

      ① 利用DBSCAN从时间维度聚类,形成异常事件。

      ② 利用Trace数据实时生成拓扑结构图。

      ③ 根据故障模式知识库分析故障传播链路。

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

2.PNG

图2 多模态异常检测-Metric基础模型

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

3.PNG

图3 多模态异常检测-Log基础模型

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

4-5.PNG

图4 多模态异常检测-Trace基础模型

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

5.PNG

图5 多Agent协同框架:基于企业组织管理方法的高效协同诊断

      结合大模型的技术演进趋势,从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的高效协同诊断。

6.PNG

图6 多Agent协同故障诊断

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

      方案创新性、通用性及实用性

7.PNG

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

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

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。