Monitoring Stack (Grafana Tempo)
services: otlp-collector: image: otel/opentelemetry-collector-contrib:latest volumes: - "./otlp-collector.yml:/etc/otlp-collector.yml" command: ["--config", "/etc/otlp-collector.yml"] ports: - "4317:4317" - "4318:4318" - "55679:55679" - "13133:13133"
prometheus: image: prom/prometheus:v3.0.1 command: [ "--web.enable-otlp-receiver" , "--config.file=/etc/prometheus/prometheus.yml" ] volumes: - "./prometheus.yml:/etc/prometheus/prometheus.yml" ports: - "9090:9090"
tempo: image: grafana/tempo:latest ports: - "3200:3200" # Tempo UI (default HTTP port) volumes: - "./tempo.yml:/etc/tempo/tempo.yml" command: [ "-config.file=/etc/tempo/tempo.yml" ]
grafana: image: grafana/grafana:latest volumes: - "./grafana.yml:/etc/grafana/provisioning/datasources/datasources.yaml" environment: - GF_AUTH_ANONYMOUS_ENABLED=true - GF_AUTH_ANONYMOUS_ORG_ROLE=Admin - GF_AUTH_DISABLE_LOGIN_FORM=true - GF_FEATURE_TOGGLES_ENABLE=traceqlEditor ports: - "80:3000"Grafana + Tempo + Prometheus
Section titled “Grafana + Tempo + Prometheus”Run with:
docker-compose upThen, head to:
- http://localhost:80 (Grafana)
- http://localhost:9090 (Prometheus)
See also Grafana’s documentation.