如何基于logstash配置中的时间戳在elasticsearch中索引日志?
我有一个日志文件,并希望根据时间戳(例如gt> 24th oct)将日志索引到elasticsearch。我怎样才能为此配置logstash?由于ignore_older
字段是用于多个文件,因此我无法使用它。如何基于logstash配置中的时间戳在elasticsearch中索引日志?
有几种方法可以完成这样的事情。最简单的方法取决于你的日期如何表示。例如,如果你在文件中的日期是在YYYY-MM-DD格式,你可以做一个字符串比较是这样的:
if ([timestamp] < '2015-01-01') {
drop {}
}
如果不是的话,最好的办法是增加一个新的领域与@timestamp
作为一个字符串。请注意,它将在格林威治标准时间
mutate {
add_field => [ "mydate", "%{@timestamp}"]
}
if ([mydate] < '2015-01-01') {
drop {}
}
mutate {
remove_field => ["mydate"]
}
是的这适用于格式YYYY-MM-dd,但我的日期格式是[Tue Nov 8 11:47:28 2016],所以如何处理字符串格式的日期和过滤日志。 –
使用日期过滤器解析日期,然后使用上面的@timestamp方法 – Alcanzar
你能解释为什么ignore_older不适合你吗?使用路径和排除选项,您可以选择正确的文件 – baudsp
是的,但我只有一个文件,所以想要针对日志中的日期筛选特定文件上的日志。 –