Настройте журналы Kubernetes по другому пути с помощью Spring Logback - PullRequest
2 голосов
/ 07 мая 2020

У меня есть приложение для загрузки Java / Spring, которое работает в модуле Kubernetes, журналы настроены на стандартный вывод, fluentd получает журналы по пути по умолчанию: У меня есть файл appender json:

<appender name="jsonAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>${LOG_PATH}/spring-boot-logger.log</file>
    <encoder class="net.logstash.logback.encoder.LogstashEncoder"/>
    <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
        <maxIndex>1</maxIndex>
        <fileNamePattern>${LOG_PATH}.%i</fileNamePattern>
    </rollingPolicy>
    <KeyValuePair key="service" value="java-app" />
    <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
        <MaxFileSize>1MB</MaxFileSize>
    </triggeringPolicy>
</appender>

Как мне интегрировать этот отдельный файл журнала, отличный от stdout, в мои настройки Kubernete вместе с Fluentd, чтобы отправлять мои json журналы по другому пути

Ответы [ 2 ]

1 голос
/ 08 мая 2020
  1. В файле dockerfile для весеннего загрузочного приложения создайте каталог, в который будут записываться журналы
  2. В файле журнала xml есть FileAppender, который будет записывать журналы в этот каталог
  3. Сделайте файл logback xml как часть файла jar в папке resources.
  4. Добавьте сопроводительный файл Fluentd в модуль c приложения Spring Boot
  5. Настроить Fluentd Sidecar для хвоста журналов из файла журнала, записанного по этому пути каталога.
1 голос
/ 08 мая 2020

Вам необходимо:

  1. переместить этот файл на том emptyDir (или hostPath, я думаю, но использовать emptyDir), а затем
  2. запустить fluentd / bit в качестве сопроводительного файла, который читает из этот том и
  3. пересылает остальной части вашей настройки fluentd.
...