将new_event_on_match
与过滤后的过滤器一起使用时,会创建一个带有新时间戳的新事件。聚合过滤器也会添加一个带有新时间戳的新事件。
我想使用原始事件的时间戳,现在可以在elapsed_timestamp_start
字段中找到。如何在新创建的事件中替换@timestamp
?
我可以在Date
过滤器中使用Elapsed
过滤器吗?
答案 0 :(得分:1)
对于初学者,请注意,只有elapsed
过滤器会创建新事件,aggregate
过滤器不会将所有已汇总的信息推送到最后一个事件中。< / p>
为了提供一些背景信息,您之前提到的问题是this one。
只需在最后一个date
过滤器之后添加elapsed
过滤器即可实现您想要的功能,以便修改上游elapsed
过滤器新创建的事件。另请注意,我们首先需要在尝试匹配日期之前将elapsed_timestamp_start
字段转换为字符串,因为它是Logstash时间戳对象(由elapsed
过滤器创建)
if "elapsed" in [tags] {
mutate {
convert => {"elapsed_timestamp_start" => "string"}
}
date {
match => ["elapsed_timestamp_start", "ISO8601"]
}
}