У нас есть приложение на основе Java, которое производит журналы с использованием log4j, и мы хотим использовать Fluentd с Elasticsearch и Kibana, как описано here. Я хочу настроить Fluentd для пересылки существующих журналов и не использовать новый регистратор. Я считаю, что мы хотим использовать type tail
для этого, чтобы мы могли указать Fluentd на нужные файлы, но я думаю, нам нужны некоторые примеры того, как правильно настроить td-agent.conf
.Настройка файлов Fluentd tail log4j
ответ
Fluentd имеет вход плагин называется: in_tail
in_tail Входной плагин позволяет Fluentd читать события из хвоста текстовых файлов. Его поведение аналогично команде tail -F.
Вы можете настроить его для анализа вашего журнала путем предоставления регулярного выражения формата на основе вашей схемы ведения журнала.
Я использую Ниже td-agent.conf для журнала доступа apache. Измените формат в соответствии с вашим форматом журнала в parser.rb. В моем случае parser.rb в /opt/td-agent/embedded/lib/ruby/gems/2.1.0/gems/fluentd-0.12.7/lib/fluent/parser.rb
<source>
@type tail
format apache
tag apache.access
path /var/log/httpd/access_log
</source>
<match apache.access>
type stdout
</match>
стандартный вывод является распечатать вывод в td-agent.log. поэтому сначала убедитесь, что он печатает хвост вашего файла журнала в td-agent.log. после достижения успеха вы заменяете тег соответствия, что хотите.
Удачи