2016-09-14 7 views
0

Я новичок в регулярном выражении и используя фильтр стоп-стопов. Я должен написать свое собственное регулярное выражение для фильтрации соответствующего сообщенияПолучение ошибки синтаксического анализа при написании настраиваемого фильтра grok

NAID-iOS-3093448A-BC34-4FE1-A057-29AD2CEF8FD3-1471410782.565937 IP-202.174.93.103 2016-08-17 00:13:09,963

моего Grok фильтр

grok{ 
    match => {"message" => "%{DATA:deviceid}%{IP:Serverip}%{%{YEAR}[-]%{MONTHNUM}[-]%{MONTHDAY}:Date}%{GREEDYDATA:data}"} 
} 

записи по умолчанию DATE_EU в Grok имеет %{MONTHDAY}[./-]%{MONTHNUM}[./-]%{YEAR}

, но я нуждался в обратном от него поэтому я написал

%{%{YEAR}[./-]%{MONTHNUM}[./-]%{MONTHDAY}:Date} вместо %{DATE_EU:Date} но получаю сообщение [0]_grok parsefailure в моем синтаксисе.

Я даже следовал https://www.elastic.co/guide/en/logstash/current/plugins-filters-grok.html#_custom_patterns и создал каталог узоров внутри logstash папки я использую окна и добавил DATE_LOG %{YEAR}[./-]%{MONTHNUM}[./-]%{MONTHDAY} запись внутри файла с именем «экстра», но снова получил parsing_error.

ответ

0

Вы используете плохой синтаксис. В процессе анализа строки журнала, название каждой части с помощью собственных переменных, например:

%{MONTHNUM:month}-%{MONTHDAY:day} 

, а затем вы завершите свой собственный формат таким образом:

replace => ['timestamp', '%{month}-%{day}']