#filestream #filebeat
Вопрос:
Я столкнулся с проблемой многострочной обработки в Filebeat, когда filebeat.inputs: параметры указывают тип: поток файлов — журналы потока файлов не анализируются в соответствии с требованиями многострочного. узор: ‘^[[0-9]{4}-[0-9]{2}-[0-9]{2}’, в выводе я вижу, что строки не добавляются к строкам, создаются новые однострочные сообщения с отдельными строками из файла журнала.
Если вы укажете тип: вход в файл bat.входы: параметры, то все работает корректно, в соответствии с требованиями многострочности. узор: ‘^[[0-9]{4}-[0-9]{2}-[0-9]{2}’ — создается многострочное сообщение.
Что неправильно указано в моей конфигурации?
filebeat.inputs:
- type: filestream
enabled: true
paths:
- C:logsGTTTL**.log
fields_under_root: true
fields:
instance: xml
system: ttl
subsystem: GT
account: abc
multiline.type: pattern
multiline.pattern: '^[[0-9]{4}-[0-9]{2}-[0-9]{2}'
multiline.negate: true
multiline.match: after
Ответ №1:
Чтобы заставить его работать, у вас должно быть что-то вроде этого:
filebeat.inputs:
- type: filestream
enabled: true
paths:
- C:logsGTTTL**.log
fields_under_root: true
fields:
instance: xml
system: ttl
subsystem: GT
account: abc
parsers:
- multiline:
type: pattern
pattern: '^[[0-9]{4}-[0-9]{2}-[0-9]{2}'
negate: true
match: after
Есть 2 причины, по которым это работает:
- Общая документация на момент написания этой статьи, касающаяся многострочной обработки, не обновляется, чтобы отразить изменения, внесенные для типа fileinputstream. Вы можете найти информацию о настройке многострочного потока ввода файлов в разделе синтаксические анализаторы на этой странице: https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-input-filestream.html
- Документация, о которой я только что упомянул выше, также неверна (по крайней мере, на момент написания этой статьи). В примере показана настройка многострочных анализаторов без отступов его дочерних элементов, что не будет работать, так как анализатор не инициализирует ни одно из значений под ним. Этот вопрос также обсуждается здесь: https://discuss.elastic.co/t/filebeat-filestream-input-parsers-multiline-fails/290543/13 и я ожидаю, что это будет исправлено когда-нибудь в будущем.