Я засыпаю свои журналы в Elasticsearch. Таким образом, для создания индекса по дате войти это метка время, я использую date
фильтр так:Syslog временная метка без года?
date {
"locale" => "en"
match => ["timestamp", "MMM d HH:mm:ss", "MMM dd HH:mm:ss", "ISO8601"]
target => "@timestamp"
}
Я использую журналы из Syslog и формат системного журнала метка времени не делает иметь год:
# Syslog Dates: Month Day HH:MM:SS
SYSLOGTIMESTAMP %{MONTH} +%{MONTHDAY} %{TIME}
Так после использования фильтра даты созданный индекс выглядит как logstash-2015.12.26
, если я читаю журнал 26-го декабря 2014 года. Так как временная метка недоступна в журнале, она выбирает текущий год по умолчанию.
Любая идея, как сделать правильный индекс?
Так, за исключением временного жесткого кода, существует не обходное решение? –
Я не верю, что нет, нет. Ну, кроме сброса времени на машине, где вы запускаете Logstash, но это будет очень плохая идея. –