fluentd не распознает ротацию логов файла, записанного приложением logback - PullRequest
0 голосов
/ 01 апреля 2019

Я запускаю 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)

...