基于日志时间不规则的异常检测

原文:Application Performance Anomaly Detection with LSTM on Temporal Irregularities in Logs

当前异常检测的方法主要集中在检测日志序列异常,忽略了日志间经过的时间,这是异常检测性能的核心部分。本文提出了一种新的异常检测模型,其性能可通过滑动窗口数据表征从很小的模型捕获时间偏差。

日志是半结构化数据,追踪系统的执行过程。日志包含有价值的检测信息,如时间戳和非结构化的信息。有监督的异常检测是一个二分类方法,需要数据均衡而现实是真实数据集中异常样本的缺失;此外模型仅能检测已知的异常类别,不能检测新异常。

无监督方法趋于简单地检测样本中选择的特征的不同。

新方法聚焦于检测特征性行为的偏差。像半监督的方法,模型的特征行为从非异常数据学习;新输入的数据与模型比较,如果行为特征不符合正常的特征行为则判定为异常。

将日志表征为事件类型序列提出了挑战性的问题。首先创建序列需要新列编号的知识,但这并不总是可行的。二是这种表征放弃了日志间的时限,而日志间的时限是定义性能异常的关键。

性能异常检测聚焦于检测系统或服务降速或无法使用的区间。

日志序列表征不足以表示所需的信息,日志间的已用时间是模型必须的信息,以便检测日志出现的时间异常。基于计量滑动窗口中一段时间事件类型的想法,NoTIL通过捕获日志出现的频率将日志间的时间差考虑进模型。

作为一种创新方法,NoTIL为日志正常行为建模,检测与训练模型冲突为异常。

NoTIL 计量时间窗口的日志类型表征日志,考虑日志间的时间差。

使用 LSTM 网络做预测模型,因为其可以模拟复杂的时间关系。

L 代表日志数据集,发生在连续时限内。E 代表 L 中的事件类型。

对于 L 中的一条日志 l,使用el 代表其事件类型,tl 代表其时间戳。nexte(l) 是 l 的下一条同类型 el 的日志,即发生在日志 l 后的第一条类型 e 的日志。

定义 de(l) 为两条日志间的时间差,假设在此期间的正常值是一个服从未知分布的随机变量 De(l)e,如果真实 de(l) 远大于 De(l)e,则性能异常。

定义窗口大小为 w,临时窗口 Wi,从时间 tW开始到 tW + w 结束。

通过计数向量 Ci表征 Wi,即计算窗口 Wi 中每种事件类型的数量。

像在DeepLog模型中,训练模型预测下一个窗口的任务。定义超参数 h,叫做回看数,以便 h 连续窗口用于预测下一个窗口。由于滑动窗口机制,连续窗口共享相同的常数。

为避免输入和输出间引入偏差,

像图 a 的重叠的方式

使用图 b 的方式预测输出计量向量 Ci。

使用LSTM模型做预测,将 Mi 作为输入,LSTM预测的结果与真实输出 Ci 通过函数计算误差。

通过验证数据学习阈值 τ,可以拆分窗口为正常和异常子集。

一种新方法执行异常检测,在保持时间不变,使用一段时间中事件类型。

NoTIL 可有效检测日志中出现的时间异常,这是异常表现的鲜明特征。

顶端图代表正常模式;中间是含有异常的时间序列在A3 到 B3;底部是标注异常的策略。

Simu_binary 是合成的二分类数据,含有两个时间类型 A 和 B。DAA 和DAB 代表正常的连续日志对应的事件类型的区间。在 A 和B 过渡中注入异常,A3 到 B3 之间的过渡是异常的,

因为 dB(A3) >> DAB。 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值