通过大语言模型理解运维故障:评估和总结

在这里插入图片描述
张圣林
南开大学软件学院副教授、博士生导师
第六届CCF国际AIOps挑战赛程序委员会主席

在ATC、WWW、VLDB、KDD、SIGMETRICS等国际会议和JSAC、TC、TSC等国际期刊发表高水平论文50余篇。主持国家自然科学基金项目2项,横向项目13项(与华为、字节跳动、腾讯等合作)。获ISSRE 2023/2018最佳学术论文奖、清华大学优秀博士学位论文、华为“最佳技术合作教授”、南开大学“良师益友”、麒麟软件“校企合作突出贡献”奖、天津市科技进步一等奖等荣誉。担任CCF A/B类国际会议程序委员会委员十余次。中国计算机学会高级会员,YOCSEF天津AC副主席,互联网专委、软件工程专委、服务计算专委执行委员。

论文:
Assess and Summarize: Improve Outage Understanding with Large Language Models(ESEC/FSE 2023)


本文为南开大学软件学院副教授张圣林在论文闪电分享环节的演讲内容整理。

感谢各位嘉宾对AIOps挑战赛和研讨会的大力支持,今天我将分享近期我们团队和微软合作基于大语言模型提高对故障理解的工作。

什么是云服务故障?

图片
当今社会,我们正处在数字化时代,云服务对我们的生产生活至关重要。国内和国外涌现出一批优秀的云服务供应商:亚马逊的AWS、微软的Azure、谷歌云、阿里云、腾讯云等。它们为我们提供了各种各样的服务,让我们的生活更加便利。

但是,近期接连不断的爆出多家云服务公司出现故障的事件,当故障发生之后,一个云数据中心或整个地区的基本服务(如存储、计算能力或中间件)中断,带来了巨大的经济损失;用户体验下降,造成客户丢失。企业和个人都受到了波及,大家应该是感同身受。

图片

当云故障发生之后,我们首先需要确认故障影响了哪些组件。只有确定了被影响组件才能够做故障规避,把这部分组件进行隔离。

在这里插入图片描述

以上图为例,当一个存储服务的故障发生之后,会导致数据库指标出现增长,Web App性能出现下降,进而导致用户体验降低。从“T1”时刻开始,我们可以确认这是一个故障了,因为它影响用户体验,并且造成了很多事件发生。

故障发生之后我们需要花一段时间总结故障产生的原因,也就是图片中“T2”时刻,我们需要写故障摘要,把整个故障的摘要信息告诉其他的团队。

图片

在此之前,故障摘要的生成是通过人工的方式去完成的,费时费力且容易出错。微软在这方面做了一些事件聚合的尝试工作,但是把事件聚合完了之后,还是需要运维工程师去人工查看。这里有两个挑战:首先,需要运维工程师判断哪些信息是有用的。其次,需要总结领域特定的、与云相关的故障信息。

什么是故障的摘要?

我们分析了微软过去三年故障的数据,回答了下面几个问题。

1、故障的影响范围

图片

我们分析了微软18个云系统3年多的数据,研究了超过6000个已经解决的云故障。发现超过86%的故障是影响了很多用户的,其中持续时间长的故障比例远大于持续时间短的故障;同时,我们还发现25%的故障关联超过10个事件,影响范围比较大。

2、故障摘要包含了哪些信息?

图片

我们把已有的工单信息、告警信息进行分析研究,主要是分析那些级别比较高的告警信息,进行整合生成故障摘要。在这个摘要里主要回答了五方面的问题:故障出现的时间、故障发生的位置、故障影响的范围、故障如何产生、为什么会发生故障。把这些问题总结之后就能够生成如上图右边实例的故障摘要。

3、人工分析故障所需的时间成本

图片

我们做了一个统计,如上图所示“T1”代表了故障开始时间, “T2”代表运维工程师写完故障摘要的时间,用“T2”减“T1”表示整个故障摘要生成的时间。我们会发现超过23%的故障花费的时间是超过两个时间单位的,耗时比较长。

4、研究结果

图片

为了解决上述问题,我们利用基于大语言模型设计了一个技术框架,它能够生成一个有用的、可读的故障摘要,大幅降低故障摘要生成时间。什么是有用?指的是能够收集和故障相关且价值比较高的信息,能够很容易的被人看懂,同时还能够大幅的降低生成故障的时间,这也是我们设计这个框架的目标。

