Logstash:如何保存日志中较早的条目,以便日志后面的多行使用?

时间:2014-08-19 13:42:24

标签: logstash

所以我的日志格式看起来像这样的事情

02:00:30> First line of log for date of 2014-08-13
...
04:03:30> Every other line of log

我的问题是:如何从第一行保存日期以创建文件中其他行的时间戳?

有没有办法设置某种"全球"我可以重用其他行的字段吗?

我正在查看历史记录,因此当前时间没有多大用处。

1 个答案:

答案 0 :(得分:3)

我发布了一个memorize过滤器,您可以使用它来执行此操作。它被发布here

您可以这样使用它:

filter {
   if [message] =~ /date of/ {
      grok {
        match => [ "message", "date of (?<date>\d\d\d\d-\d\d-\d\d)" ]
      }
   } else {
      // parse your log with grok or some other method that doesn't capture date
   }
   memorize {
       field => date
   }
}

所以在第一行,因为你提取一个日期,它会记住它......因为它不在剩下的行上,所以它会将记忆的日期添加到事件中。