首页 > 其他分享 >一种全新的日志异常检测评估框架:LightAD

一种全新的日志异常检测评估框架:LightAD

时间:2023-11-21 11:44:36浏览次数:28  
标签:本文 检测 全新 LightAD 方法 日志 异常

本文分享自华为云社区《【AIOps】一种全新的日志异常检测评估框架:LightAD,相关成果已被软工顶会ICSE 2024录用》,作者: DevAI。

深度学习(DL)虽然在日志异常检测中得到了不少应用,但在实际轻量级运维模型选择中,必须仔细考虑异常检测方法与计算成本的关系。具体来说,尽管深度学习方法在日志异常检测方面取得了出色的性能,但它们通常需要更长的时间来进行日志预处理、模型训练和模型推断,从而阻碍了它们在需要快速部署日志异常检测服务的在线分布式云系统中的采用。本文对现有的基于经典机器学习和深度学习方法的日志异常检测方法进行了实证研究,并提出了一种自动化日志异常检测评估框架LightAD。

1. 日志异常检测介绍

日志是AIOps领域需要处理的常见数据,是程序运行过程中由代码打印出的一些非结构化的文本信息,日志通常由时间戳和文本信息组成。日志实时记录了系统的运行状态,包括正常运行状态和故障发生时的状态。因此通过收集和分析日志,可以快速检测和定位出系统中存在的异常。本文研究了深度学习方法在日志异常检测中与更简单技术相比的优越性,在五个公共的日志异常检测数据集上对轻量级传统机器学习方法(如KNN、SLFN)和深度学习方法(如CNN、NeuralLog)进行了全面的评估。本文的研究结果表明,通过合适的数据处理方式,轻量级机器学习方法能够在时间效率和准确性方面都优于深度学习方法。为了评估深度学习方法的必要性,本文提出了一种自动化的日志异常检测模型评估框架LightAD。LightAD是一种基于贝叶斯优化器的优化训练时间、推断时间和性能得分的评估框架。通过自动化超参数调优,LightAD可以实现在日志异常检测模型之间进行公正的比较,使运维工程师能够针对不同的在线异常检测目标来选择合适的异常检测模型。

2. 对现有方法的全面评估

cke_140.png本文主要选用了当前效果最好的深度学习算法(包括CNN/LogRobust/NeuralLog)与常用的轻量级传统机器学习算法(包括KNN/DT/SLFN)在HDFS,BGL,Thunderbird,Spirit,Liberty等五个公开数据集上进行异常检测准确性的比较,图中展示了这些方法在不同指标上的评估结果。从图中可以看出,从F1-Score得分来看,在五个公开的日志异常检测数据集上,轻量级传统机器学习方法都比深度学习方法取得了更好的效果(黑体标出)。

深度学习方法除了本身拥有更多的参数量外,其使用的数据处理方式通常也比较耗时。例如,CNN方法需要使用日志解析工具对日志进行解析,NeuralLog需要用深度语言模型BERT来对日志进行处理。本文对轻量级传统机器学习方法采用了更高效的日志处理方式。具体而言,本文在处理以日志块来聚合的数据集(如HDFS)时,从每个文本日志消息中提取标记,以空格分隔,并删除包含数字的标记。本文使用每个块的ID将日志消息分组成日志序列,并用事件频率对其进行编码。整个预处理工作流程如下图所示。

cke_141.png对于按消息组织的数据集(如BGL、Thunderbird、Spirit和Liberty),本文使用的异常检测方法更加轻便。下图说明了这种方法,本文首先使用与HDFS数据集相同的预处理方式对日志消息进行标记化处理,唯一的区别是,本文不将标记化的日志消息转换为数值向量,而是通过计算Jaccard距离来衡量日志消息之间的距离。

cke_142.png由下图可以看出,本文所使用的处理方法在五个数据集中都只需要最少的执行时间。相比于基于神经网络的表示方法,本文使用的预处理策略运行速度快4倍到12倍;相比于带语义提取的日志解析方法,则快了13.6倍到19.3倍。

cke_143.png除数据处理时间外,在训练时间和推理时间评估中,深度学习方法的效率也有较大程度差于轻量级传统机器学习方法。如下图所示,在HDFS数据集上,KNN方法具有最少的训练时间(例如,比NeuralLog快3,225倍),而DT方法具有最少的推断时间(例如,比NeuralLog快185倍)。对于其他四个数据集而言,轻量级的机器学习方法在训练和推断阶段也都有着显著的效率优势。例如,对于BGL数据集而言,KNN的训练时间比NeuralLog快1,278倍,KNN的推断时间比NeuralLog快23倍。

3. 全新的日志异常检测评估框架:LightAD

为全面综合评估日志异常检测算法,本文提出了基于贝叶斯优化起的自动化算法优化和评估框架LightAD,LightAD结构如下图所示。本文首先准备了一组简单的基准模型及其初始的超参数空间,对于每个模型,本文会自动化的优化模型的超参数。通过综合考虑三个维度的模型收益打分:(1)准确性,(2)每个日志序列的训练时间,以及(3)每个日志序列的推断时间,最终抉择出模型收益分数最高的异常检测算法。cke_144.png

