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
Mise en place #
Étapes guidées, avec leur correction.
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.
Lancezgrafana/otel-lgtm, créez un environnement Python et pointez les exportateurs vers le port OTLP/HTTP 4318.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.
Écrivezboutique.pyqui, 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. 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. 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. 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 deshop_orders_total, ajoutez temporairement un attributuser.idaléatoire, recomptez, puis retirez-le.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 etOTEL_METRICS_EXEMPLAR_FILTER.
Niveau de difficulté : ●●●○○ (3/5)
Mon suivi
Connectez-vous pour suivre votre progression et prendre des notes. Se connecter
Articles recommandés
RUM et Synthetic Monitoring avec Datadog : synthetic transaction monitoring et expérience utilisateur
Mesurer l'expérience utilisateur avec Datadog : RUM navigateur et mobile, Core Web Vitals, Sessio...
Infrastructure avancée avec Datadog : réseau, cloud, conteneurs et bases de données
Superviser l'infrastructure au-delà des hôtes : Network Performance Monitoring, intégrations AWS,...
Sécurité avec Datadog : Cloud SIEM, Cloud Security et protection des applications
Découvrir les produits de sécurité de Datadog : Cloud SIEM et règles de détection, Cloud Security...
Incidents et automatisation avec Datadog : On-Call, Incident Management et Workflow Automation
Gérer les incidents dans Datadog : monitors bien conçus, astreinte avec On-Call, déclaration et s...
Coûts et gouvernance Datadog : usage, attribution, RBAC et politiques de tags
Maîtriser la facture et gouverner Datadog : suivi de l'usage et de l'estimation, attribution des ...
ActiveGate et network zones : architecture, routage et haute disponibilité
Comprendre et déployer ActiveGate dans Dynatrace : rôles (routage, API, intégrations cloud, exten...
Dynatrace Operator sur Kubernetes : DynaKube, modes de supervision et dépannage
Superviser Kubernetes avec le Dynatrace Operator : installation Helm, ressource DynaKube, modes c...
OpenTelemetry et Dynatrace : OTLP, collecteur et instrumentation
Intégrer OpenTelemetry à Dynatrace : endpoint OTLP et jetons, Dynatrace OTel Collector, traces, m...
Logs avancés avec OpenPipeline : traitement, masquage, buckets et rétention
Gérer les logs dans Dynatrace avec OpenPipeline : ingestion, routage, traitement DQL (parsing, en...