摘要

针对大规模软件系统自动化异常检测任务中异常样本过少且异常反馈不及时的问题,提出一种基于生成对抗网络(GAN)与注意力机制的日志级异常检测算法。首先,通过日志模板将非结构化的日志转化为结构化的事件,每一个事件包含了日志的时间戳、签名与变量。其次,以滑动窗口的方式划分解析的事件序列,将产生的事件模式与下一时刻的事件组成真实的数据样本集。然后,将真实的事件模式作为训练样本输入来训练基于注意力机制的生成对抗网络,通过对抗学习的机制训练基于循环神经网络(RNN)的生成器直至收敛。最后,生成器通过输入的流式事件模式生成在新到来的事件模式下的正常与异常事件分布,并在系统管理员设置阈值的情况下,自动判断下一时刻的特定日志为正常事件或是异常事件。实验结果表明,提出的以门控循环单元网络为注意力权重并且用长短时记忆(LSTM)网络来解析事件模式的异常检测算法,比仅使用门控循环单元网络时的算法精准率提高了21.7%;此外,与日志级异常检测算法LogGAN相比,所提算法比LogGAN的异常检测精准率提升了7.8%。