使用多个grok模式将值分配给1个字段

时间:2016-11-30 22:57:13

标签: grok

我的问题是关于如何使用Grok模式。

我知道给定的现有Grok模式,我可以使用以下语法将值分配给字段:

%{DATESTAMP_RFC822:timestamp}

我也知道我可以创建自己的自定义模式并将其与patternsDir字段一起使用。

我的问题是,我是否可以使用Grok模式的组合来解析并将值分配给字段?

例如,这是DATESTAMP_RFC822模式的'定义':

DATESTAMP_RFC822 = %{DAY} %{MONTH} %{MONTHDAY} %{YEAR} %{TIME} %{TZ}

如果我不想将%{TZ}作为模式的一部分,我如何使用模式的其余部分来解析和分配时间戳?与......类似的东西。

?<timestamp>%{DAY} %{MONTH} %{MONTHDAY} %{YEAR} %{TIME}

我知道上面的内容不起作用。但我希望很清楚我想要实现的目标。

1 个答案:

答案 0 :(得分:2)

刚刚找到答案。我最后的尝试实际上是正确的。

?<timestamp>%{DAY} %{MONTH} %{MONTHDAY} %{YEAR} %{TIME}

我只需要添加开始和结束&#39;(&#39;使其有效。

(?<timestamp>%{MONTH}/%{MONTHDAY} %{HOUR}:?%{MINUTE}(?::?%{SECOND}))