Aller au contenu

GUIDE TECHNIQUE · OPENTELEMETRY

Comment installer et configurer OpenTelemetry Collector avec Docker ?

Créer un pipeline OpenTelemetry Collector local avec un receiver OTLP, un processor batch et un exporter debug. Générer ensuite de vraies traces de test et confirmer leur réception sans exposer de données client.

Niveau Intermédiaire4 min de lecture— vuesOpenTelemetry
Illustration pédagogique ADN Consulting pour OpenTelemetry
GUIDES TECHNIQUES ADN CONSULTING · OpenTelemetry

01 · CADRAGE

Ce que vous allez mettre en place

Créer un pipeline OpenTelemetry Collector local avec un receiver OTLP, un processor batch et un exporter debug. Générer ensuite de vraies traces de test et confirmer leur réception sans exposer de données client.

Pour qui : Équipes d’exploitation, administrateurs systèmes et ingénieurs observabilité

Environnement et versions

Collector Core ; utiliser une image officielle avec un tag de version validé et les composants de cette distribution.

Vérifiez la compatibilité avec votre environnement réel. Les versions ne sont jamais présumées identiques d’un tenant à l’autre.

02 · AVANT DE COMMENCER

Prérequis et points de contrôle

  • Disposer d’un environnement de laboratoire ou de recette autorisé.
  • Identifier la version du produit et les droits nécessaires.
  • Vérifier les accès réseau, les secrets et la politique de sécurité.
  • Connaître la procédure de retour arrière avant toute opération.

03 · VUE D’ENSEMBLE

Comprendre l’architecture et les flux

ARCHITECTURE TECHNIQUEComprendre la chaîne de bout en bout
01Générateur OTLP
02Receiver 4317 / 4318
03Batch processor
04Debug exporter
05Traces dans les logs
Le Collector reçoit, traite et exporte les traces. Dans cette démonstration, debug écrit les traces dans les logs ; il ne remplace pas un backend de stockage ou d’analyse.
Schéma OpenTelemetry montrant les composants du Collector
Aperçu de l’environnement OpenTelemetry

Illustration du Collector publiée par le projet OpenTelemetry, complétée par notre architecture de laboratoire.

Source : OpenTelemetry

04 · TUTORIEL

Procédure complète, étape par étape

Chaque étape explique l’action, sa raison, le contrôle attendu et les erreurs habituelles. Adaptez les exemples aux paramètres de votre propre environnement.

01

ÉTAPE 1 / 6

Préparer le laboratoire Docker

Il faut une machine de test isolée pour éviter d’exposer un port OTLP sans authentification.

  1. Créer un dossier otel-lab.
  2. Vérifier que Docker fonctionne et que les ports 4317/4318 sont libres.
  3. Prévoir une version épinglée de l’image plutôt que latest.
Exemple techniqueÀ adapter à votre environnement
mkdir -p otel-lab && cd otel-lab
docker --version
Ce qui se passe à cette étape
1Préparation de l’étape
2Préparer le laboratoire Docker
3Résultat vérifié

À vérifier : L’environnement Docker est disponible et prêt.

Point de vigilance ADN : Vérifiez les autorisations avant toute modification de configuration.

02

ÉTAPE 2 / 6

Écrire collector.yaml

Un receiver ou un exporter déclaré sans pipeline n’est jamais exécuté.

  1. Créer collector.yaml dans le dossier de travail.
  2. Définir receiver otlp en gRPC et HTTP.
  3. Déclarer le processor batch et exporter debug puis les relier dans service.pipelines.traces.
Exemple techniqueÀ adapter à votre environnement
receivers:
  otlp:
    protocols:
      grpc:
        endpoint: 0.0.0.0:4317
      http:
        endpoint: 0.0.0.0:4318
processors:
  batch: {}
exporters:
  debug:
    verbosity: detailed
service:
  pipelines:
    traces:
      receivers: [otlp]
      processors: [batch]
      exporters: [debug]
Ce qui se passe à cette étape
1Préparation de l’étape
2Écrire collector.yaml
3Résultat vérifié

À vérifier : Les composants du pipeline traces sont tous déclarés et reliés.

Point de vigilance ADN : Une configuration sauvegardée ne signifie pas qu’elle est activée sur le collecteur.

03

ÉTAPE 3 / 6

Démarrer le Collector

On publie les ports du conteneur uniquement en loopback pour éviter une exposition sur le réseau local.

  1. Copier la commande Docker ci-dessous dans le terminal.
  2. Remplacer <VERSION_VALIDEE> par un tag de Collector Core testé, sans chevrons.
  3. Vérifier les messages de démarrage des receivers.
