#logstash #logstash-grok
Вопрос:
У меня есть вывод журнала со следующими сообщениями;
[event] 02/05 09:20:01.8 PM message description
[event] 10/26 09:42:27.0 AM message description
Как я могу использовать grok для получения даты и времени в указанном выше формате
Дата-02/05, т. е. мм/день. Год не определен, но это не важно, так как я знаю, что это 2020 год, поэтому нет необходимости его определять
Время, как в приведенном выше примере, может быть PM и AM
Как я могу получить дату и время в тайнике журнала с помощью grok
Я пытался
%{TIME:timestamp} %{GREEDYDATA:Description}
Но это фиксирует отметку времени только как 09:20:01.8 и не включает в себя PM. Было бы хорошо, если бы он преобразовал его в 24 часа.
Ответ №1:
Вы можете определить пользовательский шаблон, соответствующий всей дате/времени
grok {
pattern_definitions => { "MYTIME" => "%{MONTHNUM}/%{MONTHDAY} %{TIME} [AP]M"
match => { "message" => "%{MYTIME:timestamp}" }
}
Комментарии:
1. Я проверил это. Шаблон работает нормально и протестировал его в отладчике, но проблема в том, что поле не создается в logstash. Может быть, проблема с синтаксисом? Я пробовал разные комбинации
2. Это была проблема с моей стороны. Работает как заклинание