模型收益的多目标优化公式如下:

cke_145.png

下图是在去除重复数据的HDFS数据集上使用LightAD进行异常检测方法优化和评估的结果,最高模型收益的分数由黑色加粗标识。从图中可以看出,LightAD挑选出的模型都是轻量级的机器学习方法。

cke_146.png

4. 总结

本文来自华为云PaaS技术创新Lab和香港中文大学(深圳)贺品嘉助理教授团队合作项目成果产出,相关研究成果已被软件工程领域顶会ICSE 2024(CCF A类)正式录用,文章详细内容即将公开,敬请关注。

文章来自:PaaS技术创新Lab,PaaS技术创新Lab隶属于华为云,致力于综合利用软件分析、数据挖掘、机器学习等技术,为软件研发人员提供下一代智能研发工具服务的核心引擎和智慧大脑。我们将聚焦软件工程领域硬核能力,不断构筑研发利器,持续交付高价值商业特性!加入我们,一起开创研发新“境界”!

PaaS技术创新Lab主页链接:https://www.huaweicloud.com/lab/paas/home.html

 

点击关注,第一时间了解华为云新鲜技术~

 

标签:本文,检测,全新,LightAD,方法,日志,异常
From: https://www.cnblogs.com/huaweiyun/p/17846262.html

相关文章

  • 创建自定义日志筛选器
    Windows的事件查看器中的日志包含了很多信息,但是系统自带的筛选器只能筛选固定的字段和内容。有时候想根据某个事件中的用户名或者IP筛选的时候就没办法了。此时需要创建自定义筛选器来实现。首先找到希望筛选的日志,调整成详细的XML视图。  这里面就有我们需要用到的字段信......
  • 大数据时代,怎样通过日志分析保护我们的数据!
    在今天的大数据时代,大量的数据被生成和存储。对于IT行业来说,日志文件是宝贵的信息财富。通过合理的日志分析和解读,可以帮助企业提高运维效率、加强安全防护、改进产品质量和优化用户体验,本文将深入探讨日志分析在IT中的重要性和应用。 第一部分:日志分析的背景与概念1.日志分......
  • pytest日志配置
    pytest默认输出日志如下: 为了让日志看起来更加舒服,我们可以在pytest.ini文件中增加如下配置#是否开启日志true/falselog_cli=true#过滤日式级别log_cli_level=info#输出信息log_cli_format=%(asctime)s[%(levelname)s]%(message)s(%(filename)s:%(lineno)s......
  • 全新近似注意力机制HyperAttention:对长上下文友好、LLM推理提速50%
    前言 本文介绍了一项近似注意力机制新研究,耶鲁大学、谷歌研究院等机构提出了HyperAttention,使ChatGLM2在32k上下文长度上的推理时间快了50%。本文转载自机器之心仅用于学术分享,若侵权请联系删除欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典......
  • IDEA屏蔽日志/过滤日志
    IDEA屏蔽日志/过滤日志一、安装插件GrepConsole二、设置关键词,过滤日志关键词的前后加上.*符号,类似:.*关键词.*设置后,点击Apply即可过滤日志。......
  • Nginx自定义日志中时间格式
    背景工作需要对接内部的日志中台,对日志打印有固定的格式要求,为了使Nginx的access日志也能被采集,需要对日志格式进行自定义,要求日志格式为:yyyy-MM-ddHH:mm:ss.SSSLOG_LEVELLOG_MSG--->时间格式+打印级别+业务日志如:23-11-1817:34:23.738DEBUGmonitor-7org.apach......
  • 使用 Filebeat+Easysearch+Console 打造日志管理平台
    近年来,日志管理平台越来越流行。使用日志管理平台可以实时地、统一地、方便地管理和查看日志,挖掘日志数据价值,驱动运维、运营,提升服务管理效率。方案架构Beats是轻量级采集器,包括Filebeat、Metricbeat等。Easysearch是个分布式搜索引擎,提供搜集、分析、存储数据等主要功能。Con......
  • 使用 Filebeat+Easysearch+Console 打造日志管理平台
    近年来,日志管理平台越来越流行。使用日志管理平台可以实时地、统一地、方便地管理和查看日志,挖掘日志数据价值,驱动运维、运营,提升服务管理效率。方案架构Beats是轻量级采集器,包括Filebeat、Metricbeat等。Easysearch是个分布式搜索引擎,提供搜集、分析、存储数据等主要功......
  • WPF----日志输出组件
    输出日志需要另外下载日志专用的包比如使用Serilog将日志输出到文件需要下载以下几个包SerilogSplat.SerilogSerilog.Sinks.FileSerilog记录日志-雨水的命运-博客园(cnblogs.com)官网:https://serilog.net/ github:https://github.com/serilog ......
  • 统一日志管理方案:Spring项目logback日志与logstash和Elasticsearch整合
    原创/朱季谦 最近在做一个将分布式系统的日志数据通过logstash传到kafka的功能,做完之后决定业余搭一个ELK日志分析系统,将logstash采集到的日志传给Elasticsearch。经过一番捣鼓,也把这个过程给走通了,于是写了这篇总结,可按照以下步骤搭建logstash采集spring日志数据并传输给Elastics......