所以我的日志格式看起来像这样的事情
02:00:30> First line of log for date of 2014-08-13
...
04:03:30> Every other line of log
我的问题是:如何从第一行保存日期以创建文件中其他行的时间戳?
有没有办法设置某种"全球"我可以重用其他行的字段吗?
我正在查看历史记录,因此当前时间没有多大用处。
答案 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
}
}
所以在第一行,因为你提取一个日期,它会记住它......因为它不在剩下的行上,所以它会将记忆的日期添加到事件中。