理解:log robust 将具有相同特征的模板聚在一起,在HDFS数据中就是具有相同的blk_id的   

           template 放在一起,供模型学习其特征。

现有方法假设日志数据随时间变化是稳定的,且已知不同的日志集。

而实际中日志数据是不稳定的:一是日志语句的变化,二是日志数据的噪声。

android系统异常日志 日志异常检测_android系统异常日志

如上图,新增日志模板随时间不断增加,而未更新过的日志模板再下降。

现有方法将日志序列转换成日志计数向量,建立无监督或有监督的机器学习模型来检测异常。

日志计数向量保存日志序列中每个日志事件的发生。日志计数向量的维数等于不同的已知日志事件的数目。由于日志不稳定的问题,方法的局限性很明显。

首先,不兼容不稳定的日志事件。即使只发生了一个不稳定的日志事件(例如,由进化的日志语句或解析错误引起),也必须更改日志计数向量的维数,并相应地对模型进行重新训练。

其次,日志计数向量只计算日志事件的数量,忽略了嵌入日志序列中的上下文信息,无法识别各种日志事件的不同重要性。

第三,为更新基于日志的异常检测工具,需要持续的模型再培训,对于正在积极开发和维护的大型软件系统,成本是无法接受的。在线更新现有的异常检测工具也不现实。

Log Robust 提取日志事件的语义信息,并表示成向量。利用一个基于注意力的Bi-LSTM模型来检测异常,该模型能够捕获日志序列中的上下文信息,并自动了解不同日志事件的重要性。log robust可识别和处理不稳定的日志事件和序列。

Log Robust 将每个日志转换为固定维的语义向量。语义向量能够捕获嵌入到日志的语义信息。通过语义理解,这种表示方法能够识别和处理由不断发展的日志语句和解析错误产生的新的但类似的日志事件。以语义向量序列为输入,应用基于注意的双向长短时记忆神经网络(Bi- lstm)分类模型对异常进行检测。基于注意力的Bi-LSTM模型能够捕获日志序列中的上下文信息,并自动学习不同日志事件的重要性。

android系统异常日志 日志异常检测_权重_02

如上图,Log Robust的训练和预测过程

日志事件预处理:将日志处理成由token组成的序列,token通常是英文单词,删除无意义的符号, 数字、IP等被泛化,即Drain抽取日志模板的过程。

语义向量化:通过FastText 获取 N * d维(d=300)的矩阵,一行表示一个单词。这个矩阵可以保留句子特性,将相同主干的句子分类到一起。类似Drain或Spell在预测时对未知 template 的处理方式。

基于TF-IDF的聚合:tf-idf表示的是每个单词的权重——重要性。

在使用每个词的 tf-idf 值与对应向量相乘,为不同词赋予不同的权重;再除以template长度作为每条template的语义向量。

android系统异常日志 日志异常检测_android系统异常日志_03

wi:tf-idf值,vi:词向量,V:template向量值

android系统异常日志 日志异常检测_数据_04

 将语义向量输如双向 LSTM 模型做分类

android系统异常日志 日志异常检测_权重_05

htf 和 htb 分别是时间步 t 时的隐藏层正向和方向的输出向量,合并向量:

android系统异常日志 日志异常检测_异常检测_06

不同的日志模板对分类结果有不同的影响,此处可加如 attention 机制将不同模板相关联,这样可以减少日志数据的噪音影响;使用 α 代表日志模型权重,α 值越大其对模型影响越大

android系统异常日志 日志异常检测_android系统异常日志_07

将隐藏层输出及对应的权重求和输入全连接层做输出,使用交叉熵作为损失函数。

android系统异常日志 日志异常检测_android系统异常日志_08

预测时,将输入的一列日志转为日志模板,转为语义向量,再输入模型预测是否为异常日志序列。

注:训练和测试时数据是固定的一段日志模板序列,如其中含有异常日志则标注为异常日志。

对于训练和测试数据增加不稳定性和噪音。

android系统异常日志 日志异常检测_深度学习_09

android系统异常日志 日志异常检测_权重_10

如上图,可删除日志模板中的词汇或增加删除序列中的日志模板。

评估方法:使用 F1 score

Precision = TP / TP + FP

Recall = TP / TP + FN

F1 = 2 * Precision * Recall / Precision + Recall

TP:模型检测为异常的异常日志数量

FP:模型检测为异常的正常日志数量

FN:模型检测为正常的异常日志数量

TN:模型检测为正常的正常日志数量

参考: https://zhuanlan.zhihu.com/p/346223794