как обращаться, когда образец не совпадает в fluentd - PullRequest
0 голосов
/ 20 февраля 2020

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

Однако я не уверен, как справиться, когда pattern doesn't match. В основном, если шаблон не совпадает, я хочу отправить журнал как есть.

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

<source>
@type tail
path /Users/amjad/testfluent/*.log
read_from_head true
format multiline
format_firstline /\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}.\d{3}/
format1 /(?<timestamp>\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}.\d{3}) +(?<log_level>[aA-zZ]*) \[(?<service_name>.+),(?<trace_id>.*),(?<span_id>.*),(?<zipkin>[aA-zZ]*)\] (?<message>(.|\s)*)/
tag kubernetes.apps*
time_format %Y-%m-%dT%H:%M:%S.%NZ
</source>

1 Ответ

1 голос
/ 21 февраля 2020

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

<match kubernetes.apps*>
  @type xx
<macth>
<match **.**>
  @type xx
<macth>
...