loki.write "local" { endpoint { url = "http://loki:3100/loki/api/v1/push" } } discovery.docker "containers" { host = "unix:///var/run/docker.sock" refresh_interval = "5s" } discovery.relabel "containers" { targets = discovery.docker.containers.targets rule { source_labels = ["__meta_docker_container_name"] regex = "/(.*)" target_label = "container" } rule { target_label = "job" replacement = "docker" } rule { target_label = "host" replacement = constants.hostname } rule { source_labels = ["__meta_docker_container_name"] regex = "/(.*)" target_label = "service" } rule { source_labels = ["__meta_docker_container_log_stream"] target_label = "stream" } } loki.source.docker "containers" { host = "unix:///var/run/docker.sock" targets = discovery.docker.containers.targets relabel_rules = discovery.relabel.containers.rules forward_to = [loki.write.local.receiver] } otelcol.receiver.otlp "default" { grpc { endpoint = "0.0.0.0:4317" } http { endpoint = "0.0.0.0:4318" } output { traces = [otelcol.exporter.otlp.tempo.input] metrics = [otelcol.exporter.prometheus.default.input] } } otelcol.exporter.otlp "tempo" { client { endpoint = "tempo:4317" tls { insecure = true } } } otelcol.exporter.prometheus "default" { forward_to = [] }