数据集:BGL和Spirit
数据集相关地址:
https://github.com/LogIntelligence/LogADEmpirical/tree/dev
https://zenodo.org/record/8115559.
https://github.com/logpai/loghub
https://github.com/logpai/logparser
对比试验用到了:
DeepLog DeepLog: Anomaly Detection and Diagnosis from System Logs through Deep Learning
LogAnomaly LogAnomaly: Unsupervised Detection of Sequential and Quantitative Anomalies in Unstructured Logs
LogRobust Robust log-based anomaly detection on unstable log dataDeepLog、LogAnomaly、LogRobust的代码如下:
代码地址:https://github.com/LogIntelligence/LogADEmpirical/tree/master
其他组件相关代码地址:
日志解析Drain:https://github.com/logpai/logparser/blob/main/logparser/Drain/README.md
说明:论文THREATRACE: Detecting and Tracing Host-Based Threats in Node Level Through Provenance Graph Learning也和DeepLog、LogRobust进行了对比。
摘要:软件密集型系统产生的日志数据量不断增加,使得手动分析这些数据变得不切实际。已经提出了许多基于深度学习的方法用于基于日志的异常检测。这些方法面临着高维和噪声日志数据、类不平衡、泛化和模型可解释性等挑战。最近,ChatGPT在各个领域都显示出了有希望的结果。然而,关于ChatGPT在基于日志的异常检测中的应用,目前还缺乏研究。在这项工作中,我们提出了LogGPT,一个基于ChatGPT的基于日志的异常检测框架。通过利用ChatGPT的语言解释能力,LogGPT旨在探索知识从大规模语料库到基于日志的异常检测的可转移性。我们在BGL和Spirit数据集上进行了实验来评估LogGPT的性能,并将其与三种基于深度学习的方法进行了比较。LogGPT显示出有希望的结果,并且具有良好的可解释性。这项研究为基于日志的异常检测任务提供了对基于提示的模型(如ChatGPT)的初步见解。
总体上分为三个部分,分别是日志预处理、提示词构建、响应解析
此步骤是从原始日志中提取结构化信息。我们采用了最先进的日志解析方法(Drain)来提取结构化数据,包括ID、时间戳、内容和事件模板。之后,使用固定大小的时间窗口将原始日志和解析后的日志分组为不同的块,该时间窗口生成三种类型的序列:原始序列、内容序列和事件序列。此步骤的示例如图3所示。
prompt template由:task description, format statement, human knowledge injection, input sequence构成。
ChatGPT的反应具有多样性。此外,需要注意的是,ChatGPT的输出token对每个请求都有最大长度限制。一旦超过限制,响应将终止,并返回当前输出。为了确保响应的可解析性,我们设计了这个组件来将响应的文本解析为几个预定义的部分。对于每个响应,我们格式化并检查响应文本。如果满足预定义的格式,则直接解析文本。否则,我们使用ChatGPT重新格式化文本,使其满足要求。
主要回答如下问题来进行评估:
RQ1:LogGPT在不同prompt下性能如何?
RQ2:LogGPT在不同的窗口大小下性能如何?
RQ3:人类知识注入如何影响LogGPT的性能?
RQ4:与基于深度学习的方法相比,LogGPT的性能如何?
RQ5:LogGPT检测到的异常有多大的可解释性?
感觉RQ1-RQ3主要是比较不同的prompt、windows size、human knowledge injection对loggpt/chatgpt的影响,RQ4比较了LogGPT的性能,但是感觉性能非常不好呀,如下图:
RQ5:可解释性如何,下图展示了chatgpt的可解释性响应
response列展示了chatgpt对异常的判断和reports的输出。
缺点:读完这篇文章,并不知道他解决了什么问题,创新点在哪里,效果也不好。
优点:学习到了chatgpt应用到某个领域时如何写论文,论文结构如何编排。
1、阅读论文:
Log-based Anomaly Detection with Deep Learning: How Far Are We? (ICSE 2022, Technical Track)
ICSE 是CCF-A (软件工程/系统软件/程序设计语言方向)
并且复现代码:
https://github.com/LogIntelligence/LogADEmpirical/tree/dev
2、阅读论文
DeepLog: Anomaly Detection and Diagnosis from System Logs through Deep Learning
并且复现代码:
https://github.com/LogIntelligence/LogADEmpirical/tree/dev
https://github.com/wuyifan18/DeepLog
3、阅读论文
LogRobust Robust log-based anomaly detection on unstable log data
并且复现代码:
https://github.com/LogIntelligence/LogADEmpirical/tree/dev
https://github.com/donglee-afar/logdeep/tree/master