traefik logrotate访问日志泊坞窗卷

问题描述 投票:0回答:1

我正在尝试使用主机上的traefik docker对访问日志进行logrotate。 logrotate运行时,会创建一个新的日志文件,很好,但始终为零,就像未重新安装docker卷一样。在traefik docker上,访问日志仍继续增长。 logrotate访问日志的窍门是什么? thx

我的/etc/logrotate.d/traefik

/var/www/traefik_access.log {
  size 10K
  rotate 30
  missingok
  notifempty
  compress
  dateext
  dateformat .%Y-%m-%d
  create 0644 www-data www-data
  postrotate
    docker kill --signal="USR1" traefik
  endscript
}

我的docker-compose.yml:

version: '3'

services:
  traefik:
    image: traefik:latest
    container_name: traefik
    restart: always
    ports:
    - 80:80
    - 443:443
    volumes:
    - /var/run/docker.sock:/var/run/docker.sock
    - ./traefik.toml:/traefik.toml
    - ./acme.json:/acme.json
    - ./traefik_access.log:/access.log
    networks:
    - web

我的文件

-rw-r--r--  1 www-data www-data  1818 août   7 11:30 traefik_access.log.2019-08-07.gz
-rw-r--r--  1 www-data www-data     0 août   7 11:30 traefik_access.log
docker traefik logrotate
1个回答
0
投票

您有什么解决方案吗?

我面对'traefik:chevrotin'的同样问题。开始时,日志已正确链接。但是发布“ logrotate”后,只有主机日志文件被旋转,并且与容器日志文件的链接断开。然后,容器日志文件不断增加,但是主机日志保持为空。

docker-compose.yml

traefik: image: traefik:chevrotin command: - "--log.filePath=/logs/traefik.log" volumes: - "/var/log/traefik.log:/logs/traefik.log"

Logrotate conf:

/var/log/traefik.log { size 1k compress create 0644 root root missingok notifempty rotate 5 postrotate docker kill --signal="USR1" traefik endscript }

Traefik接收到USR1信号,但日志链接断开的问题仍然存在。

{"level":"info","msg":"Closing and re-opening log files for rotation: user defined signal 1"

© www.soinside.com 2019 - 2024. All rights reserved.