一般来说,我对ELK堆栈相对较新,我正在尝试从2014年开始处理一些旧的日志以进行可视化。我想知道当我将它们添加到我的转发器客户端时,是否有一种方法可以让Kibana显示与创建日志相同的时间戳而不是时间戳。
这是我的过滤器部分的摘录
答案 0 :(得分:0)
时间戳只显示logstash获取日志并保存到elasticsearch的时间。 Logstash无法知道何时创建了该日志。唯一可能的方法就是知道这一点,如果你把时间保存在日志中,如果它们是系统日志或你自己的日志里面有时间戳的话。然后,您可以在logstash中创建一个过滤器,然后仅用作键。
你可以使用grok过滤器。
http://grokconstructor.appspot.com/do/match
示例:
输出日志
55.3.244.1 GET /index.html 15824 0.043
过滤
%{IP:client} %{WORD:method} %{URIPATHPARAM:request} %{NUMBER:bytes} %{NUMBER:duration}
Logstash config
input {
file {
path => "/var/log/http.log"
}
}
filter {
grok {
match => { "message" => "%{IP:client} %{WORD:method} %{URIPATHPARAM:request} %{NUMBER:bytes} %{NUMBER:duration}" }
}
}