promtail の config を更新しても反映されない時の対処法
QNAP TS-262 に docker でログ収集サーバを立てたときにハマった話です。自分用メモ。
TL;DR
promtail のコンテナに入って rm -f /tmp/positions.yaml
のち、docker compose restart
でデーモン再起動。これで変更が反映されて grafana からも見られる。
docker-compose.yml
こんな感じにしてます。
version: '3'
networks:
loki:
services:
rsyslog:
build: ./rsyslog
container_name: rsyslog
volumes:
- ./rsyslog/rsyslog.conf:/etc/rsyslog.conf
- /var/log:/var/rsyslog
- ./rsyslog/logrotate.d:/etc/logrotated.d
ports:
- 514:514
networks:
- loki
loki:
image: grafana/loki:2.9.2
container_name: loki
ports:
- 3100:3100
volumes:
- ./config/loki-config.yaml:/etc/loki/local-config.yaml
command: -config.file=/etc/loki/local-config.yaml
networks:
- loki
promtail:
image: grafana/promtail:2.9.2
container_name: promtail
volumes:
- /var/log:/var/log
- ./config/promtail-config.yaml:/etc/promtail/config.yaml
command: -config.file=/etc/promtail/config.yaml
networks:
- loki
grafana:
image: grafana/grafana:latest
container_name: grafana
ports:
- 3000:3000
volumes:
- grafana-storage:/var/lib/grafana
networks:
- loki
volumes:
grafana-storage:
name: grafana-storage
参考
change to promtail yaml config not reflected in grafana/loki – Stack Overflow
神。Super Thanks!!!!