Как включить ротацию журналов для файлов журналов, например access.log.
Это встроено?
Документы только говорят: «Это позволяет ротацию журналов и их обработку внешней программой, такой как logrotate».
Как включить ротацию журналов для файлов журналов, например access.log.
Это встроено?
Документы только говорят: «Это позволяет ротацию журналов и их обработку внешней программой, такой как logrotate».
Ротация журнала
Traefik закроет и снова откроет свои файлы журналов, если они настроены, после получения сигнала
USR1
. Это позволяет вращать журналы и обрабатывать их внешней программой, напримерlogrotate
.
https://docs.traefik.io/v1.6/configuration/logs/#log-rotation
Если вы запускаете Traefik в контейнере Docker, вы можете сделать что-то вроде этого:
Убедитесь, что logrotate установлен
logrotate --version
Создайте файл в /etc/logrotate.d/
vi /etc/logrotate.d/traefik
Ставьте следующий скрипт, не забудьте указать название контейнера.
/var/log/traefik/*.log {
size 10M
rotate 5
missingok
notifempty
postrotate
docker kill --signal="USR1" <container-name>
endscript
}
Запустить!
logrotate /etc/logrotate.conf --debug
logrotate /etc/logrotate.conf
docker
. Я настроил Traefik как службу Systemd и установил для команды значение systemctl kill --signal="USR1" traefik
.
- person Ben Companjen; 07.01.2019
systemctl kill --signal=USR1 traefik
. Не знаю почему, но он используется таким образом в справочнике по докеру
- person Choma; 16.05.2020
Похоже, что нет встроенного logrotation, поэтому я включил ведение журнала на хосте, к которому подключен access.log.
Мой logrotate-config для traefik 1.7.4, запущенного в контейнере с монтированием тома в "/ opt / traefik / logs":
/opt/traefik/logs/*.log {
daily
rotate 30
missingok
notifempty
compress
dateext
dateformat .%Y-%m-%d
create 0644 root root
postrotate
docker kill --signal="USR1" $(docker ps | grep traefik | awk '{print $1}')
endscript
}
docker kill --signal="USR1" $(docker ps | grep '\btraefik\b' | awk '{print $1}')
- обратите внимание на \b
перед и после имени контейнера.
- person Nepomuk Frädrich; 05.01.2021