Logsta sh - Поддерживает ли отображение в Dissect несколько совпадений? - PullRequest
0 голосов
/ 20 февраля 2020

Поскольку в моем журнале есть несколько шаблонов, мне нужно использовать несколько шаблонов рассечения, чтобы в случае, если один шаблон не смог распознать журнал, другой может его перехватить. Следующие псевдоконфигурации работают,

"message" => "pattern1"

Или

"message" => "pattern2"

Но следующая конфигурация не работает,

"message" => ["pattern1", "pattern2"]

Поддерживает ли анализ такие виды соответствия?

1 Ответ

1 голос
/ 21 февраля 2020

Нет, dissect поддерживает только одно сопоставление для каждого поля.

Если в вашем журнале несколько шаблонов, вам нужно будет использовать grok, который поддерживает несколько совпадающих шаблонов.

В зависимости от того, как обрабатываются ваши сообщения журнала, вы можете использовать комбинацию условных выражений для фильтрации ваших сообщений и отправлять каждое из них на соответствующие dissect или комбинировать grok и dissect для анализа общих частей вашего сообщения.

Вы также можете фильтровать по тегу _dissectfailure, если ваш второй шаблон не соответствует dissect, он получит этот тег, а затем вы можете применить соответствующий dissect

...