RousselTMLEARNING

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

TP : Instruments, vues et exemplars avec le SDK métriques

Ce que vous allez apprendre dans ce TP
  • Choisir le bon instrument
  • Configurer une vue
  • Utiliser les exemplars

Introduction #

Ce que vous allez apprendre dans cette section
  • Choisir le bon instrument
  • Configurer une vue
  • Utiliser les exemplars

Contexte. La direction veut suivre les commandes, les paniers en cours, le stock et la latence de l'API. Vous produisez ces métriques avec OpenTelemetry et vérifiez qu'elles sont exploitables dans Prometheus.

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 : 50 min

Des métriques bien typées, des histogrammes justes et une métrique reliée à une trace.

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. Produire des métriques avec les quatre familles d'instruments

    Pourquoi ? Le type d'instrument détermine l'agrégation et donc la justesse des graphiques.

    Écrivez boutique.py qui, en boucle, incrémente un Counter de commandes, fait varier un UpDownCounter de paniers, enregistre la durée des requêtes dans un Histogram et expose le stock via un ObservableGauge. Export toutes les 5 secondes.
  3. 3. Retrouver les métriques dans Prometheus

    Pourquoi ? La conversion OTLP vers Prometheus renomme les métriques : il faut savoir les retrouver.

    Dans Explore > Prometheus, retrouvez chaque métrique sous son nom Prometheus et écrivez les requêtes : débit de commandes par moyen de paiement, paniers ouverts, stock par entrepôt, latence p95.
  4. 4. Corriger les bornes avec une vue

    Pourquoi ? Les bornes par défaut (0, 5, 10, 25… 10000) sont pensées pour des millisecondes : en secondes, presque tout tombe dans le premier intervalle et le p95 est faux.

    Observez les buckets actuels, arrêtez le script, ajoutez une vue avec des bornes en secondes, relancez et comparez le p95.
  5. 5. Mesurer l'effet de la cardinalité

    Pourquoi ? Chaque valeur d'attribut distincte crée une série : un identifiant sur une métrique fait exploser le stockage.

    Comptez les séries de shop_orders_total, ajoutez temporairement un attribut user.id aléatoire, recomptez, puis retirez-le.
  6. 6. Relier une latence à sa trace

    Pourquoi ? Les mesures faites dans un span échantillonné portent un exemplar avec le trace_id : on passe du graphique à la requête exacte.

    Affichez le p95 dans un panneau Grafana avec l'option Exemplars activée, cliquez sur un point élevé et ouvrez la trace correspondante dans Tempo. Si aucun exemplar n'apparaît, vérifiez la version du SDK et OTEL_METRICS_EXEMPLAR_FILTER.

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

Mon suivi

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

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

✉️ Poser une question

Articles recommandés

Dynatrace SaaS vs Managed : choisir, organiser cluster et environnements

Choisir entre Dynatrace SaaS et Managed, organiser cluster et environnements, prendre en main l'i...

OneAgent : méthodes de collecte, installation, Kubernetes et santé

Les méthodes de collecte de Dynatrace (OneAgent, OpenTelemetry, Prometheus, API), l'installation ...

Configuration as Code avec Monaco : tokens, OAuth, projets et CI/CD

Gérer la configuration Dynatrace comme du code avec Monaco : jetons d'API et clients OAuth, manif...

Release monitoring dans Dynatrace : versions, événements de déploiement et suivi des incidents

Suivre les versions déployées dans Dynatrace : variables DT_RELEASE, labels Kubernetes, événement...

Real User Monitoring Dynatrace : injection, applications web et vérification

Mettre en place la surveillance des utilisateurs réels dans Dynatrace : injection automatique par...

Analyser l'expérience utilisateur dans Dynatrace : sessions, traces, analyses et USQL

Exploiter les données d'expérience utilisateur (DEM) : Apdex et Core Web Vitals, sessions utilisa...

Métriques Dynatrace : Data Explorer, sélecteurs de métriques, API et tableaux de bord

Exploiter les métriques dans Dynatrace : métriques intégrées et personnalisées, Data Explorer, sy...

Gestion des problèmes dans Dynatrace : Davis, page problème, notifications et auto-remédiation

Comprendre les problèmes détectés par Davis, lire une page problème (cause racine, impact, chrono...

Paramètres essentiels de Dynatrace : propriétaires, maintenances, nommage, requêtes clés et tags

Configurer les paramètres transverses de Dynatrace : propriétaires des entités (ownership), fenêt...