基于LSTM-Transformer的日志异常检测方法及系统技术方案

技术编号:35600446 阅读:25 留言:0更新日期:2022-11-16 15:21
本发明专利技术提供了一种日志异常检测方法及系统,应用于系统的日志异常检测领域。该系统使用Drain、Word2Vec、TF

【技术实现步骤摘要】
基于LSTM

Transformer的日志异常检测方法及系统


[0001]本专利技术涉及计算机
,更具体说是涉及一种基于LSTM

Transformer的日志异常检测方法及系统。

技术介绍

[0002]对于大规模的软件系统,特别是那些部署在云服务器上的软件系统,增强系统的健康状况和稳定性至关重要。外部故障(例如,恶意攻击、节点断开)和内部软件错误(例如,无限循环、不正确的配置)都可能传递到意外的系统中止。所有这些故障都被视为异常现象。云服务器的大规模停止可能会导致下游服务的失败,客户流失,甚至造成巨大的经济损失。日志数据是一种广泛可用的数据资源,它在各种软件系统的运行时记录系统状态和关键事件。开发人员通常利用日志数据来获取系统状态,检测异常情况,并定位根本原因。隐藏的丰富信息为分析系统问题提供了一个很好的视角。因此,通过在大量的日志数据中挖掘日志信息,日志异常检测的方法可以帮助增强系统的运行状况、稳定性和可用性。随着现代计算机系统的规模和复杂性的增加,日志数据呈爆炸式产生。处理如此大量的日志数据是一个关键的挑战。我们迫切需要一个高效的日志处理和检测异常的工具,而不是容易出错和耗时的手工工作。
[0003]对日志进行异常检测工作前需要对日志进行日志解析和特征提取等工作。日志解析已取得了很好的成绩。在本专利技术中,着重讨论特征提取和异常检测的细节。
[0004]现有的检测日志异常的特征提取方法大致可以分为两类:基于日志事件计数的方法和基于日志事件语义信息的方法。基于日志事件计数的方法(如PCA、不变挖掘、SVM、DeepLog)首先将日志事件从日志消息中提取出来,然后转换为消息计数特征空间。这些方法不仅忽略了日志事件发生的顺序而且忽略了日志消息中的语义信息。基于日志事件语义信息的方法(如LogAnomaly、LogRobust)将日志流建模为自然语言序列。这些方法使用词嵌入将日志事件转换成向量,然后基于这些向量训练他们的模型。然而,现有的基于词向量加权聚合的方法都不会关注词序关系,不能保证日志有唯一的表示方式。而且现有的方法仅仅局限于日志事件的语义,可能会错过日志中其他用于异常检测的关键值。为了解决这些问题,进一步改进序列异常检测技术,本专利技术提出了一种新的日志表示方法。这种日志表示不仅能捕获日志中的语义信息和利用日志顺序关系,而且还考虑到日志的组件值。
[0005]深度学习方法在近年迎来了研究与应用的热潮,在各个领域都取得了较好的成绩。同时也为日志异常检测提供了新的方法。基于长短时记忆网络(LSTM)的深度学习模型DeepLog、LogAnomaly、LogRobust。基于Transformer的深度学习模型HitAnomaly。最近的研究表明,在某些任务中LSTM性能优于Transformer,但同时某些任务中Transformer又会取代循环神经网络模型,如LSTM。LSTM和Transformer的性能都可以通过考虑日志的语义信息而得到改善,因此本专利技术考虑将LSTM和Transformer同时在一个网络中相互嵌套,来实现更高的精度。本专利技术以较低的计算成本来解决日志异常检测的不稳定性问题,提高异常检测的准确性和效率。

技术实现思路

[0006]本专利技术目的是提供一种日志异常检测的方法及系统,用于解决根据原始日志数据发现多类型异常,以便及时采取有效的措施进行规避风险,减少系统崩溃次数,保证系统运行安全,用于解决提高日志异常检测的准确性和效率的问题。
[0007]为了解决以上所述问题,本专利技术提出了一种基于LSTM

