日期的 Grok 模式

Grok pattern for date

我的日志中有日期:

08 Jul 2016 08:58:07,258 ...

目前我正在使用:

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

解析它。

如何将其转换为日期类型。当我们有一个现有的 grok 模式时,我知道如何使用 'date' 来做到这一点,但在我的情况下如何做到这一点?

您可以有一个自定义模式:

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

这样,您将拥有一个字段 log_timestamp,您可以将其提供给 date 过滤器。

或者您可以使用 ruby 过滤器将所有字段连接成一个以提供给 date 过滤器。