Я запускаю fluentd на докере и настраиваю его для подключения смонтированного файла журнала.
Чтобы проверить, как fluentd обрабатывает ротацию журналов, я создал java-приложение с регистратором logback, которое настроено на запись в этот файл, прокручивая каждую минуту и максимальным размером 15 КБ.
похоже, что fluentd не распознает этот файл
Я использую изображение док-станции fluentd fluent / fluentd: v1.3.2-debian
Файл конфигурации fluentd:
<source>
@type tail
path /var/log/audit.log
pos_file /var/log/audit.log.pos
tag audit
format json
</source>
<match audit>
@type stdout
</match>
Используемая мной версия logback - классическая logback, версия 1.2.3.
Конфигурация приложения:
<appender name="AUDIT_LOG" class="CustomAppender">
<file>/tmp/logs/audit.log</file>
<encoder>
<pattern>%m%n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>/tmp/logs/audit.log.%d{yyyy-MM-dd_HH_mm__}%i.log</fileNamePattern>
<maxHistory>30</maxHistory>
<maxFileSize>15kb</maxFileSize>
</rollingPolicy>
</appender>
Я почти уверен, что проблема в том, что при обратном входе файл сбрасывается на диск.
Когда я отладил logback, fluentd узнал, что происходит. Также, когда я вручную переименовал файл в оболочке (mv Audit.log Audit.old.log)