La correction est intégrée au TP (Voir les encadrés de couleur vert)
Ce que vous allez apprendre dans ce TP
- Configurer l'exportateur otlphttp
- Générer des traces
- Les interroger
Introduction #
Ce que vous allez apprendre dans cette section
- Configurer l'exportateur otlphttp
- Générer des traces
- Les interroger
Contexte. Vos applications sont instrumentées avec OpenTelemetry. Vous les faites passer par un Collector, sans les lier directement à la plateforme.
Prérequis : le TP précédent · Durée estimée : 35 min
Un flux de traces de bout en bout.Mise en place #
Étapes guidées, avec leur correction.
1. Configurer le Collector
Pourquoi ? L'exportateur ajoute lui-même
Écrivez/v1/traces: indiquez seulement la base.collector.yamlavec l'exportateurotlphttpet l'en-tête d'authentification.Voir la correction
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. Ajouter le Collector à la pile
Pourquoi ? Le mot de passe ne doit pas être écrit dans la configuration du Collector.
Ajoutez le servicecollectorau Compose.Voir la correction
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. Générer des traces
Pourquoi ?
Démarrez la pile et envoyez 20 traces au Collector.telemetrygenremplace ici une application instrumentée.Voir la correction
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. Vérifier
Pourquoi ? L'en-tête
Interrogez le flux de typestream-namea choisi le fluxapplis.traces, puis ouvrez le menu Traces de l'interface.Voir la correction
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
Niveau de difficulté : ●●○○○ (2/5)
Mon suivi
Connectez-vous pour suivre votre progression et prendre des notes. Se connecter
Articles recommandés
Envoyer ses logs, métriques et traces vers OpenObserve
Les points de réception d'OpenObserve : JSON, bulk, OTLP avec le Collector OpenTelemetry, Prometh...
Corréler traces, métriques, logs et profils avec OpenTelemetry
Relier les quatre signaux pour diagnostiquer vite : ressource commune, trace_id dans les logs, ex...
Grafana Alloy : Guide complet pour collecter métriques, logs et traces
Tutoriel complet sur Grafana Alloy. Découvrez comment installer, configurer et utiliser ce collec...
Les profils, le quatrième signal d'OpenTelemetry : profilage continu et corrélation avec les traces
Comprendre le nouveau signal profile d'OpenTelemetry : profilage continu, flame graphs, modèle de...
OpenTelemetry et Dynatrace : OTLP, collecteur et instrumentation
Intégrer OpenTelemetry à Dynatrace : endpoint OTLP et jetons, Dynatrace OTel Collector, traces, m...
Relier traces et profils : span profiles avec Tempo et Pyroscope
Passer d'une trace lente au profil CPU exact de ce span : span profiles en Go et Java, configurat...
Grafana Alloy : Collecte et Transformation de Télémétrie
Apprenez à utiliser Grafana Alloy pour collecter, transformer et acheminer logs, métriques et tra...
APM Datadog et OpenTelemetry : traces, services et corrélation avec les logs
Instrumenter ses applications pour l'APM Datadog (dd-trace, instrumentation en une étape, OpenTel...
Collecter des logs vers Loki : Alloy, Promtail, Docker et OpenTelemetry
Envoyer des logs vers Loki : Grafana Alloy, Promtail, driver Docker, OTLP, bons labels, parsing e...