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!!!!