为了对具有相同时间戳的日志进行排序,我需要偏移量。有谁知道如何在每个logstash事件中获得偏移量?
这里的目的是对原始日志文件中出现的日志进行排序。
答案 0 :(得分:0)
这不是一个容易解决的问题。 Logstash可以利用两个日期:
这里最好的选择是将摄取时间存放到某个字段;对于按顺序读取的日志文件,同一秒内的事件将在稍微不同的时间被摄取,因此按摄取时间排序将重新排序日志。您的过滤器流可能如下所示:
filter {
mutate {
add_field => { "ingest_timestamp" => "%{@timestamp}" }
}
grok { some things }
date {
match = [ "SYSLOGTIMESTAMP", ISO8601 ]
}
}
在这种情况下,@timestamp
将设置为事件中编码的时间,ingest_timestamp
将设置为摄取的时间戳。首先按@timestamp
然后按ingest_timestamp
订购,然后您将事件重新排序为他们可能在日志文件中到达的顺序。