У меня есть журналы, которые имеют только время, как его записьКак изменить @timestamp с записью в журналах, используя logstash
1. 17:20:45.331|ERR|....
2. 17:20:54.715|SYS|.....Logging started for [....] (Date=[07/28/2014], ...
3. 17:20:54.716|SYS....
и так далее
У меня есть дата в только одну строке журналы. основанный на том, что я хочу создать временную метку, такую как эта дата регистрации в журналах + время в каждой записи
Iam способен получить время в каждой записи. я могу получить log_message => "Logging начал для [....] (Date = [07/28/2014], ...", как одна запись.
- Можно ли получить дату из эта запись и изменить метки времени все другой записи в?
- , как я могу добавить время и дату и изменить метку времени?
Любая помощь будет оценена как IAM новой для logstash
Мой фильтр в logstash конф
filter {
grok { match => [ "message", "%{TIME:time}\|%{WORD:Message_type}\|%{GREEDYDATA:Component}\|%{NUMBER:line_number}\| %{GREEDYDATA:log_message}"]
}
date {
match => ["timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ] => need to modify this as date+%{time}
}
}
Поле времени также имеет миллисекунды.
Спасибо за ответ. Позвольте мне попробовать. – AD14
Я пробовал это. это отличный плагин. работает отлично. но проблема в том, что он получает дату из строки 2 и обновляет строку 3. Это работает нормально. но я могу обновить строку 1 тоже? (отредактировал вопрос о номерах строк). – AD14
Единственный способ, которым вы сможете получить дату в строке 1, - это как-то использовать «многострочный» плагин, чтобы объединить строки вместе ... Если у вас есть определенный рисунок из строк X в строке, всегда начинающийся с что-то и заканчивая чем-то, есть способы объединить их все вместе, а затем проанализировать их (я написал плагин 'multieline_fixed ', чтобы сделать что-то подобное, но я его никогда не выпускал). – Alcanzar