1 简介

本文根据2017年《Drain: An Online Log Parsing Approach with Fixed Depth Tree》翻译总结的。
从文章标题可以看出来Drain是一个在线实时日志解析方法,其采用的是固定长度的树模型。

一个经典的日志分析方法首先是处理非结构化的初始日志信息,然后应用数据挖掘模型提取系统行为信息。

传统的通过规则解析的方法费时费力,而且日志量越来越大,越难处理。

Drain是自动处理的,在准确率和速度上都有提升,尤其是速度上。Drain将非结构化日志信息转化成结构化的日志信息。

Drain 示例如下:

在这里插入图片描述

2 方法说明

在这里插入图片描述

如上图,Drain解析步骤如下:

  1. 日志预处理,如解析出ip、数字模块等。如图1的“blk [0-9]+”。
  2. 根据日志信息长度搜索,如上图的“Length:4“.
  3. 根据日志前面的单词搜索,如图1 “Receive”. 如果含数字的单词,就用*表示。
  4. 根据单词相似性搜索。是最后一个leaf Node 的处理。比较日志信息和log event的相似,如相似放到同一个log group里。每个log group包括两部分,log event和log IDs。 log event是模板,描述在这个group的日志信息。log IDs记录这个group里的日志信息的IDs。
  5. 更新解析树。如果在第4步有找到合适的log group,那么就将日志中的log id添加到log group中。同时需要的话,也会更新log event。如果没找到合适的log group,就新增一个。

3 实验结果

从下表可以看出来Drain的准确率很好。

在这里插入图片描述

下表说明Drain的速度很好。

在这里插入图片描述

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