如何使用Logstash汇总和分析输入

时间:2018-11-16 18:57:16

标签: logstash

我每15秒就有一些大的日志文件充满了心跳测试结果。 例如,此文件之一是这样的:

2018-07-17 10:14:41.646166    TRACE    Service:Sales.API  Result:OK
2018-07-17 10:14:56.646166    TRACE    Service:Sales.API  Result:OK
2018-07-17 10:15:10.646166    TRACE    Service:Sales.API  Result:K0 >> KO I want to detect the
2018-07-17 10:15:24.646166    TRACE    Service:Sales.API  Result:OK
>> here some messages are missing : that I wan't to detect
2018-07-17 10:18:24.646166    TRACE    Service:Sales.API  Result:OK

出于监视目的,我仅对KO结果感兴趣,并检测心跳ping是否未运行:

我想知道是否存在已知的模式来聚合此输入并在输出时产生如下摘要:

  • file1,用途:“检测KO结果”:

    2018-07-17 10:15:10.646166跟踪服务:Sales.API结果:K0

对于第一个文件,我认为我可以使用过滤器来输出ko消息。

  • file2,用途:“检测到心跳系统无法运行”:

    从到级别服务消息   2018-07-17 10:15:24.646166 2018-07-17 10:18:24.646166跟踪服务:Sales.API HeartBeat错过了

对于第二个文件,我使用了聚合过滤器,但我不知道它是否可以用logstash Jruby代码...

1 个答案:

答案 0 :(得分:0)

找到“ K0”消息将是您所描述的简单模式。

要查找邮件中的空白,请查看elapsed filter plugin。如果配置正确,它应该计算两次事件之间的时间,而这正是您所需要的。