Я пытаюсь исправить проблему , связанную с промахом с файлами symlink . Тот факт, что /var/log/nginx
, то есть nginx-logs
содержит символические ссылки promtail crazy:
promtail_1 | level=warn ts=2020-04-26T17:38:31.235870076Z caller=filetarget.go:334 msg="failed to get file size from tailer, " file=/var/log/nginx/access.log error="invalid argument"
promtail_1 | level=warn ts=2020-04-26T17:38:41.235895944Z caller=filetarget.go:334 msg="failed to get file size from tailer, " file=/var/log/nginx/access.log error="invalid argument"
promtail_1 | level=warn ts=2020-04-26T17:38:51.235921947Z caller=filetarget.go:334 msg="failed to get file size from tailer, " file=/var/log/nginx/access.log error="invalid argument"
Я мог исправить это, изменив, как и где Nginx записывает логи и монтирует только соответствующая папка. Но самым прямым способом было бы игнорировать файлы символических ссылок в опции монтирования . Возможно ли это?
version: '3.7'
services:
nginx:
container_name: ${SERVER_NAME}_nginx
restart: always
networks:
- monitoring
- web
image: nginx:1.17.5-alpine
entrypoint: /entrypoint.sh
ports:
- 80:80
- 443:443
volumes:
- ./nginx/site.conf:/etc/nginx/conf.d/site.conf
- ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro
- ./nginx/entrypoint.sh:/entrypoint.sh
- nginx-logs:/var/log/nginx
- certificates:/etc/letsencrypt/
promtail:
restart: always
container_name: ${SERVER_NAME}_promtail
image: grafana/promtail:master-b652f0a
command: -config.file=/etc/promtail/docker-config.yaml
volumes:
- nginx-logs:/var/log/nginx:ro
- /var/log:/var/log:ro
- ./promtail/docker-config.yaml:/etc/promtail/docker-config.yaml:ro
networks:
- monitoring