技术框架方案介绍

图片

整个框架包括几个部分,首先是采集故障相关的告警信息。怎么样去采集?通过三种途径去实现的。首先是基于规则,因为有很多规则可以去利用,比如说一些告警是由同一个指标时间序列异常检测所产生的,那么我们就判定这些告警是相关的。第二是模块,根据历史的告警信息,分析告警与哪些模块是相关联的,那么在新的一次故障产生之后,我们会把与这些模块相关的告警关联起来。第三是深度学习。利用一些深度学习方法,根据语义的相似性,分析哪些告警描述的是同一个事件,那就表明它们是相关的。

我们通过这三种途径,就能够把与这个故障本身相关的那些告警的事件采集起来,构建这个故障的范围。范围确定之后,把范围内全部的告警事件聚合在一块,根据告警的紧要程度进行自动排序。

我们把每个告警的 Title和描述做一个采集,把它们作为一个Context,再把历史上人工所生成的摘要信息作为补充部分,对Chat GPT进行训练。通过这样的方式在新的故障发生之后,只需要把相关告警信息输入进去,就可以生成本次故障的摘要信息。

实验结果

图片

上图中展示的是我们的实验结果,其中Chat GPT3.5在故障摘要生成方面效果显著优于Chat GPT 2和其它规则或检索生成方式。

图片

同时,我们发现通过这种方式比传统的人工方式的效率提高了200多倍。

图片

我们还采用了人工的方式,把我们的研究成果发给那些故障的Owner,他们用不同的方法,比如阶段生成或者基于规则来做排序,最后发现大部分工程师都还是会把Chat GPT生成的摘要排在第一位或第二位。

总结

图片

我们的研究首先是对大规模的云服务故障做一个分析;同时设计了一个有用且可读的技术框架,能够大幅降低故障摘要的生成时间;最后我们研究成果得到了微软工程师们的认可,证明该方法确实能够大幅降低故障摘要生成的时间。

以上是我的分享,谢谢大家。

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

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

相关文章

华为s5720s-28p-power-li-ac堆叠配置

叠物理约束: • 连线推荐示意图选用产品子系列中固定的一款设备做示例,与选择产品时指定型号的外观可能不同。示意图主要用于让用户了解相同子系列设备可以用作堆叠的端口的位置,以及使用不同的连线方式时如何连接设备上的端口。因此&#xf…

【Micropython教程】点亮第一个LED与流水灯

文章目录 前言MicroPython在线仿真GPIO的工作模式一、有哪些工作模式?1.1 GPIO的详细介绍1.2 GPIO的内部框图输入模式输出部分 一、machine.Pin类1.1 machine.Pin 类的构造对象1.2 machine.Pin 类的方法init方法value方法设置高低电平方法 二、延时函数 三、流水灯总…

2024年2月深度学习的论文推荐

我们这篇文章将推荐2月份发布的10篇深度学习的论文 Beyond A*: Better Planning with Transformers via Search Dynamics Bootstrapping. https://arxiv.org/abs/2402.14083 Searchformer是一个基于Transformer架构的人工智能模型,经过训练可以模拟A星寻路算法&a…

博途V18界面的各变量用途

在编程的时候会用到相关的变量包括: 1.在程序块中新建的“数据块” DB 。 在此建立的 变量数据块,它可以是自建在PLC数据类型的变量类型,也可以是各种标准的数据类型,且在DB数据块中的变量一般为全局变量,在整个项目…

nginx------------缓存功能 (六)

一、http 协议反向代理 (一)反向代理示例:缓存功能 缓存功能可以加速访问,如果没有缓存关闭后端服务器后,图片将无法访问,缓存功能默认关闭,需要开启。 ​ proxy_cache zone_name | off; 默认off #指明调…

[Tomcat] 控制台日志乱码,快速解决

启动tomcat之后,控制台打印的日志中出现了中文乱码的情况 解决方法 找到tomcat下的conf目录下的logging.properties文件,地址一般为:C:\apache-tomcat-9.0.17\conf 将logging.properties打开,将java.util.logging.ConsoleHandler…

向量数据库PGVECTOR,AI浪潮下崛起的新秀!

📢📢📢📣📣📣 哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】!😜&am…

Javaweb day7

