如何在logstash中获得偏移量?

如何在logstash中获得偏移量?,logstash,logstash-configuration,Logstash,Logstash Configuration,为了对具有相同时间戳的日志进行排序,我需要偏移量。有人知道如何在每次logstash事件中获得偏移量吗 这里的目的是按照日志在原始日志文件中的显示方式对日志进行排序。这不是一个容易解决的问题。Logstash可以利用两个日期: 事件被摄取的确切时间 事件本身编码的时间 在这里,你最好的办法是将摄取时间藏在一个字段中;对于串联读取的日志文件,同一秒中的事件将在稍有不同的时间接收,因此按接收时间排序将重新排序日志。您的筛选器流可能如下所示: filter { mutate { add_f

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


这里的目的是按照日志在原始日志文件中的显示方式对日志进行排序。

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

  • 事件被摄取的确切时间
  • 事件本身编码的时间
  • 在这里,你最好的办法是将摄取时间藏在一个字段中;对于串联读取的日志文件,同一秒中的事件将在稍有不同的时间接收,因此按接收时间排序将重新排序日志。您的筛选器流可能如下所示:

    filter {
      mutate {
        add_field => { "ingest_timestamp" => "%{@timestamp}" }
      }
      grok { some things }
      date {
        match = [ "SYSLOGTIMESTAMP", ISO8601 ]
      }
    }
    
    在这种情况下,
    @timestamp
    将被设置为事件中编码的时间,
    摄入时间戳
    将被设置为摄入的时间戳。首先按
    @timestamp
    排序,然后按
    摄入时间戳
    排序,您将按照事件可能到达日志文件的顺序重新排序事件