B. 智能运维 — 质量保障 — 异常检测 — 日志分析
概述
- 难点
- 非结构化日志
- 时效性
- 异常类型多
解决方案1
- 日志模板提取
- FT-tree
- 核心思想:系统日志消息中详细信息字段的子类型通常是频繁出现的单词的最长组合。
- 步骤
- 统计词频
- 按照词频,对每条日志的单词重新排序
- 把所有的日志建成一个树,有一个虚拟的根节点
- 对这些树进行裁剪
- 特征树方法
- STE
- LogSimilarity
- FT-tree
- 特征提取
- 特征向量
- 频率特征
- 周期性特征
- 序列特征
- 爆发性特征
- 特征向量
- 故障预测
- 有监督的分类算法
解决方案2 — 基于深度学习
- 检测方法
- 执行路径异常检测。将异常检测问题转换成一个log key的多分类问题,使用LSTM对日志的log key序列建模,自动从正常的日志数据中学习正常的模式并且由此来判断系统异常。同时,LSTM可以增量式地调整模型参数,以便适应随着时间推移而出现的新日志文件。
- 提取日志模板(log key)
- 利用LSTM,判断下一时刻哪几类模板出现的概率的较大,如果出现小概率模板,我们就认为是异常
- 参数和性能异常检测。f有时候系统虽然是按照正常操作步骤执行的,但是记录的日志中的参数是不正常的,比如延迟比正常要大,这种情况也属于异常。
- 保存每个模板的参数,作为异常检测的维度
- 工作流异常检测。虽然工作流模型在异常检测的有效性上不如LSTM模型,但是工作流模型可以可视化地帮助运维工程师在发现异常后找出异常的原因。
- 执行路径异常检测。将异常检测问题转换成一个log key的多分类问题,使用LSTM对日志的log key序列建模,自动从正常的日志数据中学习正常的模式并且由此来判断系统异常。同时,LSTM可以增量式地调整模型参数,以便适应随着时间推移而出现的新日志文件。
解决方案3
- 关键点
- 日志模板提取
- 位置参数
- 时序特征:指数加权移动平均值
- 关联规则:经典的关联分析算法
- 优先级权重
解决方案4
- 关键点
- 日志向量化
- 日志转化为抽象的日志事件
- 去除重复的日志事件
- 日志事件对应的重要性不同,LogCluster相同还将对其进行赋权。LogCluster系统综合了两种算法,分别是文本分析中经典的IDF算法和基于对比的加权算法。
- 我们可以将日志序列转化为N维向量形式(N为日志事件的种类数),每一个元素表示一个日志事件的权值。
- 日志聚类
- 计算两个向量Si和Sj的相似度,余弦相似度,实际中该阈值设置为0.5
- 序列提取
- 在得到聚类结果之后,LogCluster系统对每一个类别选取一个代表序列。改序列是整个簇的最中心点
- 复现比对
- 日志向量化