# Ships every container's JSON logs to Loki (docker service discovery), # tagging streams with the compose project / service / container name so # logs are filterable in Grafana, e.g. {compose_service="api"}. server: http_listen_port: 9080 positions: filename: /tmp/positions.yaml clients: - url: http://loki:3100/loki/api/v1/push scrape_configs: - job_name: docker docker_sd_configs: - host: unix:///var/run/docker.sock refresh_interval: 30s filters: - name: label values: ["com.docker.compose.service"] relabel_configs: - source_labels: ["__meta_docker_container_label_com_docker_compose_project"] target_label: compose_project - source_labels: ["__meta_docker_container_label_com_docker_compose_service"] target_label: compose_service - source_labels: ["__meta_docker_container_name"] target_label: container pipeline_stages: - json: expressions: ts: time stream: stream log: log - labels: stream: - timestamp: source: ts format: RFC3339Nano - output: source: log