想象一下,你是一家庞大而混乱的图书馆的经理,每秒都有数百万本书(日志消息)由不同的作者撰写。你的任务是将这些书分类到整齐的类别中,以便日后查找特定信息。这个过程被称为日志解析。
本文介绍了一个名为CelerLog的新系统,它解决了一个主要问题:如何在保持准确性的同时,快速且低成本地对这些书进行分类。
以下是其工作原理,使用简单的类比说明:
问题:“一刀切”的错误
过去,对这些书进行分类有两种方法:
- 快速机器人(基于语法):这个机器人速度极快。它观察单词的形状,并根据模式进行分类。然而,它有点笨。如果一本书包含奇怪、复杂的句子,机器人就会感到困惑并犯错。
- 睿智的教授(基于大语言模型 LLM):这是一位超级智能的 AI 教授。它能理解任何句子的含义,无论多么复杂。它从不出错。但有一个陷阱:这位教授速度慢,雇佣成本高,而且容易疲劳。如果你让教授阅读图书馆里的每一本书,那将耗时极长且费用惊人。
洞察:并非每本书都需要教授
论文作者在观察图书馆时发现了一些有趣的现象。
- 98% 的书非常重复。它们说的都是同一件事,只是数字或名称不同(例如,“用户 John 登录”、“用户 Mary 登录”、“用户 Bob 登录”)。这些是稠密组。
- 只有 2% 的书是独特的、奇怪的或一次性的事件,不遵循任何模式。这些是稀疏组。
作者意识到:为什么要雇佣昂贵且缓慢的教授去阅读那 98% 只是重复的书呢? 快速机器人可以轻松处理这些。教授只应被召来处理那罕见的、令人困惑的 2%。
解决方案:CelerLog(智能交通警)
CelerLog 就像图书馆入口处的动态交通警。它使用“动态路由”系统来决定每本书的去向:
登记(路由):当书籍到达时,交通警快速扫描它们。
- 如果一本书看起来属于一个庞大、重复的人群(稠密组),警员将其挥手送入**“快速通道”**。
- 如果一本书看起来独特、孤立或奇怪(稀疏组),警员将其送往**“慢速通道”**去见睿智的教授。
快速通道(统计处理器):
- 在这里,一个简单、超快的统计工具开始工作。它观察这群重复的书,说道:“好吧,这里每个人都说了‘登录’,除了末尾的名字。让我们把名字替换成空白。”
- 结果:瞬间完成且免费。
慢速通道(LLM 处理器):
- 在这里,睿智的教授(AI)终于开始工作。但由于交通警过滤掉了无聊的内容,教授只需阅读总数的一小部分。
- 结果:教授保持高效,成本保持低位,复杂的书籍得到完美分类。
结果:双赢
论文在 14 个不同的“图书馆”(数据集)上测试了该系统,发现 CelerLog 是一个游戏规则改变者:
- 速度:与全程使用教授相比,它快了8 到 18 倍。在某些情况下,它甚至比旧的快速机器人快1.5 倍,因为旧机器人试图过于聪明而失败。
- 成本:它节省了巨额资金。它使用的**“令牌”(支付给 AI 的货币)减少了 80% 到 94%,调用教授的频率降低了86% 到 90%**。
- 准确性:尽管速度更快,但其准确性实际上高于旧方法。它不会遗漏快速机器人过去遗漏的复杂细节,也不会犯教授在不堪重负时偶尔会犯的错误。
总结
CelerLog 就像一个智能过滤器。它意识到大部分数据都是无聊且重复的,因此用廉价、快速的工具处理这部分。它只为罕见、困难的案例保留昂贵、智能的 AI。这样,你便获得了两全其美的效果:机器人的速度和教授的脑力,却无需支付双倍的代价。
技术摘要:CelerLog:通过动态路由实现快速日志解析
问题陈述
日志解析是自动化系统分析的先决条件,它将原始的、半结构化的日志消息转换为包含静态模板和动态参数的结构化格式。虽然基于语法的解析器(如 Drain)具有高效率,但它们通常缺乏处理复杂或演变日志模式所需的语义推理能力,导致准确率较低。相反,新兴的基于大语言模型(LLM)的语义解析器通过利用自然语言理解实现了卓越的准确率,但 suffers 于过高的延迟和财务成本。这些成本源于一个根本的设计缺陷:无论是否需要此类复杂性,都对每一条日志消息应用繁重的语义推理。现有的优化策略(如缓存或采样)未能解决根本原因:无法区分需要语义推理的日志与那些可以通过简单统计分析解决的日志。
方法论
作者提出了CelerLog,这是一种混合日志解析器,它根据日志的统计特征动态地将日志路由到最合适的处理引擎。核心洞察在于:绝大多数日志表现出具有可变参数的重复模式(稠密组),可以通过统计分析进行解析;而只有少数日志缺乏此类模式(稀疏组),需要基于 LLM 的语义推理。
CelerLog 由三个主要组件组成:
1. 动态路由器
路由器充当流量控制器,通过两阶段过程将传入日志分类为稠密组和稀疏组:
- 两阶段分组:
- 基于掩码骨架的分组: 对原始日志进行预处理,将可变令牌(数字、字符串等)掩码为指定的占位符(例如
<NUM>、<UCL>),生成“掩码骨架”。具有相同骨架的日志被归为一组。
- 基于长度的分组: 这些骨架组根据其令牌长度进一步聚合成“桶”,因为来自同一模板的日志通常具有相同的长度。
- 基于锚点的合并: 在每个桶内,路由器识别“锚”组(具有最多唯一日志计数的组)。然后,计算锚点与其他组之间的位置感知 Jaccard 相似度。
- 从“单例比率曲线”推导出动态相似度阈值,以确定合并的最佳截止点,防止过度合并同时捕获有效模式。
- 轻量级的动词检查确保语义一致性(例如,确保核心动作动词共享)。
- 成功与锚点合并的组被分类为稠密日志组。未合并的组被分类为稀疏日志组。
2. 统计处理器(快速通道)
稠密日志组被路由到此高效模块。它不调用 LLM,而是执行直接的统计分析:
- 它对齐组内的日志,并分析每个令牌位置的值分布。
- 包含多个不同值的位置被识别为参数,并用通配符掩码(例如
<*>)。
- 具有单一值的位置被保留为静态模板部分。
- 此过程以最小的计算开销和零 LLM 幻觉风险生成最终模板和参数。
3. 基于 LLM 的处理器(慢速通道)
缺乏足够统计信号的稀疏日志组被路由到 LLM。
- 任务设计: 为了最小化幻觉和成本,LLM 不被要求生成完整模板。相反,系统提示其执行变量识别,返回日志中发现的确切变量字符串列表。
- 验证: 系统在掩码变量以生成最终模板之前,验证识别出的变量是否存在于原始日志中。如果 LLM 失败或产生无效输出,系统将回退到原始日志以防止错误。
- 并行性: 为了处理可扩展性,CelerLog 在路由阶段采用数据并行性(跨 CPU 核心处理桶),在 LLM 阶段采用异步 I/O(批量请求)。
主要贡献
- 对日志分布的洞察: 作者指出,现有基于 LLM 的解析器的瓶颈在于语义推理的均匀应用。他们证明,大多数日志具有足够的重复统计模式,无需 LLM 即可进行解析。
- 稠密与稀疏分类: 论文正式定义了稠密日志组(统计变化丰富)和稀疏日志组(静态或孤立),并提出了一种利用这种区别的混合策略。
- CelerLog 框架: 引入了一种动态路由机制,将日志导向快速统计处理器或基于 LLM 的处理器,从而最大化效率和效果。
- 综合评估: 在 14 个公共数据集上的广泛实验表明,CelerLog 在准确率方面优于最先进基线,同时大幅降低了时间和成本。
实验结果
在 14 个公共数据集(包括 Apache、HPC、OpenSSH 和 Zookeeper)上的评估表明,CelerLog 在准确率方面显著优于基于语法(Drain、AEL、Brain)和基于 LLM(LILAC、LogBatcher、LUNAR)的基线:
- 有效性: CelerLog 实现了平均分组准确率 (GA) 为 0.927 和解析准确率 (PA) 为 0.875,在 PA 方面显著优于最佳基于 LLM 的基线(LogBatcher)(0.875 对比 0.786)。
- 效率:
- CelerLog 比基于 LLM 的方法快7.9 倍至 18.6 倍。
- 值得注意的是,CelerLog 的并行版本比广泛采用的基于语法的解析器 Drain 快1.5 倍。
- 成本降低:
- 令牌消耗: 与 LLM 方法相比减少了80.2%–94.1%(例如,从 LUNAR 的约 20.7 万令牌减少到 CelerLog 的约 1.2 万令牌)。
- LLM 调用次数: 减少了86.4%–90.9%(例如,从 LUNAR 的约 370 次调用减少到 CelerLog 的约 34 次)。
- 鲁棒性: 消融研究证实,移除路由器或统计处理器会严重降低性能或增加成本。敏感性分析显示,CelerLog 对超参数设置(相似度阈值和 top-k 选择)具有鲁棒性。此外,该系统在各种骨干 LLM(从大型模型 Gemini-3-pro 到较小模型 Qwen3-8b)之间保持了稳定的性能。
意义
论文声称,CelerLog 为日志解析建立了一个新的帕累托前沿,提供了一种同时具备高准确率和成本效益的解决方案。通过认识到并非所有日志都需要复杂的语义理解,CelerLog 弥合了基于语法的解析器的速度与语义解析器的准确率之间的差距。作者将这项工作定位为现实世界大规模日志分析的实际推动者,因为当前基于 LLM 的方法的高昂成本此前限制了它们的部署。这种混合方法确保昂贵的 LLM 资源仅保留给真正需要它们的日志,从而使自动化日志分析具有可扩展性和经济可行性。
每周获取最佳 computer science 论文。
受到斯坦福、剑桥和法国科学院研究人员的信赖。
请查收邮箱确认订阅。
出了点问题,再试一次?
无垃圾邮件,随时退订。