我有两个来自不同源的日志,我通过logstash将其拖入elasticsearch中,然后使用kibana进行可视化。我的问题是,每个日志的开始时间应该是相同的,但是其中一个日志会在30分钟前错误地记录条目。如何在logstash或kibana中同步日志时间
如何纠正这个时间问题,有没有可以从时间减去30分钟的logstash过滤器,或者我可以在Kibana中添加一些高级查询?
我更喜欢更新logstash中的日志条目。
我有两个来自不同源的日志,我通过logstash将其拖入elasticsearch中,然后使用kibana进行可视化。我的问题是,每个日志的开始时间应该是相同的,但是其中一个日志会在30分钟前错误地记录条目。如何在logstash或kibana中同步日志时间
如何纠正这个时间问题,有没有可以从时间减去30分钟的logstash过滤器,或者我可以在Kibana中添加一些高级查询?
我更喜欢更新logstash中的日志条目。
理想情况下,您可能需要修复日志,以便在文件中列出正确的时间。如果您的问题存在于数据中,那么修复它就比较容易,而不是在下游使用额外规则进行摔跤。
但是,如果需要,您可以操纵Logstash时间戳。
每个事件的@timestamp
字段与Ruby的Time
类有很多相同之处。特别是,它实现了相同的+
和-
运营商允许您添加或减去一定的秒数:
filter {
ruby {
code => "
event['@timestamp'] = LogStash::Timestamp.new(event['@timestamp'] + (30 * 60))
"
}
}
哪里日期从何而来?从文件解析或仅由logstash添加的@timestamp。你使用一个或两个logstash?如果两个,他们在同一台机器上? – baudsp
@baudsp日期来自日志文件本身。我只是像批处理作业一样在每个日志文件上运行一个logstash,所以我没有连续运行logstash。 – binarylegit
我试图找到一种方法来更改值@timestamp字段与红宝石过滤器,但没有成功,所以我试图看看问题是否来自您的设置。 – baudsp