Grundlegende Jaeger v2 Docker-Compose-Bereitstellung mit Traefik als Reverse Proxy
Dieses bewusst minimale Beispiel demonstriert, wie man Jaeger v2 mit Docker Compose und Traefik als Reverse Proxy bereitstellt. Es ist für Bildungszwecke konzipiert und erfordert möglicherweise weitere Anpassungen für den Produktionseinsatz.
Wichtig:
- Traces, die an diesen Server gesendet werden, sind öffentlich zugänglich, wenn die Domain öffentlich zugänglich ist
- Jeder kann Traces an diesen Server senden
- Die Daten werden nicht persistent gespeichert
docker-compose.yml
services:
jaeger:
image: jaegertracing/jaeger:2.11.0
container_name: jaeger
restart: "unless-stopped"
command:
- "--set"
- "receivers.otlp.protocols.http.endpoint=0.0.0.0:4318"
- "--set"
- "receivers.otlp.protocols.grpc.endpoint=0.0.0.0:4317"
# ports:
# - "5778:5778"
# - "16686:16686"
# - "4317:4317"
# - "4318:4318"
# - "14250:14250"
# - "14268:14268"
# - "9411:9411"
labels:
- "traefik.enable=true"
# Jaeger Web-UI
- "traefik.http.routers.jaeger.rule=Host(`jaeger.mydomain.com`)"
- "traefik.http.routers.jaeger.entrypoints=websecure"
- "traefik.http.routers.jaeger.tls.certresolver=cloudflare"
- "traefik.http.routers.jaeger.tls.domains[0].main=jaeger.mydomain.com"
- "traefik.http.routers.jaeger.tls.domains[0].sans=*.jaeger.mydomain.com"
- "traefik.http.routers.jaeger.service=jaeger"
- "traefik.http.services.jaeger.loadbalancer.server.port=16686"
# gRPC (OTLP) Receiver via Traefik
- "traefik.http.routers.jaeger-grpc.rule=Host(`grpc.jaeger.mydomain.com`)"
- "traefik.http.routers.jaeger-grpc.entrypoints=websecure"
- "traefik.http.routers.jaeger-grpc.tls.certresolver=cloudflare"
- "traefik.http.routers.jaeger-grpc.tls.domains[0].main=jaeger.mydomain.com"
- "traefik.http.routers.jaeger-grpc.tls.domains[0].sans=*.jaeger.mydomain.com"
- "traefik.http.routers.jaeger-grpc.service=jaeger-grpc"
- "traefik.http.services.jaeger-grpc.loadbalancer.server.port=4317"
- "traefik.http.services.jaeger-grpc.loadbalancer.server.scheme=h2c"
# HTTP (OTLP) Receiver via Traefik
- "traefik.http.routers.jaeger-http.rule=Host(`http.jaeger.mydomain.com`)"
- "traefik.http.routers.jaeger-http.entrypoints=websecure"
- "traefik.http.routers.jaeger-http.tls.certresolver=cloudflare"
- "traefik.http.routers.jaeger-http.tls.domains[0].main=jaeger.mydomain.com"
- "traefik.http.routers.jaeger-http.tls.domains[0].sans=*.jaeger.mydomain.com"
- "traefik.http.routers.jaeger-http.service=jaeger-http"
- "traefik.http.services.jaeger-http.loadbalancer.server.port=4318"Beispielskript
Dasselbe Skript wie für Signoz funktioniert hier, siehe Logfire-Beispiel, das sich mit SigNoz statt mit Logfire verbindet
So sieht es in der Jaeger-UI aus:

Ähnliche Beiträge nach Kategorie:
Monitoring, Docker
Wenn dieser Beitrag dir geholfen hat, erwäge, mir einen Kaffee zu spendieren oder per PayPal zu spenden, um die Recherche und Veröffentlichung neuer Beiträge auf TechOverflow zu unterstützen