更改由Elapsed或Aggregate过滤器创建的事件的日期

时间:2016-05-23 20:42:11

标签: elasticsearch logstash

new_event_on_match与过滤后的过滤器一起使用时,会创建一个带有新时间戳的新事件。聚合过滤器也会添加一个带有新时间戳的新事件。

我想使用原始事件的时间戳,现在可以在elapsed_timestamp_start字段中找到。如何在新创建的事件中替换@timestamp

我可以在Date过滤器中使用Elapsed过滤器吗?

1 个答案:

答案 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"]
    }
  }