2017-01-31 2 views
0

Я пытаюсь разобратьlogstash конфигурации Grok синтаксического анализа временной метки

[7/1/05 13:41:00:516 PDT] 

Это конфигурация Grok я написал для того же:

\[%{DD/MM/YY HH:MM:SS:S Z}\] 

С даты фильтра:

input { 
file { 
path => "logstash-5.0.0/bin/sta.log" 
start_position => "beginning" 
} 
} 
filter { 
grok { 
match =>" \[%{DATA:timestamp}\] " 
} 
date { 
match => ["timestamp","DD/MM/YY HH:MM:SS:S ZZZ"] 
} 
} 
output { 
stdout{codec => "json"} 
} 

выше - это конфигурация, которую я использовал.

И считают, что это мое sta.log содержимое файла:

[7/1/05 13:41:00:516 PDT] 

Getting эту ошибку:

[2017-01-31T12:37:47,444][ERROR][logstash.agent   ] fetched an invalid config {:config=>"input {\nfile {\npath => \"logstash-5.0.0/bin/sta.log\"\nstart_position => \"beginning\"\n}\n}\nfilter {\ngrok {\nmatch =>\"\\[%{DATA:timestamp}\\]\"\n}\ndate {\nmatch => [\"timestamp\"=>\"DD/MM/YY HH:MM:SS:S ZZZ\"]\n}\n}\noutput {\nstdout{codec => \"json\"}\n}\n\n", :reason=>"Expected one of #, {, ,, ] at line 12, column 22 (byte 184) after filter {\ngrok {\nmatch =>\"\\[%{DATA:timestamp}\\]\"\n}\ndate {\nmatch => [\"timestamp\""} 

Может кто-нибудь помочь здесь?

ответ

1

Вы забыли указать вход для вашего фильтра grok. Правильная конфигурация будет выглядеть следующим образом:

input { 
    file { 
    path => "logstash-5.0.0/bin/sta.log" 
    start_position => "beginning" 
    } 
} 

filter { 
    grok { 
    match => {"message" => "\[%{DATA:timestamp} PDT\]"} 
    } 
    date { 
    match => ["timestamp","dd/MM/yy HH:mm:ss:SSS"] 
    } 
} 

output { 
    stdout{codec => "json"} 
} 

Для дальнейшей ссылки проверить grok документации here.

+0

но все еще не работает с этой конфигурацией. Есть ли что-то не так на уровне конфигурации –

+0

@SoundaryaThiagarajan Я забыл фигурные скобки. Я отредактировал свой ответ. – Fairy

+0

получение _dateparsefailure –

Смежные вопросы