更改由 Elapsed 或 Aggregate 过滤器创建的事件的日期
Change date on event created by Elapsed or Aggregate filters
将 new_event_on_match
与经过的过滤器一起使用时,会创建一个带有新时间戳的新事件。聚合过滤器也添加了一个带有新时间戳的新事件。
我想使用原始事件的时间戳,现在字段 elapsed_timestamp_start
中可用。如何替换新创建的事件中的 @timestamp
?
我可以在 Elapsed
过滤器中使用 Date
过滤器吗?
对于初学者,请注意只有 elapsed
过滤器会创建一个新事件,aggregate
过滤器不会创建新事件,并且会将到目前为止已聚合的任何信息推送到最后一个事件中。
为了提供一些背景信息,您提到的上一个问题是 。
你可以实现你想要的,只需在最后一个elapsed
过滤器之后添加一个date
过滤器,从而修改上游elapsed
过滤器新创建的事件.另请注意,在尝试匹配日期之前,我们首先需要将 elapsed_timestamp_start
字段转换为字符串,因为它是一个 Logstash 时间戳对象(由 elapsed
过滤器创建)
if "elapsed" in [tags] {
mutate {
convert => {"elapsed_timestamp_start" => "string"}
}
date {
match => ["elapsed_timestamp_start", "ISO8601"]
}
}
将 new_event_on_match
与经过的过滤器一起使用时,会创建一个带有新时间戳的新事件。聚合过滤器也添加了一个带有新时间戳的新事件。
我想使用原始事件的时间戳,现在字段 elapsed_timestamp_start
中可用。如何替换新创建的事件中的 @timestamp
?
我可以在 Elapsed
过滤器中使用 Date
过滤器吗?
对于初学者,请注意只有 elapsed
过滤器会创建一个新事件,aggregate
过滤器不会创建新事件,并且会将到目前为止已聚合的任何信息推送到最后一个事件中。
为了提供一些背景信息,您提到的上一个问题是
你可以实现你想要的,只需在最后一个elapsed
过滤器之后添加一个date
过滤器,从而修改上游elapsed
过滤器新创建的事件.另请注意,在尝试匹配日期之前,我们首先需要将 elapsed_timestamp_start
字段转换为字符串,因为它是一个 Logstash 时间戳对象(由 elapsed
过滤器创建)
if "elapsed" in [tags] {
mutate {
convert => {"elapsed_timestamp_start" => "string"}
}
date {
match => ["elapsed_timestamp_start", "ISO8601"]
}
}