Transformer的日志异常检测方法及系统,首先使用日志的语义信息、序列关系以及组件值对日志进行向量表示。然后,创新性的使用了一个添加了LSTM的Transformer作为最终的分类模型。通过这种方式,不仅能捕获日志序列中的语义信息和组件值信息,而且还能实现更高精度的异常检测。包括:
[0008]步骤1:对原始的系统日志数据使用Drain进行解析,将半结构化日志转化为日志模板和日志组件参数等。
[0009]步骤2:将解析后的日志按照生成顺序排列在一起构成日志序列向量。
[0010]步骤3:将日志模板内容作为Word2Vec的输入,得到单词向量,结合日志事件序列的TF

IDF,可以得到日志事件序列的特征向量。
[0011]步骤4:根据组件参数序列的TF

IDF,得到日志组件序列的特征向量。
[0012]步骤5:将日志事件序列的特征向量矩阵与日志组件序列的特征向量矩阵进行拼接得到最终的特征向量矩阵。
[0013]步骤6:得到最终的特征向量矩阵之后,基于LSTM

Transformer的日志异常检测方法可以区分正常日志和异常日志。
[0014]可选的,所述步骤2中,若日志原始数据中含有block_id,则将block_id设置为特定执行序列的标志符,将具有相同block_id的分成一组;若不含有block_id,则需要使用滑动窗口将日志进行分割,窗口大小设置为15。
[0015]可选的,所述步骤3中,Word2Vec以单词作为输入,所以需要对日志模板内容进行分段。
[0016]可选的,所述步骤3中,首先输入目标单词的前n个单词和后n个单词的one

hot编码,其次经过隐藏测和softmax层来预测该目标单词,从而构成单词的词向量。所有单词的词向量按照其在日志序列向量中出现的顺序构成一个词向量矩阵。然后对于每个单词,其TF

IDF权重w按TF
×
IDF计算。所有日志序列的TF

IDF权重构成一个词序列向量权重矩阵。最终将词向量矩阵乘以词序列权值矩阵得到日种子序列特征向量。
[0017]可选的,所述步骤4中,首先按照步骤2的方式对日志组件值进行排列,其次使用TF

IDF进行权重的分析,最后构成日志组件序列矩阵。
[0018]可选的,所述步骤6中,LSTM

Transformer的日志异常检测采用LSTM和Transformer对输入的特征矩阵进行建模,检测异常日志。将LSTM模型添加到Transformer的子集中,对于包含LSTM的Transformer,输入特征矩阵先经过LSTM处理,然后在传送到多头注意力机制中。
[0019]可选的,所述步骤6中,首先经过Embedding层的处理,然后将处理好的特征矩阵分别传入LSTM层和PositionalEncoding层。LSTM层的输出矩阵和PositionalEncoding层输出矩阵进行融合发送到MuliheadAttention层。计算过程可概括为:
[0020]emb=Encoder(E)emb=Encoder(E)
[0021]out_l,h=LSTM(emb)out_l,h=LSTM(emb)...

【技术保护点】

【技术特征摘要】
1.一种基于LSTM

Transformer的日志异常检测方法及系统,其特征在于,步骤如下:步骤1:对原始的系统日志数据使用Drain进行解析,将半结构化日志转化为日志模板和日志组件参数等;步骤2:将解析后的日志按照生成顺序排列在一起构成日志序列向量;步骤3:将日志模板内容作为Word2Vec的输入,得到单词向量,结合日志事件序列的TF

IDF,可以得到日志事件序列的特征向量;步骤4:根据组件参数序列的TF

IDF,得到日志组件序列的特征向量;步骤5:将日志事件序列的特征向量矩阵与日志组件序列的特征向量矩阵进行拼接得到最终的特征向量矩阵;步骤6:得到最终的特征向量矩阵之后,LSTM

【专利技术属性】
技术研发人员:李敏孙锰杰韩德隆周鸣乐刘一鸣
申请(专利权)人:齐鲁工业大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1