40 lines
1.2 KiB
Django/Jinja

---
# roles/monitoring_stack/templates/promtail-config.yml.j2
# Promtail: Log shipper that sends logs to Loki
server:
http_listen_port: 9080
grpc_listen_port: 0
# === WHERE TO SEND LOGS ===
clients:
- url: http://{{ watchtower_ip }}:{{ loki_port }}/loki/api/v1/push
# === WHAT LOGS TO COLLECT ===
scrape_configs:
# Collect logs from all Docker containers
- job_name: docker
docker_sd_configs:
- host: unix:///var/run/docker.sock
refresh_interval: 5s
relabel_configs:
# === LABEL: Extract container name ===
- source_labels: ['__meta_docker_container_name']
target_label: 'container'
# === LABEL: Extract compose project ===
- source_labels: ['__meta_docker_container_label_com_docker_compose_project']
target_label: 'project'
# === LABEL: Extract service name ===
- source_labels: ['__meta_docker_container_label_com_docker_compose_service']
target_label: 'service'
# === PRO-TIP: Add System Logs ===
# Uncomment to collect syslog entries
# - job_name: syslog
# static_configs:
# - targets:
# - localhost
# labels:
# job: varlogs
# __path__: /var/log/*log