2016-10-15 5 views
0

Я написал FileBeat для отправки многострочных журналов с помощью следующей конфигурации:Logstash - FileBeat настройки многострочных групп слишком много сообщений

- 
    paths: 
    - /opt/wls/domains/filename.log 
    input_type: log 
    document_type: log_doc 
    multiline: 
    pattern: ^%{TIMESTAMP_ISO8601} 
    negate: true 
    match: after 

Насколько я знаю, он должен приложить все линии к предыдущему, пока он находит строку, начинающуюся с метки времени (TIMESTAMP_ISO8601).

В моем случае с этим параметром filebeat отправляет несколько сообщений журнала, сгруппированных по одному. Мои сообщения журнала начинают так:

2016-10-14 20:31:07,447 INFO [ACTIVE] ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)' ...

Она должна соответствовать к ^%{TIMESTAMP_ISO8601}, так что может быть проблема? Почему они отправляются как одно сообщение?

Thank you.

P.S. Я также пробовал с ^%{YYYY} и ^%{YEAR} узорами, но результат был тот же ...

+1

Все примеры в документе имеют шаблон регулярного выражения в одинарных кавычках. Кроме того, быстрый поиск не показывает примеров, которые используют именованные шаблоны из logstash в Filebeat. Попробуйте регулярное регулярное выражение. –

+1

Вы уверены, что filebeat может использовать шаблон logstash grok? Я ничего не вижу об этом в doc – baudsp

+0

Вам придется писать регулярное выражение, возможно, используя https://github.com/logstash-plugins/logstash-patterns-core/blob/master/patterns/grok-patterns – baudsp

ответ

0

Как написано в комментариях, FileBeat не поддерживает шаблоны grok. Я написал regexp вместо шаблона grok, и он работал хорошо. Поддерживаемые регулярные выражения можно найти здесь: https://www.elastic.co/guide/en/beats/filebeat/1.2/regexp-support.html и некоторые многострочные примеры и подсказки в случае FileBeat можно найти здесь: https://www.elastic.co/guide/en/beats/filebeat/1.2/multiline-examples.html