2014-11-21 3 views
0

Мой лог-файл имеет одну линию (взятый из файла журнала учебника):Logstash и Grok отказ фильтра

55.3.244.1 GET /index.html 15824 0.043 

Мой файл конф выглядит примерно так:

input { 
    file { 
    path => "../http.log" 
    type => "http" 
    } 
} 

filter { 
    grok { 
    type => "http" 
    match => [ "message", "%{IP:client}" ] 
    } 
} 

Я проверил мой ГРОК фильтр с отладчиком grok, и он сработал. Я в недоумении, что я делаю неправильно. Я получаю a [0] «_grokparsefailure» каждый раз

+0

Я не могу воспроизвести это с Logstash 1.4.2. –

+0

Я использую logstash-1.1.12-flatjar.jar, позвольте мне попробовать с последним последним logstash. Вы говорите, что это сработало для вас с 1.4.2? – user1077071

+0

Быстрый вопрос - как запустить файл conf с помощью logstash 1.4.2? Это просто bin/logstash -f file.conf? – user1077071

ответ

1

Что касается отладки фильтра grok, вы можете использовать эту ссылку (http://grokdebug.herokuapp.com/) У этого есть очень всеобъемлющий детектор, который является хорошим началом.

Если вы беспокоитесь только об IP-адресе, а не о частичной части сообщения журнала, следующий фильтр должен работать на вас.

%{IP:host} %{GREEDYDATA:remaining_data}

Лучший способ отладки является использование, stdin и stdout плагины для logstash и отладки grok моделей.

Вы можете найти документацию здесь http://logstash.net/docs/1.4.2/

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