1、大模型驱动的自动化日志分析贺品嘉香港中文大学(深圳)数据科学学院目 录CONTENTS1.传统日志分析:发展概述2.传统日志分析:局限与挑战3.大模型驱动的日志分析:技术路线4.大模型驱动的日志分析:近期工作5.大模型驱动的日志分析:总结与展望传统日志分析:发展概述PART 01日志分析1.如何记录高质量的规范日志?2.如何管理和保存大量日志?3.如何从日志中提取重要信息?4.如何利用日志中挖掘到的信息?为探究并解决这些问题,自动化日志分析应运而生。日志分析!#$!%&!(!)*通常认为义的动化志分析由如上四个阶段组成,以解决海量志场景下,志的成、收集、管理、利等问题。日志分析日志分析!#$关
2、注两种与错误相关的代码段:Exception snippets:try-catch blocks Return-value-check snippets:function-return errorstry method();catch(IOException)log();var res=method();if(res=null)log();例子 1例子 2日志分析!(解析前Log Parsing解析后2008-11-11 03:41:48 Received block blk_90 src:/10.251.30.6 dest:/10.251.30.6:of size 67108864blk_9
3、0 -Received block *src:*dest:*of size *日志分析!)*异常正常传统日志分析:局限与挑战PART 02传统日志分析的挑战:日志记录1.难以端到端地完成志记录任务日志记录的每个细分任务之间差异很,例如:-日志等级的预测可以建模为个多分类问题;-日志消息的预测可以建模为个本成问题;-日志语句的位置的预测则有多种问题建模式。因此,传统日志记录法通常局限于单个任务,难以实现统的端到端日志记录。1|public void processDisconnect(Channel client)2|String clientID=NettyAttrManager.getAtt
4、rClientId(client);3|cleanWillMessage(clientID);4|client.flush();5|client.close().addListener(CLOSE);6|任务#1:在合适的位置处插志语句:Line#4 1|public void processDisconnect(Channel client)2|String clientID=NettyAttrManager.getAttrClientId(client);3|cleanWillMessage(clientID);4|LOG.info(Disconnect successful,client
5、ID:,clientID);5|client.flush();6|client.close().addListener(CLOSE);7|任务#2:设置合适的志等级:LOG.Info()任务#3:记录合适的志消息:Disconnect successful,clientID:传统日志分析的挑战:日志记录1|public void processDisconnect(Channel client)2|String clientID=NettyAttrManager.getAttrClientId(client);3|cleanWillMessage(clientID);4|client.flus
6、h();5|client.close().addListener(CLOSE);6|任务#1:在合适的位置处插志语句:Line#4 1|public void processDisconnect(Channel client)2|String clientID=NettyAttrManager.getAttrClientId(client);3|cleanWillMessage(clientID);4|LOG.info(Disconnect successful,clientID:,clientID);5|client.flush();6|client.close().addListener(