2016-11-30 1 views
0

Мой вопрос касается использования шаблона Grok.Использование нескольких шаблонов grok для присвоения значения 1 полю

Я понимаю, что данный существующий шаблон Grok, можно использовать следующий синтаксис для назначения значений поля:

%{DATESTAMP_RFC822:timestamp} 

Я также знаю, что я могу создать свой собственный шаблон и использовать его с patternDir.

Вопрос в том, могу ли я использовать комбинацию шаблона Грока для разбора и присвоения значения полю?

К примеру, здесь есть «определение» картины DATESTAMP_RFC822:

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

Если я не хочу,% {TZ} как часть шаблона, как использовать остальные из шаблон для разбора и назначения метки времени? Нечто похожее на ...

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

Я знаю, что вышеизложенное не работает. Но я надеюсь, что это ясно, чего я хочу достичь.

ответ

0

Только что нашел ответ. Моя последняя попытка была фактически правильной.

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

мне просто нужно добавить открытие и закрытие '(', чтобы заставить его работать.

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