Drain: An Online Log Parsing Approach with Fixed Depth Tree

Drain论文概述

Drain: An Online Log Parsing Approach with Fixed Depth Tree

摘要

论文提出了一种名为 Drain 的在线日志解析方法,旨在解决由于日志量快速增长而导致的离线日志解析方法的效率问题。Drain 通过使用固定深度的解析树,并在树节点中编码特殊设计的规则,实现了日志的流式解析,并大大提高了解析效率和准确性。

介绍

现代云计算和服务导向架构(SOA)的普及使得日志分析在服务管理中变得至关重要。日志通常是唯一记录系统运行时信息的数据资源,然而,原始日志信息是非结构化的,需要解析成结构化事件以便进一步分析。现有大多数日志解析方法集中于离线批处理,而随着日志量的增加,这种方法变得越来越耗时。

方法

Drain 提出了一个固定深度的解析树,用于在线解析日志信息。具体步骤包括:

  • 预处理:使用简单的正则表达式去除日志信息中的常见变量。
  • 通过日志长度搜索:根据日志信息的长度选择解析树的路径。
  • 通过前缀搜索:根据日志信息的前几个标记选择下一层节点。
  • 相似性搜索:计算日志信息与日志事件模板的相似性,并选择最适合的日志组。
  • 更新解析树:如果找到合适的日志组,则更新其信息;如果没有,则创建新的日志组并更新解析树。

实验

日志数据集:

  • BGL:来自 BlueGene/L 超级计算机系统的日志数据集。
  • HPC:高性能计算集群日志。
  • HDFS:在 Amazon EC2 平台上的 203 节点集群中收集的 Hadoop 文件系统日志。
  • Zookeeper:从实验室的 32 节点集群中收集的分布式系统协调日志。
  • Proxifier:独立软件 Proxifier 的日志。

比较方法:

  • LKE:一种离线日志解析方法,使用层次聚类和启发式规则。
  • IPLoM:离线方法,通过三步层次分割生成模板。
  • SHISO:在线解析器,使用预定义子节点数的树结构。
  • Spell:在线解析方法,利用最长公共子序列加速解析过程。

评估指标:

  • 准确性:使用 F1-score 评价解析方法的准确性。
  • 效率:测量解析方法的运行时间。
准确性:

Drain 在四个数据集(BGL、HPC、HDFS、Zookeeper)上表现出最高的准确性,并且在 Proxifier 数据集上也表现出与最佳方法相当的准确性。其他方法的准确性结果如表格所示:

Data Set LKE IPLoM SHISO Spell Drain
BGL 0.67 0.99 0.87 0.98 0.99
HPC 0.17 0.65 0.53 0.82 0.84
HDFS 0.57 0.99 0.93 0.87 0.99
Zookeeper 0.78 0.99 0.68 0.99 0.99
Proxifier 0.85 0.85 0.85 0.87 0.86
效率:

Drain 在所有五个数据集上所需的运行时间最少,显著优于其他在线解析方法。运行时间结果如表格所示:

Dataset LKE IPLoM SHISO Spell Drain Improvement (%)
BGL N/A 140.57 10964.55 447.14 115.96 74.07%
HPC N/A 12.74 582.14 47.28 8.76 81.47%
HDFS N/A 333.03 6649.23 676.45 325.7 51.85%
Zookeeper N/A 2.17 87.61 5.27 1.81 65.65%
Proxifier 8888.49 0.38 8.41 0.87 0.27 68.97%

案例研究:实际异常检测任务

数据集:HDFS 日志数据集,用于异常检测任务。

流程:
  1. 日志解析:使用不同日志解析方法解析 HDFS 日志。
  2. 事件计数矩阵生成:将结构化日志信息转换为事件计数矩阵。
  3. PCA 异常检测:使用 PCA 进行异常检测。
结果:

Drain 在异常检测任务中表现优异,检测到 10720 个真实异常,仅有 278 个误报,几乎达到最优性能。结果如表格所示:

方法 解析准确性 报告异常 检测到的异常 误报
IPLoM 0.99 10998 10720 278
SHISO 0.93 13050 11143 1907
Spell 0.87 10949 10674 275
Drain 0.99 10998 10720 278
Ground truth 1.00 11473 11195 278

评价

论文在五个实际日志数据集上评估了 Drain 的性能,包括 BlueGene/L、HPC、HDFS、Zookeeper 和 Proxifier 数据集。实验结果显示,Drain 在四个数据集上表现出最高的准确性,在运行时间上相较于最先进的在线解析器提高了 51.85% 到 81.47%。

结论

Drain 是一种有效的在线日志解析方法,在准确性和效率上均优于现有的在线和离线日志解析方法。通过在实际应用中的评估,Drain 在异常检测任务中也表现出了良好的效果。

相关推荐
有Li2 天前
关注与优化:用于骨龄评估的交互式关键点定位与颈椎定量分析|文献速递-深度学习人工智能医疗图像
论文阅读·医学生
AustinCyy2 天前
【论文笔记】DOC: Improving Long Story Coherence With Detailed Outline Control
论文阅读·nlp
weixin_443290693 天前
【论文阅读-Part1】PIKE-RAG: sPecIalized KnowledgE and Rationale Augmented Generation
大数据·论文阅读
岚天start4 天前
K8S中,kubectl cordon、uncordon、drain、taint的区别
云原生·容器·kubernetes·cordon·uncordon·taint·drain
不解风水5 天前
【论文阅读】一种基于经典机器学习的肌电下肢意图检测方法,用于人机交互系统
论文阅读·人机交互
爱补鱼的猫猫5 天前
17、CryptoMamba论文笔记
论文阅读
大熊背5 天前
《Fast Automatic White Balancing Method by Color Histogram Stretching》论文笔记
论文阅读·白平衡
CV-杨帆6 天前
论文阅读 arxiv 2024 MemGPT: Towards LLMs as Operating Systems
论文阅读
AAA锅包肉批发6 天前
论文阅读:Aircraft Trajectory Prediction Model Based on Improved GRU Structure
论文阅读·深度学习·gru
星夜Zn6 天前
Nature论文-预测和捕捉人类认知的基础模型-用大模型模拟人类认知
论文阅读·人工智能·大语言模型·nature·认知建模·统一认知模型