Как создавать скользящие журналы для Filebeat в Docker-контейнере - PullRequest
0 голосов
/ 17 октября 2018

Я новичок в log4j2 и эластичном стеке.

У меня есть докер-контейнер filebeat, который работает не совсем так, как я хочу, и теперь я хочу взглянуть на журналы.Но когда я делаю docker-compose logs, я получаю много отладочных сообщений и объектов json.Неразборчиво, сколько там.

Как я могу создать настройку свойств log4j2, чтобы создать несколько скользящих файлов журнала.Может быть, положить старые журналы в ежемесячную папку или что-то?и куда мне положить этот log4j2.properties файл?

1 Ответ

0 голосов
/ 22 ноября 2018

Он генерирует много журналов, потому что вы запускаете docker-compose logs, который будет получать журналы для всех контейнеров в вашем файле компоновки Docker.

Вероятно, вы хотите:

  • docker logs <name-of-filebeat-container>.Имя контейнера filebeat можно найти следующим образом: docker ps.
  • docker compose logs <name-of-filebeat-service>.Имя службы можно найти в файле docker-composer.yml.

Что касается выходных данных JSON, вы можете запросить драйвер ведения журналов Docker по умолчанию с помощью:

# docker info | grep 'Logging Driver'
Logging Driver: json-file

Если ваш контейнер имеет другой драйвер ведения журнала, вы можете проверить его с помощью:

docker inspect -f '{{.HostConfig.LogConfig.Type}}' <name-or-id-of-the-container>

Все драйверы журнала можно найти по этой ссылке

Для запуска контейнеров с другимВы можете сделать лог-драйвер:

  • С Docker Run: docker run -it --log-driver <log-driver> alpine ash
  • С Docker-compose:

    `logging:
      driver: syslog
      options:
        syslog-address: "tcp://192.168.0.42:123"`
    

Что касается вашего вопроса о ротации журналов, я бы сказал, что самый простой способ - настроить драйвер журналирования с драйвером системного журнала, настроить его на свой локальный компьютер (или сервер системного журнала), а затем выполнить логотренировку файлов.

Вы можете найти несколько статей logrotate для Linux (которые, как я полагаю, вы используете), например эта

...