Я пытаюсь разобрать файлы журнала iis с помощью logstash и отправить их в elasticsearch.
У меня есть следующая строка журнала
2014-02-25 07:49:32 172.17.0.96 GET /config/integration - 80 - 172.17.28.37 Mozilla/5.0+(Windows+NT+6.1;+WOW64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/33.0.1750.117+Safari/537.36 401 2 5 15
И используйте этот фильтр:
filter {
if [message] =~ "^#" {
drop {}
}
grok {
match => ["message", "%{TIMESTAMP_ISO8601} %{IP:host_ip} %{URIPROTO:method} %{URIPATH:path} (?:-|%{NOTSPACE:uri_query}sern) %{NUMBER:port} %{NOTSPACE:username} %{IP:client_ip} %{NOTSPACE:useragent} %{NUMBER:response} %{NUMBER:subresponse} %{NUMBER:scstatus} %{NUMBER:timetaken}"]
}
date {
match => ["logtime", "YYYY-MM-dd HH:mm:ss"]
}
}
Все анализируется правильно, но в результате поле @timstamp — это время, когда я запускаю анализ, а не время события журнала. Это приводит к тому, что все события журнала складываются вместе в то время, когда я запускаю logstash при их просмотре. Я хотел бы, чтобы @timestamp был временем фактического события.
Что я делаю не так?