Logstash — фильтр конфигурации grok

Я пытаюсь отфильтровать вывод «последней» команды, используя grok.

Шаблон grok соответствует только первой переменной user. Он не соответствует ни одному шаблону после него.

Не могли бы вы сообщить мне, что мне здесь не хватает.

Журнал:

sam     pts/0        172.19.16.3     Tue Mar  3 11:32 - 11:39  (00:07)

Используемый шаблон Grok:

match => [ "message", "%{USER:user} %{TTY:terminal}  %{IPORHOST:client} %{TIMESTAMP_ISO8601:date} %{NUMBER:duration}" ]

person shrilesh.naik    schedule 10.03.2015    source источник


Ответы (1)


Несколько проблем с вашим шаблоном:

  1. Пункт списка

вы должны позаботиться о пробелах

если у вас есть такие данные, как:

username    foobar

шаблон:

%{USER:user} %{WORD}

не будет совпадать, потому что у вас есть несколько пробелов между двумя словами. Если вы сделаете:

%{ПОЛЬЗОВАТЕЛЬ:пользователь} +%{СЛОВО}

шаблон будет совпадать, потому что вы указываете grok искать более одного пробела между двумя словами. Попробуйте проверить шаблон с помощью http://grokdebug.herokuapp.com/ шаг за шагом. Сначала попытайтесь разработать шаблоны GROK для отдельных частей, и если они сработают, попробуйте собрать их вместе одну за другой.

  1. Шаблон tty не соответствует pts/0, но ожидает что-то вроде /dev/pts/0

Взгляните на определение шаблона. Их можно найти по адресу: https://github.com/logstash-plugins/logstash-patterns-core/tree/master/patterns

В частности, шаблон TTY находится в: https://github.com/logstash-plugins/logstash-patterns-core/blob/master/patterns/grok-patterns

person markus    schedule 11.03.2015
comment
Спасибо, Маркус, я попытался добавить +, но отладчик grok не соответствует ни одному шаблону, если я добавлю что-либо, за которым следует +, например, +% . Я попробовал простой пример, который вы предложили. Соответствует только первому слову %{USERNAME:user} - person shrilesh.naik; 13.03.2015
comment
@shrilesh.naik: я только что попробовал это с отладчиком grok. Данные: markus foobar совпадает с %{USER:user} +%{WORD}, но не с %{USER:user} %{WORD} - person markus; 13.03.2015
comment
Привет Маркус, Спасибо, что работает, некоторые проблемы с реализацией с моей стороны. - person shrilesh.naik; 13.03.2015