У нас есть корпоративное приложение на основе Java, которое создает журналы с помощью log4j, и мы хотим использовать Fluentd с Elasticsearch и Kibana, как описано здесь. Я хочу настроить Fluentd для пересылки наших существующих журналов и не использовать новый регистратор. Я считаю, что мы хотим использовать type tail
для этого, чтобы мы могли указать Fluentd на нужные файлы, но я думаю, что нам нужны некоторые примеры того, как правильно настроить td-agent.conf
.
Настройка файлов Fluentd tail log4j
Ответы (2)
У 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>
stdout — это вывод на печать в td-agent.log. поэтому сначала убедитесь, что он печатает хвост вашего файла журнала в td-agent.log. после достижения успеха вы заменяете тег совпадения на то, что хотите.
Удачи