2016-12-28 3 views
1

я не могу получить матч на это сообщение с датой фильтраLogstash фильтр данных даты матча won't в сообщении

"message" => "10.60.1.251\t\"10.60.1.152\"\t2016-12-28\t22:53:50\tPOST\t200\t1014\t0.084\ 

сообщение, как он отображается на стандартный вывод. Файл журнала, из которого отправляется сообщение, разделен на вкладку «\ t»

любые предложения?

Я попытался:

match => ["message", "YYYY-MM-dd HH:mm:ss"] 

пространство между датой и временем вкладка

match => ["message", "YYYY-MM-dd'\t'HH:mm:ss"] 
match => ["message", "YYYY-MM-dd\tHH:mm:ss"] 
match => ["message", "YYYY-MM-dd..HH:mm:ss"] 
match => ["message", "YYYY-MM-dd;HH:mm:ss"] 

и некоторые другие

Я пришел к этому решению - не очень элегантный, но

filter { 
grok { 
    match => ["message","%{DATE:extractDate} %{HAPROXYTIME:extractTime}"] 
} 
mutate { 
    add_field => {"dateTime" => "20%{extractDate} %{extractTime}" 
    } 
    remove_field => ["extractDate", "extractTime"] 
} 

date { 
    locale => "en" 
    match => ["dateTime", "yyyy-MM-dd HH:mm:ss"] 
    timezone => "Europe/Vienna" 
    target => "@timestamp" 
    add_field => { "debug" => "timestampMatched "} 
    remove_field => ["dateTime"] 
} 

}

ответ

0

Дата {} Фильтр ожидает шаблон, соответствующий всю строку, переданную в.

Правильный поток для отображения полей (как в вашем примере ГРОК), а затем отправить просто поля даты/времени в фильтр даты {}.

С данными с разделителями разделов я бы посмотрел фильтр csv {}, который предоставляет параметр «separator», который, я считаю, можно установить на вкладку.

+0

Я попробую фильтр csv []. :-) – AnJo

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