Как работать с несоответствующими фильтрами Logstash Grok

Мне интересно, какой лучший подход использовать с моими фильтрами Logstash Grok. У меня есть несколько фильтров для определенных записей журнала, и я выигралт применяется ко всем записям. Те, которые неt применять всегда генерировать теги _grokparsefailure. Например, у меня есть один фильтр Grok, которыйs для каждой записи в журнале, и она отлично работает. Тогда у меня есть еще один фильтр, которыйs для сообщений об ошибках с трассировками. Фильтр трассировки выдает grokparsefailure для каждой записи журнала, которая неУ меня нет обратной связи. Я

Я предпочел бы, чтобы он просто передавал правило, если нетсоответствие вместо добавления тега parsefailure. Я использую тег parsefailure, чтобы найти вещи, которые неправильно разбирать, а не вещи, которые просто нене соответствует конкретному фильтру. Может быть это'просто номенклатурасбой разбора это меня достает. Для меня это означает, что тамЧто-то не так с фильтром (например, плохо отформатированный), а не с тем, чтот совпадают.

Итак, вопрос в том, как мне справиться с этим?

Сделать шаблон фильтра необязательным, используя?

(ab) использовать опцию tag_on_failure, задав для нее значение []

сделать фильтр условным, используя что-то вродеесли трассировка в сообщении

что-то еще яя не рассматриваю?

Заранее спасибо.

РЕДАКТИРОВАТЬ

Я взял путь добавления условия вокруг фильтра:

    if [message] =~ /took\s\d+/ {
        grok {
            patterns_dir => "/etc/logstash/patterns"
            match => ["message", "took\s+(?[\d\.]+)"]
            add_tag => [ "stats", "servicetime" ]
        }
    }

Тем не менее, все еще заинтересованы в обратной связи. Что считаетсялучшая практика » Вот?

Ответы на вопрос(4)

Ваш ответ на вопрос