La corrección está integrada en el TP (Ver los recuadros verdes)
Lo que vas a aprender en este TP
- Configurar el exportador otlphttp
- Generar trazas
- Consultarlas
Introducción #
Lo que vas a aprender en esta sección
- Configurar el exportador otlphttp
- Generar trazas
- Consultarlas
Contexto. Tus aplicaciones están instrumentadas con OpenTelemetry. Las haces pasar por un Collector, sin atarlas directamente a la plataforma.
Requisitos: la práctica anterior · Duración estimada: 35 min
Un flujo de trazas de extremo a extremo.Puesta en marcha #
Pasos guiados, con su corrección.
1. Configurar el Collector
¿Por qué? El exportador añade
Escribe/v1/tracespor sí mismo: indica solo la base.collector.yamlcon el exportadorotlphttpy la cabecera de autenticación.Ver la corrección
receivers: otlp: protocols: grpc: endpoint: 0.0.0.0:4317 http: endpoint: 0.0.0.0:4318 processors: batch: exporters: otlphttp/openobserve: endpoint: http://openobserve:5080/api/default headers: Authorization: "Basic ${env:O2_AUTH}" stream-name: applis service: pipelines: logs: receivers: [otlp] processors: [batch] exporters: [otlphttp/openobserve] metrics: receivers: [otlp] processors: [batch] exporters: [otlphttp/openobserve] traces: receivers: [otlp] processors: [batch] exporters: [otlphttp/openobserve]2. Añadir el Collector a la pila
¿Por qué? La contraseña no debe escribirse en la configuración del Collector.
Añade el serviciocollectoral Compose.Ver la corrección
services: openobserve: image: o2cr.ai/openobserve/openobserve:v1.1.2 ports: - "5080:5080" environment: ZO_DATA_DIR: /data ZO_ROOT_USER_EMAIL: root@example.com ZO_ROOT_USER_PASSWORD: Complexpass#123 volumes: - o2-data:/data collector: image: otel/opentelemetry-collector-contrib:latest command: ["--config=/etc/otelcol/config.yaml"] environment: O2_AUTH: ${O2_AUTH} volumes: - ./collector.yaml:/etc/otelcol/config.yaml:ro depends_on: [openobserve] volumes: o2-data:3. Generar trazas
¿Por qué?
Inicia la pila y envía 20 trazas al Collector.telemetrygensustituye aquí a una aplicación instrumentada.Ver la corrección
export O2_AUTH=$(printf 'root@example.com:Complexpass#123' | base64) docker compose up -d docker run --rm --network "$(basename "$PWD")_default" \ ghcr.io/open-telemetry/opentelemetry-collector-contrib/telemetrygen:latest \ traces --otlp-insecure --otlp-endpoint=collector:4317 --traces 20 --service=paiement4. Comprobar
¿Por qué? La cabecera
Consulta el flujo de tipostream-nameha elegido el flujoapplis.tracesy abre el menú Traces de la interfaz.Ver la corrección
NOW=$(date +%s) curl -s -u 'root@example.com:Complexpass#123' -H 'Content-Type: application/json' \ 'http://localhost:5080/api/default/_search?type=traces' \ -d "{\"query\":{\"sql\":\"SELECT service_name, operation_name, duration FROM applis\", \"start_time\":$(( (NOW-3600)*1000000 )),\"end_time\":$(( (NOW+60)*1000000 )),\"from\":0,\"size\":3}}" | jq .hits
Nivel de dificultad : ●●○○○ (2/5)
Mi seguimiento
Inicia sesión para seguir tu progreso y tomar notas. Iniciar sesión
Artículos recomendados
Envoyer ses logs, métriques et traces vers OpenObserve
Les points de réception d'OpenObserve : JSON, bulk, OTLP avec le Collector OpenTelemetry, Prometh...
OpenTelemetry Collector : les Exporters (envoyer la télémétrie vers les backends)
Configurer les exporters du Collector OpenTelemetry : OTLP gRPC/HTTP, Prometheus, prometheusremot...
OpenObserve : architecture et concepts
Comprendre OpenObserve : stockage Parquet, modes de déploiement, rôles (router, ingester, querier...
Explorer ses données dans OpenObserve : SQL, PromQL et VRL
Chercher en SQL, interroger les métriques en PromQL, optimiser un flux (index, partitions, rétent...
Collector OpenTelemetry : connecteurs, extensions et observabilité du Collector
Aller plus loin avec le Collector : connecteurs (spanmetrics, servicegraph, count, routing, failo...
OpenTelemetry sur Kubernetes : Operator, auto-instrumentation et Collector
Déployer OpenTelemetry sur Kubernetes : modes de déploiement du Collector (DaemonSet, Deployment,...
OpenTelemetry Collector, Grafana Alloy et Bindplane : comparer trois approches des pipelines de télémétrie
Comparatif détaillé de trois façons de gérer des pipelines de télémétrie : l'OpenTelemetry Collec...
OpenTelemetry Collector : les Processors (transformer, filtrer et protéger la télémétrie)
Maîtriser les processors du Collector OpenTelemetry : batch, memory_limiter, attributes, resource...
Grafana Alloy vs OpenTelemetry Collector : Lequel choisir ?
Comparaison détaillée entre Grafana Alloy et l'OpenTelemetry Collector. Découvrez les avantages, ...