如何在logstash中获得偏移量?

时间:2017-04-15 18:39:49

标签: logstash logstash-configuration

为了对具有相同时间戳的日志进行排序,我需要偏移量。有谁知道如何在每个logstash事件中获得偏移量?

这里的目的是对原始日志文件中出现的日志进行排序。

1 个答案:

答案 0 :(得分:0)

这不是一个容易解决的问题。 Logstash可以利用两个日期:

  1. 事件被摄取的确切时间
  2. 事件本身编码的时间。
  3. 这里最好的选择是将摄取时间存放到某个字段;对于按顺序读取的日志文件,同一秒内的事件将在稍微不同的时间被摄取,因此按摄取时间排序将重新排序日志。您的过滤器流可能如下所示:

    filter {
      mutate {
        add_field => { "ingest_timestamp" => "%{@timestamp}" }
      }
      grok { some things }
      date {
        match = [ "SYSLOGTIMESTAMP", ISO8601 ]
      }
    }
    

    在这种情况下,@timestamp将设置为事件中编码的时间,ingest_timestamp将设置为摄取的时间戳。首先按@timestamp然后按ingest_timestamp订购,然后您将事件重新排序为他们可能在日志文件中到达的顺序。