После анализа вашего журнала с помощью grok
вы можете использовать условные выражения logstash , чтобы проверить, равно ли loglevel
(или как называется ваше поле) ERROR
. Если это правда, переслать его в ваш плагин вывода,
output {
if [loglevel] == "ERROR"{ # Send ERROR logs only
elasticsearch {
...
}
}
}
Если вы используете filebeat для отправки журналов, вы можете использовать Процессоры , чтобы отправлять только журналы, которые содержат ERROR
.
Содержит условие, проверяет, является ли значение частью поля. Поле
может быть строкой или массивом строк. Условие принимает только
строковое значение.
Например, следующее условие проверяет, является ли ошибка частью
статус транзакции:
contains:
status: "Specific error"
В зависимости от формата вашего журнала, вы можете использовать одно из многих поддерживаемых условий процессорами filebeat,
Каждое условие получает поле для сравнения. Вы можете указать несколько
поля в том же условии, используя AND между полями (для
Например, поле1 И поле2).
Для каждого поля вы можете указать простое имя поля или вложенную карту,
например dns.question.name.
Подробнее о Вы можете прочитать здесь