Despliegue con Docker

Prerrequisitos

  • Docker
  • Docker Compose v2.0.0+
  • Make (opcional)
  • 6 GB de RAM para la aplicación
  • 14 GB de espacio en disco

Obtener y ejecutar la demo

  1. Clona el repositorio de la Demo:

    git clone https://github.com/open-telemetry/opentelemetry-demo.git
    
  2. Cambia a la carpeta de la demo:

    cd opentelemetry-demo/
    
  3. Inicia la demo1:

    make start
    
    docker compose up --force-recreate --remove-orphans --detach
    
  4. (Opcional) Habilita las pruebas basadas en observabilidad de API1:

    make run-tracetesting
    
    docker compose -f docker-compose-tests.yml run traceBasedTests
    

Verificar la tienda web y la telemetría

Una vez que las imágenes estén construidas y los contenedores iniciados, puedes acceder a:

Cambiar el número de puerto principal de la demo

Por defecto, la aplicación de demostración iniciará un proxy para todo el tráfico del navegador enlazado al puerto 8080. Para cambiar el número de puerto, establece la variable de entorno ENVOY_PORT antes de iniciar la demo.

  • Por ejemplo, para usar el puerto 80811:

    ENVOY_PORT=8081 make start
    
    ENVOY_PORT=8081 docker compose up --force-recreate --remove-orphans --detach
    

Trae tu propio backend

Probablemente quieras usar la tienda web como aplicación de demostración para un backend de observabilidad que ya tienes (por ejemplo, una instancia existente de Jaeger, Zipkin, o uno de los proveedores de tu elección).

El OpenTelemetry Collector puede usarse para exportar datos de telemetría a múltiples backends. Por defecto, el collector en la aplicación de demostración fusionará la configuración de dos archivos:

  • otelcol-config.yml
  • otelcol-config-extras.yml

Para agregar tu backend, abre el archivo src/otel-collector/otelcol-config-extras.yml con un editor.

  • Comienza agregando un nuevo exporter. Por ejemplo, si tu backend soporta OTLP sobre HTTP, agrega lo siguiente:

    exporters:
      otlphttp/example:
        endpoint: <your-endpoint-url>
    
  • Luego sobrescribe los exporters para los pipelines de telemetría que quieras usar para tu backend.

    service:
      pipelines:
        traces:
          exporters: [spanmetrics, otlphttp/example]
    

Los backends de proveedores pueden requerir que agregues parámetros adicionales para autenticación, por favor revisa su documentación. Algunos backends requieren diferentes exporters, puedes encontrarlos y su documentación disponible en opentelemetry-collector-contrib/exporter.

Después de actualizar el otelcol-config-extras.yml, inicia la demo ejecutando make start. Después de un momento, deberías ver las trazas fluyendo hacia tu backend también.


  1. docker-compose is deprecated. For details, see Migrate to Compose V2↩︎ ↩︎ ↩︎