Может ли filebeat рассечь строку журнала с пробелами? - PullRequest
0 голосов
/ 15 апреля 2020

Итак, у меня есть строка журнала, отформатированная следующим образом:

2020-04-15 12:16:44,936 WARN c.e.d.c.p.p.BasePooledObjectFactory [main] Caution - XML schema validation has been disabled! Validation is only available when using XML.

Я использую filebeat для отправки этого напрямую вasticsearch, что он и делает, но log.level не установлен вся строка становится сообщением.

, читая о вскрытии, которое я намеревался использовать:

processors:
  - add_host_metadata: ~
  - dissect:
     tokenizer: "%{} %{} %{log.level} %{} [%{}] %{message}"
     field: "message"
     target_prefix: ""

, который я ожидал разделить на:

{ 
  log.level: WARN
  message: Caution - XML schema validation has been disabled! Validation is only available when using XML.
}

Я получаю тот же вывод, что и без диссекта:

{
  message: 2020-04-15 12:16:44,936 WARN c.e.d.c.p.p.BasePooledObjectFactory [main] Caution - XML schema validation has been disabled! Validation is only available when using XML.
}

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

Как я могу получить уровень журнала из строки журнала? (желательно без изменения формата самого журнала)

1 Ответ

0 голосов
/ 15 апреля 2020

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

processors:
  - add_host_metadata: ~
  - dissect:
     tokenizer: "%{} %{} %{log.level} %{} [%{}] %{msg}"
     field: "message"
     target_prefix: ""
...