Deep Log

DeepLog是一种利用深度学习进行日志异常检测的方法,通过对日志序列的学习,检测系统中的异常行为。其主要包括log key异常检测、parameter value异常检测和workflow模型构建。DeepLog通过N-gram模型等方法识别执行路径异常,同时考虑parameter value的变化,以发现性能和参数异常。此外,它构建工作流程模型,帮助识别并发任务和潜在问题。
摘要由CSDN通过智能技术生成

对于deep Log文章的理解

我们先解析出非结构化的,文本性的数据在时间伤的铺陈,但我们可以学习到
一个sequential模型在一个结构化的数据。按照个人的理解,就是打印日志内容和
打印的 k string, 例如 print(‘It took %s seconds to finish this process.’%(time_0 - time_1)).

这些日志打印很大程度上反映了系统的状态。

这里值得注意的是,某些值反映了一个执行序列,譬如说,在HDFS重的block_id或者是在OpenStack重的instance_id.

DeepLog 为每个log entry 存储了大量的参数值,同时,它还存储了两次实践之间的间隔。在这里插入图片描述

2.2 DeepLog 架构和总揽

DeepLog 主要有三部分:

  1. log key anomaly detection model
  2. parameter value anomaly detection model
  3. The workflow model

训练规程

  1. 每一个log都被解析成 一个关键词(代表状态)和 一个参数向量。
  2. 每一个log 关键词的序列都被解析成序列以此来训练一个log key的异常检测模型。
  3. 跟据 2,我们构建系统执行流程模型以服务于诊断的目的。
  4. 对于每一个标量/矢量 log key’s value, 我们同时也训练一个模型来检测异常,这些异常都是由这些KPI指标(value)反映出来的。

检测规程

一个新来的log被马上解析成了 (key, value)pair,DeepLog首先使用 log key的异常监测模型来检查log key是否是正常的。如果是这样,那么DeepLog用parameter value 模型继续检查parameter的value向量。

只要任何一方,无论是value或者key出现异常,新输入的日志条目会被标注为异常。如果是一场。那么deepLog就需要找出语义伤的信息来帮助用户判断如何诊断异常。

2.3 威胁性的模型

DeepLog 学习到一个综合并且微妙的相关性,同时,它学习到了嵌入在一个log 序列中的模式。,通过一个一般的执行路径。我们只允许考虑以下两种威胁。

(1) Attacks that lead to system execution misbehavior and hence anomalous patterns in system logs. For instance, Denial of Service (DoS) attacks which may cause slow execution and hence performance anomalies reflected in the log timestamp differences from the parameter value vector sequence; attacks causing repeated server restarts such as Blind Return Oriented Programming (BROP) attack [5] shown as too many server restart log keys; and any at- tack that may cause task abortion such that the corresponding log sequence ends early and/or exception log entries appear.

(2) Attacks that could leave a trace in system logs due to the logging activities of system monitoring services. An example is suspicious activities logged by an Intrusion Detection System (IDS).

异常检测

3.1 执行路径异常检测

我们首先描述如何log key sequence来做异常检测。因为在源代码中,执行代码的log是有限数量的。所以,我们把他们标注为
K = { k 1 ,   k 2 ,   k 3 } K = \{k_1, \, k_2, \, k_3 \} K={ k1,k2,k3} 是这些不同的log key。 每当 log entries 被解析成 log keys的时候, log keys 反映了一个执行路径。我们标注 m i m_i mi 表示key。它强烈的依赖于上下文。
这个异常检测模型把一个log key的序列问题作分类。我们训练DeepLog在上下文中作为多class分类。输入是一个log keys的历史,输出是probability distribution over n log keys从集合K中来,代表概率下一个state出现 k i ∈ K k_i \in K kiK的可能性。

图表2总结了这个classification setup。 假设t是 下一个log key的sequence id。分类的输入是一个window大小为h的最近的一些log keys。 w = { m t − h , . . . , m t − 2 , m t − 1 } w = \{ m_{t - h}, ..., m_{t-2}, m_{t-1} \} w={ mth,...,mt

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值