使用置换事件建模日志级别生成对抗网络用于异常检测

原文:LogGAN: a Log-level Generative Adversarial Network for Anomaly Detection using Permutation Event Modeling

摘要:当前的方法集中于异常检测分析日志的高级别粒度,而不是检测日志级别的异常,减弱了对系统失败对应的异常和诊断的效率。本文提出一种基于使用置换事件建模的系统日志的 LSTM 的生成对抗网络用于异常检测,称为 LogGAN,根据模式检测日志级别的异常。置换事件建模减轻了LSTM中强序列特征,解决了日志迟到引起的顺序错乱问题。生成对抗网络减轻了正常和异常数据间不均衡的影响,改进了异常检测效果。

介绍:一段会话含有很多日志,根据一些规则划分如节点,时段,业务等,这些方法可检测会话级别的异常但是无法定位异常日志。

直到会话中日志到达异常才会被告警,即当异常日志在传输过程中异常不能被检测和有效回应。

系统日志在时间上独立于之前的日志,但由于未知原因的延迟到达的日志没有在系统日志的顺序中。因此挖掘序列信息的技术可能从系统日志顺序外捕获错误模式。同时从一列日志捕获信息的技术忽略了重要的时间特征。这些问题严重限制了系统诊断的有效性和效率。

将异常检测任务作为一个基于模式的序列预测,提出一个基于 LSTM 的生成对抗网络,使用置换事件建模区分基于时间系统日志即将到来的异常事件。

首先使用日志解析器提取结构信息并将每条日志转为事件。来自时间系统日志的事件和对应即将发生的事件的组合使用不同滑窗收集。收集到的模式和事件组合用于构建真实的训练数据集。为减少LSTM的强序列特征,转置事件建模被用于结合转置的序列外模式和原始即将到来的日志事件以扩展真实数据集。

LogGAN由两部分组成,生成器和辨别器。生成器捕获真实训练数据的分布,合成真实数据。(假的训练数据集由正常和异常日志组成);辨别器目标是从数据集中辨别假的样本,数据集是由真实数据和合成数据构建的。完全训练的生成器基于最新的事件被用于检测输入的日志是正常还是异常的。LogGAN探索使用模式训练模型以减轻正负样本数据不均衡的问题。

本文提出使用生成对抗网络用于异常检测的方法,成为LogGAN。流程如下图:

日志解析:将原始日志转为结构化的日志;使用日志模板的方法(是静态的)性能不能令人信服因为来自不同系统的日志组成是混杂的,很难捕捉。可将原始日志解析为单个部分,timestamps,signature和parameters,signature是静态内容代表日志类型,parameters记录动态部分。

对抗学习:生成器捕获真实数据的分布,产生可信的样本,与真实数据的特征相似;判别器辨别输入的样本是真的还是合成的以提高生成器产生的样本的质量。

本文提出一种置换事件建模策略,由两种模型组成,以解决数据不均衡和LSTM的强序列问题。

为解决数据不均衡问题,将传统的基于样本的训练模式转为基于模板训练模式。

使用滑窗划分时间日志,构建独立的训练样本,这种方法有两个问题:异常是极度稀少,模型很难捕获足够的异常模式;本文假设给定序列的置换不会导致异常。异常是十分稀少的,检测到未观测到的异常比观测到过的更重要。扩展的置换模式含有丰富的区分为观测异常的知识。

使用负采样策略避免过拟合的问题。

异常检测:完成LogGAN的训练后,生成器G被用于检测来自系统日志的流事件异常。

1. 历史的和正输入的系统日志通过日志解析器被转为结构化的数据。

2. 生成器的输入有若干one-hot向量组成(代表若干日志模板),生成器产生对应的 m 维度向量表征每个事件发生的概率。

3. 正常事件基于第二步中预先定于的正常概率的阈值生成的 m 维的向量构建。

4. 输入的事件如果与正常事件有交集则认为是正常的,否则事件会被告警为异常。

置换模型(PEM)机制图如下:

对比实验:使用DeepLog与LogGAN比较滑动窗口的长度选择,在DeepLog上,滑动窗口为3是效果最好,而在LogGAN中滑动窗口为2或4是效果最好,这是由不同模型的机制决定的。

结论:为克服诊断日志级异常检测的限制,本文提出了基于序列的生成对抗网络检测系统日志中的异常事件,即LogGAN。

未来改进探索方向:

1. 能够使用辨别器和生成器的输出结合用于检测异常?

2. 本文只用了系统日志的signature和时间信息训练模型,日志中其他特征也可被使用描述异常。

3. 根因分析在异常检测过程中应被考虑。

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值