Exemple techniqueÀ adapter à votre environnement
docker run --rm --name otelcol-lab \
  -p 127.0.0.1:4317:4317 -p 127.0.0.1:4318:4318 \
  -v "${PWD}/collector.yaml:/etc/otelcol/config.yaml:ro" \
  otel/opentelemetry-collector:<VERSION_VALIDEE> \
  --config=/etc/otelcol/config.yaml
Ce qui se passe à cette étape
1Préparation de l’étape
2Démarrer le Collector
3Résultat vérifié

À vérifier : Le Collector reste démarré et écoute les ports de laboratoire.

Point de vigilance ADN : Conservez les preuves techniques, mais anonymisez identifiants et secrets.

04

ÉTAPE 4 / 6

Envoyer cinq traces OTLP

Démarrer un collecteur ne garantit pas que les signaux arrivent.

  1. Installer un générateur telemetrygen compatible avec la version utilisée.
  2. Depuis un second terminal, envoyer cinq traces vers localhost:4317 en mode local non chiffré.
  3. Surveiller les journaux du Collector.
Exemple techniqueÀ adapter à votre environnement
telemetrygen traces --otlp-endpoint localhost:4317 \
  --otlp-insecure --traces 5
Ce qui se passe à cette étape
1Préparation de l’étape
2Envoyer cinq traces OTLP
3Résultat vérifié

À vérifier : Les spans produits par telemetrygen apparaissent dans la sortie de debug.

Point de vigilance ADN : Vérifiez les autorisations avant toute modification de configuration.

05

ÉTAPE 5 / 6

Identifier une rupture de pipeline

Les erreurs les plus fréquentes proviennent du protocole et des ports mal appariés.

  1. Vérifier que 4317 est utilisé pour OTLP gRPC, 4318 pour OTLP HTTP.
  2. Relire les noms des composants YAML et les options du générateur.
  3. Inspecter les logs et confirmer la réception de ResourceSpans.
Exemple techniqueÀ adapter à votre environnement
docker logs otelcol-lab --tail 100
# À utiliser lorsque le conteneur fonctionne en mode détaché.
Ce qui se passe à cette étape
1Préparation de l’étape
2Identifier une rupture de pipeline
3Résultat vérifié

À vérifier : Le maillon en erreur est identifié et corrigé.

Point de vigilance ADN : Une configuration sauvegardée ne signifie pas qu’elle est activée sur le collecteur.

06

ÉTAPE 6 / 6

Préparer une exploitation durable

La configuration de laboratoire n’est pas sécurisée ni dimensionnée pour un environnement d’entreprise.

  1. Choisir TLS et authentification sur les frontières exposées.
  2. Évaluer batch, limites mémoire, queues/retry et suppression des attributs sensibles.
  3. Remplacer debug par une destination d’observabilité réellement compatible et effectuer un test de charge.
Ce qui se passe à cette étape
1Préparation de l’étape
2Préparer une exploitation durable
3Résultat vérifié

À vérifier : Les adaptations nécessaires au passage en production sont documentées.

Point de vigilance ADN : Conservez les preuves techniques, mais anonymisez identifiants et secrets.

05 · RECETTE

Comment vérifier que tout fonctionne ?

Résultat attenduContrôles avant de considérer la procédure terminée
01

La configuration YAML est acceptée par la version choisie.

02

Les ports ne sont exposés que sur 127.0.0.1.

03

Le générateur émet des traces et debug confirme la réception.

04

La configuration de test n’est pas considérée comme adaptée à la production.

06 · DIAGNOSTIC

Problèmes fréquents et résolution

Collector s’arrête

Cause probable : YAML invalide ou composant non disponible

Que faire : Vérifier les noms de composants propres à la distribution et aux versions.

Aucune trace

Cause probable : Endpoint OTLP ou protocole incohérent

Que faire : Comparer gRPC:4317, HTTP:4318 et l’adresse cible.

Port indisponible

Cause probable : Un processus écoute déjà sur le port

Que faire : Identifier le processus ou modifier la redirection Docker.

Erreur de connexion

Cause probable : Client TLS connecté à endpoint de labo non chiffré

Que faire : Réserver --otlp-insecure aux tests locaux ; utiliser TLS en environnement exposé.

Le conseil de l’expert ADN

Avant de généraliser cette configuration, validez-la sur un périmètre représentatif, documentez les critères de réussite et conservez une procédure de retour arrière. Une instrumentation utile se juge sur les données effectivement exploitables, pas sur la seule installation de l’outil.

07 · QUESTIONS PRATIQUES

Questions fréquentes

Le parcours dépend-il de la version ?

Oui : les noms des menus et les composants peuvent varier. Vérifiez la documentation correspondant à votre version.

Faut-il tester avant la production ?

Oui. La procédure doit être reproductible dans un environnement autorisé et représentatif.

Pour aller plus loin