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