Tempo Docker Compose example

I am using the docke-compose.yaml file from the temp git repo in the folder tempo\example\docker-compose\otel-collector

All the containers come up but the traces dont show up in grafana. When I checked the logs it seems the otel-collector service is not able to connect to tempo. Here is the error message:

2021-12-07T19:14:35.372Z info exporterhelper/queued_retry.go:325 Exporting failed. Will retry the request after interval. {"kind": "exporter", "name": "otlp", "error": "failed to push trace data via OTLP exporter: rpc error: code = Unavailable desc = connection error: desc = \"transport: Error while dialing dial tcp 172.20.0.6:55680: connect: connection refused\"", "interval": "40.458987627s"}

I am not sure what is wrong and where to look for the problem. All containers are on the default network and the synthetic trace generator is able to acces the otel-collector service but the otel-collector is not able to get to the tempo port.

Hi, I can confirm this also happens on my setup. We recently merged an update to our OpenTelemetry dependency and this likely changed some defaults.

There are 2 workarounds to get the example working again:

  • Modify the Tempo endpoint in otel-collector.yaml to use port 4317.
diff --git a/example/docker-compose/otel-collector/otel-collector.yaml b/example/docker-compose/otel-collector/otel-collector.yaml
index 5579fc58f..ba7e6317b 100644
--- a/example/docker-compose/otel-collector/otel-collector.yaml
+++ b/example/docker-compose/otel-collector/otel-collector.yaml
@@ -4,7 +4,7 @@ receivers:
       thrift_http:
 exporters:
   otlp:
-    endpoint: tempo:55680
+    endpoint: tempo:4317
     insecure: true
 service:
   pipelines:
  • Modify docker-compose.yaml to use grafana/tempo:1.2.1 instead of latest. Latest is built from the main branch.
diff --git a/example/docker-compose/otel-collector/docker-compose.yaml b/example/docker-compose/otel-collector/docker-compose.yaml
index c39e20b38..f110aba32 100644
--- a/example/docker-compose/otel-collector/docker-compose.yaml
+++ b/example/docker-compose/otel-collector/docker-compose.yaml
@@ -19,7 +19,7 @@ services:

   # To eventually offload to Tempo...
   tempo:
-    image: grafana/tempo:latest
+    image: grafana/tempo:1.2.1
     command: [ "-config.file=/etc/tempo.yaml" ]
     volumes:
       - ../local/tempo-local.yaml:/etc/tempo.yaml

We will get a proper solution in soon, thanks for reporting this!

Thanks for finding and reporting this. PR to fix here: