40 lines
1.2 KiB
Django/Jinja
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
|