Ajax 写法 (比较落后) 简化版:AXIOS 写法 简化 案例: 基础代码 写法

项目流程图

实现便利店自助付款项目 服务器: 1、并发服务器(多进程、多线程、IO多路复用) 2、SQL数据库的创建和使用(增删改查) 3、以模块化编写项目代码,按照不同模块编写.h/.c文件 客户端: 1、QT客户端界…

AI智能电销机器人效果怎么样?呼叫部署

我们的生活早已变得无处不智能,从智能手机到无人车、虚拟VR到智能家居,你迎接的每一个清晨、享受的每一个夜晚,可能都离不开智能设备的服务。 工作中,智能化产业也正在影响着企业,电销机器人正在帮助各大企业获得更高的…

input css padding

这样控件会跑出外套控件在HTML JSP里面是经常出现的。但有些外国adobe的as控件不存在这种情况,这是因为内层控件定义的时候不能超出外层控件的范围。 修改下:去掉原来css padding,然后加上宽度和高度

Win UI3开发笔记(四)设置主题续

上文讲到过关于界面和标题栏以及普通文本的主题设置,这篇说一下关于对话框的主题设置。 我最终没找到办法,寻求办法的朋友可以不用接着看了,以下只是过程。 一个对话框包括标题部分、内容部分和按钮部分,其中,在Cont…

windows IIS 申请和配置https(SSL)的工具 win-acme

win-acme 是一个为Windows平台设计的工具,用于从Lets Encrypt自动获取和续期SSL/TLS证书,特别适合用于IIS(Internet Information Services)服务器。它的使用相对简单,提供了一个用户友好的命令行界面,以及一…

HUAWEI 华为交换机 配置基于VLAN的MAC地址学习限制接入用户数量 配置示例

组网需求 如 图 2-15 所示,用户网络 1 通过 LSW1 与 Switch 相连, Switch 的接口为 GE0/0/1 。用户网络2通过 LSW2 与 Switch 相连, Switch 的接口为 GE0/0/2 。 GE0/0/1 、 GE0/0/2 同属于 VLAN2。为控制接入用户数,对 VLAN2 进…

解决鸿蒙模拟器卡顿的问题

缘起 最近在学习鸿蒙的时候,发现模拟器非常卡,不要说体验到鸿蒙的丝滑,甚至到严重影响使用的程度。 根据我开发Android的经验和在论坛翻了一圈,最终总结出了以下几个方案。 创建模拟器 1、在DevEco Virtual Device Configurat…

工业锅炉物联网:HiWoo Cloud为工业能源转型注入新动力

随着全球工业化的快速发展,工业锅炉作为工业生产的“心脏”,其能源效率和运行安全性越来越受到关注。然而,传统的工业锅炉管理往往依赖于人工监控和定期维护,这种方式不仅效率低下,而且难以确保设备的持续高效运行。在…

物联网通信协议介绍

为了方便,将物联网通信协议分为两大类,一类是接入协议,一类是通讯协议。接入协议一般负责子网内设备间的组网及通信;通讯协议主要是运行在传统互联网TCP/IP协议之上的设备通讯协议,负责设备通过互联网进行数据交换及通…

PDF Expert for Mac v3.9.2中文激活版下载

PDF Expert for Mac是一款易于使用的 PDF 编辑器和注释器,专为 Mac 设备设计。它允许用户轻松查看、编辑、签名、注释和共享 PDF。该软件使用户能够向他们的 PDF 添加文本、图像、链接和形状,突出显示和标记文本,填写表格以及签署数字文档。它…

WebServer -- 日志系统(下)

目录 🌼整体思路 🎂基础API fputs 可变参数宏 __VA_ARGS__ fflush 🚩流程图与日志类定义 流程图 日志类定义 🌼功能实现 生成日志文件 && 判断写入方式 日志分级与分文件 🌼整体思路 日志系统分两部…

追踪Jira中项目成本与工时,更符合国人使用习惯——TimeWise工时管理

近日,龙智联合Atlassian举办的DevSecOps研讨会年终专场“趋势展望与实战探讨:如何打好DevOps基础、赋能创新”在上海圆满落幕。龙智Atlassian技术与顾问咨询团队,以及清晖、JamaSoftware、CloudBees等生态伙伴的嘉宾发表了主题演讲&#xff0…