我有来自不同来源的两个日志,我通过logstash进入elasticsearch,然后使用kibana进行可视化 . 我的问题是每个日志的开始时间应该相同,但其中一个日志是提前30分钟错误地记录条目 .
如何更正此时间问题,是否有一个logstash过滤器可以减去30分钟,或者我可以在Kibana中添加一些高级查询?
我更喜欢更新logstash中的日志条目 .
理想情况下,您可能需要修复日志,以便在文件中列出正确的时间 . 如果你的问题存在于数据中,那么在那里修复它就更容易,而不是在下游与额外的规则搏斗 .
但是,如果需要,您可以操作Logstash时间戳 .
每个事件的 @timestamp 字段与Ruby的 Time 类有很多共同之处 . 特别是,它实现了相同的 + 和 - 运算符,允许您添加或减去一些秒数:
@timestamp
Time
+
-
filter { ruby { code => " event['@timestamp'] = LogStash::Timestamp.new(event['@timestamp'] + (30 * 60)) " } }
1 回答
理想情况下,您可能需要修复日志,以便在文件中列出正确的时间 . 如果你的问题存在于数据中,那么在那里修复它就更容易,而不是在下游与额外的规则搏斗 .
但是,如果需要,您可以操作Logstash时间戳 .
每个事件的
@timestamp
字段与Ruby的Time
类有很多共同之处 . 特别是,它实现了相同的+
和-
运算符,允许您添加或减去一些秒数: