FluentD, как найти только определенные журналы

2019/08/13 13:13:17 [DEBUG] Hello, world!
2019/08/13 13:13:17 [INFO] Ignore me
2019/08/13 13:13:17 [INFO] SPECIFIC_LOG :{"name": "mark"}

У меня есть журналы, подобные приведенным выше, и мне нужно использовать только те журналы, которые содержат «SPECIFIC_LOG», и я хочу игнорировать другие.

Я пытался настроить вот так конфиг,

<source>
    @type tail
    path ./sample.log
    tag debug.sample
    <parse>
        @type regexp
        expression /\[\w+\] SPECIFIC_LOG\s:(?<message>.*)$/
    </parse>
</source>

<filter debug.**>
    @type parser
    key_name message
    format json
</filter>

И он работает для совпадающего журнала с шаблоном, но для несоответствующего журнала я получил предупреждение, в котором говорится

#0 pattern not matched: "2019/08/13 13:13:17 [DEBUG] Hello, world!"

Как я могу выполнить поиск только в журнале, который соответствует шаблону, чтобы я мог разрешить предупреждение?


person Expert wanna be    schedule 14.08.2019    source источник


Ответы (1)


Это просто предупреждение о том, что шаблон не совпадает, и, на мой взгляд, его можно игнорировать.

Чтобы игнорировать такие предупреждения, вы можете установить опцию emit_invalid_record_to_error false.

<filter debug.**>
    @type parser
    key_name message
    format json
    emit_invalid_record_to_error false
</filter>

Подробнее об этом флаге - https://docs.fluentd.org/filter/parser#emit_invalid_record_to_error < / а>

В более ранних версиях был флаг suppress_parse_error_log, теперь он заменен на emit_invalid_record_to_error.

suppress_parse_error_log отсутствует. Какие есть альтернативы?

Начиная с версии v1, фильтр parser не поддерживает параметр suppress_parse_error_log, поскольку фильтр синтаксического анализатора использует функцию @ERROR вместо внутреннего ведения журнала для восстановления недопустимых записей. Если вы хотите просто игнорировать недопустимые записи, установите для параметра emit_invalid_record_to_error значение false. См. Также параметр emit_invalid_record_to_error.

person Imran    schedule 22.08.2019