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 在异常检测任务中也表现出了良好的效果。

相关推荐
张较瘦_13 小时前
[论文阅读] 人工智能+项目管理 | 当 PMBOK 遇见 AI:传统项目管理框架的破局之路
论文阅读·人工智能
张较瘦_14 小时前
[论文阅读] 人工智能 | 大语言模型计划生成的新范式:基于过程挖掘的技能学习
论文阅读·人工智能·语言模型
0x21118 小时前
[论文阅读]TrustRAG: Enhancing Robustness and Trustworthiness in RAG
论文阅读
要努力啊啊啊1 天前
强化学习基础概念图文版笔记
论文阅读·人工智能·笔记·深度学习·语言模型·自然语言处理
二进制的Liao1 天前
【数据分析】什么是鲁棒性?
运维·论文阅读·算法·数学建模·性能优化·线性回归·负载均衡
Jamence1 天前
多模态大语言模型arxiv论文略读(108)
论文阅读·人工智能·语言模型·自然语言处理·论文笔记
张较瘦_2 天前
[论文阅读] 人工智能 | 用大语言模型解决软件元数据“身份谜题”:科研软件的“认脸”新方案
论文阅读·人工智能·语言模型
Jamence2 天前
多模态大语言模型arxiv论文略读(106)
论文阅读·人工智能·语言模型·自然语言处理·论文笔记
崔高杰2 天前
To be or Not to be, That‘s a Token——论文阅读笔记——Beyond the 80/20 Rule和R2R
论文阅读·笔记
张较瘦_2 天前
[论文阅读] 人工智能+软件工程 | 用大模型优化软件性能
论文阅读·人工智能·软件工程