探索日志的奥秘 - 日志归纳汇总

本文探讨了日志归纳汇总的重要性,介绍了SaaS公司SumoLogic的LogReduce技术,该技术能将大量日志归纳为模式,提高问题识别效率。作者还分享了一个开源的日志归纳工具,其原理是对日志进行模版匹配和计数,实现类似LogReduce的功能,读者可以通过提供的示例数据快速上手实践。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

日志归纳汇总 - 工具篇

背景

上一篇文章中,我们谈到了日志模版,以及一个可以帮助我们自动获得日志模版的工具。在这篇文章里,我们介绍下利用模版可以进行的一种最直接的分析:日志的归纳汇总

研究过日志分析相关生态的人一定对SumoLogic不会陌生。这家提供日志管理与分析的SaaS公司的杀手锏之一就是LogReduce。对于这个功能的官方介绍如下:

The patent-pending LogReduce™ technology reduces hundreds of thousands of log events into groups of patterns. By filtering out the noise in your data, LogReduce can help reduce the Mean Time to Identification of issues by 50% or more.

也就是说,这个技术能把成千上万的日志归纳汇总成为按模式划分的组,通过对汇总后信息的查阅,管理员能够节省大量时间。

LogReduce截图

从这张图里我们可以看到,用户点击LogReduce按钮后,** [error] mod_log_sql: database connection error:…被识别成为一个模式,匹配该模式的有5052条日志。值得注意的是,这个功能还是patent-pending的哦。相信您应该已经想到,这里所谓的模式(pattern)其实就是我们提到的模版。结合我们的日志模版挖掘工具,其实可以轻松实现类LogReduce的功能。

工具

同样,我开发了一个日志归纳汇总的工具,并给出了它的开源实现。其实这个工具的原理很简单,就是对日志进行模版匹配,将匹配的结果进行计数和变量统计。在项目的sample文件加中,我们给出了示例的匹配结果, 如

   {
        "count": 128,
        "id": "0005000001",
        "template": "GET cgi-bin mailgraph.cgi (.*) HTTP 1.1",
        "tokens": {
            "mailgraph_0.png": 16,
            "mailgraph_0_err.png": 16,
            "mailgraph_1.png": 16,
            "mailgraph_1_err.png": 16,
            "mailgraph_2.png": 16,
            "mailgraph_2_err.png": 16,
            "mailgraph_3.png": 16,
            "mailgraph_3_err.png": 16
        }
    }

解释一下,对于模版GET cgi-bin mailgraph.cgi (.*) HTTP 1.1,在日志样本中一共有128次匹配,其中可能的变量有8种,每种都出现了16次。 这不就是LogReduce提供的功能么,原来也没那么神秘啊。 ;-)

对于这个工具的具体使用请参看项目的README.md,在这里就不多说了。 同样,利用sample文件夹中的数据,您可以立即上手实现LogReduce。

工具的GitHub链接:https://github.com/cameling/logminer/tree/master/LogReduce

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值