Шаблон Grok для даты

У меня есть дата в моих журналах как:

08 июл 2016 08:58:07,258 ...

В настоящее время я использую:

%{MONTHDAY}[T ]%{MONTH}[T ]%{YEAR}[T ]%{HOUR}:?%{MINUTE}(?::?%{SECOND})[T ]...

чтобы разобрать его.

Как я могу преобразовать это в тип даты. Я знаю, как использовать «дату», чтобы сделать это, когда у нас есть существующий шаблон grok, но как это сделать в моем случае?


person Karup    schedule 12.07.2016    source источник


Ответы (1)


У вас может быть индивидуальный шаблон:

(?<log_timestamp>%{MONTHDAY}[T ]%{MONTH}[T ]%{YEAR}[T ]%{HOUR}:?%{MINUTE}(?::?%{SECOND}[T ])

При этом у вас будет поле log_timestamp, которое вы можете указать для фильтра date.

Или вы можете использовать фильтр ruby, чтобы объединить все поля в одно и передать фильтру date.

person baudsp    schedule 12.07.2016
comment
Будет ли часть даты моего сообщения журнала помещаться в поле Date с использованием GREEDYDATA, а затем с использованием этого поля Date в фильтре date, таком как match => [ "Date", "dd MMM yyyy HH:mm:ss,SSS" ], работать? - person Karup; 13.07.2016
comment
@PuRaK Если содержимое поля Date соответствует шаблону "dd MMM yyyy HH:mm:ss,SSS", оно будет работать независимо от метода, использованного для создания поля. - person baudsp; 13.07.2016