Базовое развёртывание 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, который подключается к SigNoz вместо Logfire

Так это выглядит в интерфейсе Jaeger:

Jaeger Trace Example


Check out similar posts by category: Monitoring, Docker