您的位置:首页 > 其它

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

2015-12-15 22:01 423 查看

日志归纳汇总 - 工具篇

背景

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

研究过日志分析相关生态的人一定对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按钮后,** [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
}

4000
}


解释一下,对于模版
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  saas