Базове розгортання Jaeger v2 з docker-compose та Traefik як зворотним проксі
Цей навмисно мінімальний приклад демонструє, як розгорнути Jaeger v2 за допомогою Docker Compose з Traefik як зворотним проксі. Він створений для освітніх цілей і може потребувати додаткового налаштування для використання у продакшені.
Важливо:
- Трейси, надіслані на цей сервер, є публічно доступними, якщо домен є публічно доступним
- Будь-хто може надсилати трейси на цей сервер
- Дані не зберігаються постійно
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
- "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) приймач через 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) приймач через 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"Приклад скрипта
Тут підходить той самий скрипт, що й для SigNoz, див. Logfire example which connects to SigNoz instead of Logfire
Так це виглядає в інтерфейсі Jaeger:

Дивіться схожі статті за категоріями:
Monitoring, Docker
Якщо ця стаття допомогла вам, будь ласка, подумайте про те, щоб купити мені каву або зробити пожертву через PayPal на підтримку досліджень та публікації нових статей на TechOverflow