新鲜出炉|基于深度学习的运维日志领域新进展
作者:云智慧算法工程师 Hugo Guo
运维日志领域研究方向主要包含异常日志检测、日志模式解析、日志内容分类、日志告警等。本篇文章介绍了热门异常检测模型 DeepLog、A2Log 等模型,以及云智慧自研模型 Translog 等。与此同时,在文章最后介绍了未来基于深度学习的运维日志领域主要研究方向。
日志研究概述
日志任务与数据
日志是运维领域中的必不可少的一种半结构化数据类型,基于此开展的研究任务也多种多样。
日志数据实时处理主要包含以下几方面:
Log Compression:在运行时压缩软件日志。
Log Parsing:从软件日志中自动提取事件模板和关键参数。
Log Mining:提高系统的可靠性,主要关注异常检测。
日志模式解析
海量日志数据之间语义相似性较高,实际需求需要将日志表示化。因此学者期望对日志提取出固定的模版以求代表整个日志数据库。
下方为四个经典的日志模式解析算法:
Drain(基于树结构相似度)
Spell(最长公共子序列)
AEL (常数和变量的发生频率)
IPLoM(迭代分区策略,根据消息长度、令牌位置和映射关系等)
下图为日志模版提取过程,从上到下依次是原始日志,解析后的日志模版。
学术前沿工作分享
DeepLog
DeepLog 是日志深度学习开山之作,采用 LSTM 编码提取好模板的日志并为给定序列中的下一个模板提供了一个具有概率的排序输出,以此进行异常检测。
A2Log
A2Log 采用无监督的方式去寻找正常和异常之间的 boundary,基于 Attention 机制和最新的 Transformer 框架,对正常的日志输出得分根据阈值去判别 boundry。
LogRobust
LogRobust 双向 LSTM+Attention 进行编码分类,对原始日志的模版进行 word vector 的向量化送入模型进行分类。
HitAnomaly
HitAnomaly 是对于日志模版和参数分别采用 Transformer 进行编码。
Logsy
Logsy 测试数据来源于新的系统,同时最后将异常分数加入考虑。
自研模型分享
Translog
Translog 首次考虑多来源、资源不对齐的日志源异常检测。是基于 Transfer learning 和 Transformer 的全新框架 Pretraining 和 Tuning 的学习范式,通过 Translog 消耗可降低为原来的 5%,但是效果达到 SOTA。
Adapter
Adapter 的结构十分简单,像一个适配器为大模型的知识流动进行贯通。
下图右所示的是不同的日志源有着相同的异常问题,为迁移学习提供可能性。
云智慧将 Adapter 在三个公开数据集上进行测试,最终 Adapter 算法都获得了 SOTA。同时 Adapter 的参数量减少了将近百分之 95%
下图左方的试验说明预训练的方式会比直接从头开始训练更快收敛,同时会在较少的 step 下得到更高的 F1 分数。下图右方试验说明不同数据源的预训练的模型会产生不同的效果,发现 BGL 的预训练模型效果更好。
下图试验说明 Translog 在 low-resource 会表现出比正常的更好的结果。说明对于其他分布不均衡的日志源我们的模型也会有一定较好的效果。
Log L G
LogLG 是日志 parsing 和 detection 一体的 end-to-end 框架,以弱监督的方式提取日志 raw 语料中的关键词。与此同时,LogLG 是一种全新的日志模版数据结构,提出了模版图的概念。
Motivation
日志中有些关键词之间的联系模型往往忽略,例如 warning 这个关键词,既存在正常日志中,也存在异常日志。需要建立细粒度的关键词联系。日志的标签获取较难,弱监督或者无监督的方式会更易于用在实际中。以往的日志异常检测对于解析和检测分开,或者没有解析,这都会造成日志信息的冗余或者消失。
Multimodality for AIOps
Multimodality for AIOps 是日志(logs)、调用链(traces)、指标(metres)三者相辅相成构成运维领域的多模态问题。任务设计方面输入为多种模态数据,预测下一个 template(Next Template Prediction)。模型采用 Transformer 架构,embedding 方式采用 bert,最大程度的保存原始多模态信息。
未来研究方向
因日志和运维数据本身的结构特点,预测接下来该领域深度学习研究的痛点和可能发展方向主要为以下三方面:
日志本身的标签获取较难,无监督或者弱监督的深度方法将大量涌现,帮助该领域人员在无标签的数据情况下更好的从事实际研究和落地发展。
日志领域多模态领域的发展,扩充日志本身的原始信息,因此会出现很多的基于自监督的方法和多种模态数据相结合的方向,朝着运维一体化更好的发展。
大规模预训练日志模型被需求,一个学习各种运维知识和日志模式的大模型将在未来充当 AIOps 的研究典范。更好服务下游各种任务。
开源项目推荐
云智慧已开源数据可视化编排平台 FlyFish 。通过配置数据模型为用户提供上百种可视化图形组件,零编码即可实现符合自己业务需求的炫酷可视化大屏。 同时,飞鱼也提供了灵活的拓展能力,支持组件开发、自定义函数与全局事件等配置, 面向复杂需求场景能够保证高效开发与交付。
如果喜欢我们的项目,请不要忘记点击下方代码仓库地址,在 GitHub / Gitee 仓库上点个 Star,我们需要您的鼓励与支持。此外,即刻参与 FlyFish 项目贡献成为 FlyFish Contributor 的同时更有万元现金等你来拿。
GitHub 地址: https://github.com/CloudWise-OpenSource/FlyFish
Gitee 地址: https://gitee.com/CloudWise/fly-fish
版权声明: 本文为 InfoQ 作者【云智慧AIOps社区】的原创文章。
原文链接:【http://xie.infoq.cn/article/51b37d45fef3089d94c9ac7c5】。文章转载请联系作者。
评论