server: http_listen_port: 9080 grpc_listen_port: 0 positions: filename: /tmp/positions.yaml clients: - url: http://loki:3100/loki/api/v1/push scrape_configs: # Docker containers logs - job_name: docker docker_sd_configs: - host: unix:///var/run/docker.sock refresh_interval: 5s filters: - name: label values: ["logging=promtail"] relabel_configs: # Use container name as job - source_labels: ['__meta_docker_container_name'] regex: '/(.*)' target_label: 'container' # Use image name - source_labels: ['__meta_docker_container_image'] target_label: 'image' # Use container ID - source_labels: ['__meta_docker_container_id'] target_label: 'container_id' # Add all docker labels as labels - action: labelmap regex: __meta_docker_container_label_(.+) # All Docker containers (fallback) - job_name: docker_all docker_sd_configs: - host: unix:///var/run/docker.sock refresh_interval: 5s relabel_configs: - source_labels: ['__meta_docker_container_name'] regex: '/(.*)' target_label: 'container' - source_labels: ['__meta_docker_container_image'] target_label: 'image' - source_labels: ['__meta_docker_container_log_stream'] target_label: 'stream' # Extract compose project and service - 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' # System logs - job_name: system static_configs: - targets: - localhost labels: job: varlogs __path__: /var/log/*log