RousselTMLEARNING

TP · Opentelemetry : de la découverte à l'expertise

TP : Logs OpenTelemetry corrélés aux traces et collecte de fichiers

Ce que vous allez apprendre dans ce TP
  • Brancher un logger existant sur OpenTelemetry
  • Corréler logs et traces
  • Collecter des fichiers avec filelog

Introduction #

Ce que vous allez apprendre dans cette section
  • Brancher un logger existant sur OpenTelemetry
  • Corréler logs et traces
  • Collecter des fichiers avec filelog

Contexte. Les logs de facturation sont des fichiers texte que personne ne relie aux traces. Vous branchez le service moderne sur OpenTelemetry et récupérez les logs de l'application historique sans la modifier.

Prérequis : Docker et Python 3.10 ou plus ; la pile grafana/otel-lgtm (Collector, Tempo, Loki, Prometheus, Pyroscope et Grafana dans un seul conteneur)  ·  Durée estimée : 45 min

Des logs structurés, corrélés aux traces, issus des deux voies de collecte.

Mise en place #

Étapes guidées, avec leur correction.

  1. 1. Démarrer la pile d'observabilité

    Pourquoi ? Une seule image fournit un Collector OTLP et tous les backends : on se concentre sur le signal.

    Lancez grafana/otel-lgtm, créez un environnement Python et pointez les exportateurs vers le port OTLP/HTTP 4318.
  2. 2. Brancher le module logging

    Pourquoi ? Le LoggingHandler transforme chaque appel logging en LogRecord OpenTelemetry, avec le contexte de trace actif.

    Écrivez facturation.py : un LoggerProvider avec exportateur OTLP, un handler ajouté au logger racine, un TracerProvider, et des logs INFO et ERROR émis à l'intérieur de spans.
  3. 3. Interroger et corréler dans Grafana

    Pourquoi ? Le trace_id porté par chaque log permet de passer du log à la trace et inversement.

    Dans Explore > Loki, affichez les erreurs du service, dépliez une ligne et repérez trace_id, span_id, la sévérité et vos attributs. Ouvrez la trace liée, puis depuis un span Tempo affichez ses logs.
  4. 4. Collecter les logs d'une application historique

    Pourquoi ? Sans toucher au code, le receiver filelog lit les fichiers, parse le JSON, la sévérité et le contexte de trace.

    Générez un fichier de logs JSON, puis lancez un Collector contrib sur le même réseau que la pile, avec filelog, json_parser, trace_parser et un processeur resource qui fixe service.name.
  5. 5. Réduire et masquer

    Pourquoi ? Le Collector supprime le bruit et les données personnelles avant le stockage.

    Ajoutez un processeur filter qui supprime les logs INFO et un transform qui masque les adresses e-mail dans le corps, puis vérifiez dans Loki.

Niveau de difficulté : ●●●○○ (3/5)

Mon suivi

  • ⏱ Durée estimée : ≈ 45 min

Connectez-vous pour suivre votre progression et prendre des notes. Se connecter

✉️ Poser une question

Articles recommandés

Grafana Alloy : L'importance de l'auto-supervision (Self-Monitoring)

Découvrez pourquoi et comment configurer Grafana Alloy pour qu'il se supervise lui-même, en colle...

Grafana Alloy : Comprendre et exploiter l'Interface Utilisateur (UI)

Découvrez comment activer, sécuriser et utiliser l'interface web intégrée de Grafana Alloy pour v...

OTLP expliqué : comprendre le protocole OpenTelemetry

Découvrez le protocole OTLP expliqué simplement. Comprendre les différences entre gRPC et HTTP po...

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...

Configuration de Grafana Alloy : syntaxe, ports et premiers composants

Dans le cadre d'une formation Grafana ou formation observabilité, maîtrisez la syntaxe déclarativ...

Grafana Alloy et Prometheus : collecter et envoyer des métriques

Apprenez à configurer Grafana Alloy pour collecter, transformer et envoyer des métriques en utili...

Grafana Alloy et les logs : collecter et envoyer vers Loki

Découvrez comment configurer Grafana Alloy pour lire des fichiers de logs, journald ou des flux r...

Grafana Alloy et les traces : OTLP, Jaeger et Zipkin vers Tempo

Plongez dans le traitement des traces distribuées. Apprenez à ingérer des traces OTLP, Jaeger ou ...

Grafana Alloy : Profilage Continu avec Pyroscope

Découvrez comment configurer le profilage continu (Continuous Profiling) dans vos environnements ...