Я пытаюсь отфильтровать отдельные слова в файле журнала с помощью регулярных выражений, цель состоит в том, чтобы любая строка журнала, соответствующая регулярному выражению в custom_pattern, перешла в impxdb, а строки журнала, которые не совпадают, будут игнорироваться. Когда я тестировал регулярное выражение, оно работает, даже на игровой площадке golang (https://play.golang.org/p/_apzOVwwgl2). Но когда я использую его в conf-файле telegraf, как показано ниже, он не работает, нет входных данных в influenxdb. мне не хватает того, что должно быть добавлено в конфигурацию?
Я протестировал регулярное выражение на http://grokdebug.herokuapp.com/ и https://play.golang.org/p/_apzOVwwgl2, оно работает, но не в custom_patterns в [input.logparser.grok].
Вот мой конфиг grok
[[inputs.logparser]]
files = ["/var/log/test1"]
from_beginning = true
[inputs.logparser.grok]
patterns = ["%{FAIL_LOG}"]
custom_patterns = '''FAIL_LOG ^.*?\b(multipathd?)\b.*?\b(failed|failing|(remaining active paths))\b.*?$'''
Шаблон должен соответствовать первым 2 строкам журнала, как показано ниже, и игнорировать третью строку.
Oct 29 03:29:03 dc-as-5p multipath: checker failed interface 8:0 in map 150gb
Oct 29 03:29:03 dc-as-5p multipathd: checker failing interface 8:0 in map 150gb
Oct 29 03:26:03 dc-as-5p link: checker down remaining active paths interface 8:0 in map 150gb
Чтоя делаю не так?