RousselTMLEARNING

TP · Dynatrace : de la découverte à l’expertise

TP - Le Synthetic Monitoring

Ce que vous allez apprendre dans ce TP
  • Accéder à l'environnement SaaS Dynatrace
  • Comprendre le fonctionnement global du Synthetic Monitoring
  • Différencier un HTTP Monitor d'un Browser Monitor
  • Choisir le type de moniteur adapté au cas d'usage
  • Comprendre l'intérêt des localisations publiques et privées
  • Analyser la configuration d'un moniteur existant
  • Identifier les métriques clés (fréquence, localisations, type, étapes)
  • Afficher la liste des localisations existantes
  • Comprendre le processus pour ajouter une localisation privée (Private Location)
  • Maîtriser le Credential Vault pour sécuriser les identifiants
  • Créer un moniteur HTTP multi-étapes
  • Configurer des validations de code retour et de contenu
  • Définir des paramètres d'exécution spécifiques (Localisation et fréquence)
  • Installer et configurer le Dynatrace Synthetic Recorder
  • Enregistrer un parcours utilisateur complet
  • Valider le bon fonctionnement d'un clickpath

Les prérequis et connexion #

Ce que vous allez apprendre dans cette section
  • Accéder à l'environnement SaaS Dynatrace
  • Comprendre le fonctionnement global du Synthetic Monitoring
Prérequis critique : Avant de démarrer ce TP, il est indispensable d'avoir lu cet article.
Pour ce TP, nous allons utiliser la plateforme SaaS dédiée. Vous devez vous connecter à l'adresse suivante : https://playground.dynatrace.rousseltm.fr.
Veuillez vous rapprocher de votre formateur pour obtenir les identifiants de connexion.
  1. Présentation du Synthetic Monitoring

    Qu'est-ce que le Synthetic Monitoring et quel est son but principal ?

HTTP Monitor versus Browser Monitor #

Ce que vous allez apprendre dans cette section
  • Différencier un HTTP Monitor d'un Browser Monitor
  • Choisir le type de moniteur adapté au cas d'usage

Dynatrace propose deux grands types de moniteurs synthétiques. Il est crucial de choisir le bon outil en fonction du besoin.

  1. Différences clés

    Quelle est la différence fondamentale entre un HTTP Monitor et un Browser Monitor ?

  2. Facturation (Synthetic actions)

    Comment est calculée la facturation pour ces deux types de moniteurs dans Dynatrace ?

Localisations distantes (Locations) #

Ce que vous allez apprendre dans cette section
  • Comprendre l'intérêt des localisations publiques et privées

Une force du Synthetic Monitoring est de pouvoir tester l'application depuis différentes zones géographiques pour vérifier l'impact de la latence réseau.

  1. Pourquoi utiliser des localisations distantes ?

    Dans l'interface de création d'un moniteur (Synthetic > Create a synthetic monitor), on vous demande de choisir des 'Locations'. Quel est l'intérêt ?

Analyse d'un scénario #

Ce que vous allez apprendre dans cette section
  • Analyser la configuration d'un moniteur existant
  • Identifier les métriques clés (fréquence, localisations, type, étapes)

Maintenant que vous avez compris les concepts, mettons-les en pratique en analysant des moniteurs synthétiques existants dans l'environnement de démonstration. Les deux scénarios suivants existent dans la console, vous devez les retrouver :

  1. Dynatrace website

    Pour ce scénario, vous devez identifier :
    - Le type de scénario
    - Le taux de disponibilité
    - La fréquence d'exécution
    - Le nombre d'étapes
    - Le nombre de localisations
    - La localisation des ActiveGates qui font les tests
  2. Astroshop Core API Endpoints

    Recherchez ensuite le moniteur nommé Astroshop Core API Endpoints. Comme précédemment, identifiez :
    - Le type de scénario
    - Le taux de disponibilité
    - La fréquence d'exécution
    - Le nombre d'étapes
    - Le nombre de localisations

Gestion des localisations #

Ce que vous allez apprendre dans cette section
  • Afficher la liste des localisations existantes
  • Comprendre le processus pour ajouter une localisation privée (Private Location)

Dans cette section, nous allons voir comment administrer les localisations (Locations) dans Dynatrace, qui serviront ensuite de point de départ à vos moniteurs synthétiques.

  1. Afficher les localisations

    Comment consulter la liste des localisations publiques et privées configurées sur votre cluster Dynatrace ?

    Afficher les localisations
  2. Ajouter une localisation

    Comment ajouter une nouvelle localisation privée (Private Location) pour pouvoir exécuter des tests depuis votre propre réseau interne ?

    Note : L'ActiveGate ciblé doit avoir été installé avec la capacité 'Synthetic' activée. Une fois l'ActiveGate assigné et reconnu par le système, cette nouvelle localisation apparaîtra dans la liste des choix possibles lors de la création d'un scénario.
    Ajouter les localisations

Mise en place d'un scénario HTTP #

Ce que vous allez apprendre dans cette section
  • Maîtriser le Credential Vault pour sécuriser les identifiants
  • Créer un moniteur HTTP multi-étapes
  • Configurer des validations de code retour et de contenu
  • Définir des paramètres d'exécution spécifiques (Localisation et fréquence)
Cette section vous guide dans la création d'un moniteur HTTP complexe sur la plateforme SaaS https://demo.dynatrace.rousseltm.fr/.
Note : Pensez à utiliser votre nom lors de la création de chaque composant (ex: nom_credential, nom_monitor) pour que les participants puissent distinguer leurs ressources sur l'environnement partagé.
Attention : l'API reqres.in applique des limites en terme de nombre d'appel. Vous pouvez rencontrer l'erreur "rate_limit_exceeded" dans votre sortie JSON si vous effectuez trop de tests rapprochés.
  1. Création d'un compte sécurisé

    Sécurisation des identifiants dans le coffre-fort. Créez un token avec comme valeur reqres_8d849a2d1091451e8cec7154abc5a97c pour notre scénario.
    Note : Si ce token a expiré, n'hésitez pas à en générer un nouveau pour poursuivre le TP.
  2. Initialisation du scénario

    Démarrage de la configuration du moniteur.

  3. Ajout de l'étape 'Liste des utilisateurs'

    Configuration de la première requête API. L'étape doit pointer sur l'URL https://reqres.in/api/users avec la méthode GET, utiliser le token précédent via le header x-api-key, et déclencher une erreur si le corps de la réponse contient "error" et si son code retour est >= 400.
  4. Définition fréquence et localisations

    Paramétrage temporel (toutes les 5 minutes) et géographique depuis Paris (Azure) et Sydney (GCP).

  5. Extraction de données via JavaScript

    Le chaînage d'étapes permet de transmettre des données dynamiques. Sans cela, l'intérêt des moniteurs multi-étapes est limité. Ajoutez un script JavaScript (Post-execution script) pour extraire l'ID du second élément du tableau 'data' :
    // 1. Vérification du code de statut HTTP
    if (response.getStatusCode() != 200) {
        api.fail("HTTP error: " + response.getStatusCode());
    }
    
    var responseBody = response.getResponseBody();
    var jsonData = JSON.parse(responseBody);
    
    // 2. Sécurisation : Vérifier que "data" existe, est un tableau et possède au moins 2 éléments
    if (jsonData && jsonData.data && Array.isArray(jsonData.data) && jsonData.data.length > 1) {
        
        var userIdValue = jsonData.data[1].id;
        
        // 3. Conversion obligatoire en String pour l'injecter dans le contexte Dynatrace
        api.setValue("userid", userIdValue.toString());
        
        // 4. Affichage dans les logs d'exécution de Dynatrace
        api.info("User ID extrait : " + userIdValue);
    
    } else {
        api.fail("Erreur de parsing : Le JSON ne contient pas le deuxième élément attendu dans 'data'.");
    }
  6. Open in Notebooks

    Pour débugger vos scripts ou voir le détail des échanges HTTP, Dynatrace permet d'envoyer l'exécution d'un moniteur vers un Notebook. Créez et envoyez votre requête vers un nouveau Notebook nommé formation-synthetic-VOTRE_NOM pour voir le détail des sorties des étapes. Très utile en cas d'erreur.
  7. Étape finale : Utilisation de la variable

    Appel dynamique basé sur l'extraction précédente. Vous devez ajouter le test de l'URL https://reqres.in/api/users/[id de l'utilisateur recupere a l etape precedente] et vérifier que dans la sortie, on a bien le texte 'Become a better CTO'.

Mise en place d'un scénario Browser #

Ce que vous allez apprendre dans cette section
  • Installer et configurer le Dynatrace Synthetic Recorder
  • Enregistrer un parcours utilisateur complet
  • Valider le bon fonctionnement d'un clickpath

Cette section vous guide dans la création d'un scénario utilisateur complexe (Clickpath) à l'aide de l'extension de navigateur Dynatrace.

  1. Installation de l'extension

    Pour enregistrer facilement vos clics et navigations, vous devez installer l'extension Dynatrace Synthetic Recorder disponible sur le Chrome Web Store ou Microsoft Edge Add-ons.
  2. Mode Incognito (Anonyme)

    Il est fortement recommandé d'autoriser l'extension à s'exécuter en mode navigation privée (Incognito). Cela permet d'enregistrer vos tests dans un environnement propre, sans cookies ni sessions pré-existantes qui pourraient fausser le comportement du robot.

    Extension incognito
  3. Enregistrement des étapes

    Lancez l'enregistrement avec l'extension et effectuez les actions suivantes :
    • Ouvrir l'URL : https://elearning.rousseltm.fr
    • Cliquer sur le menu Catégories
    • Cliquer sur le bouton Voir de la catégorie Observabilité
    • Dans la liste des formations, cliquer sur Voir sur la formation Dynatrace
    • Dans la liste des sections, cliquer sur Architecture Dynatrace
    • Lancer la lecture de la vidéo
    Une fois terminé, stoppez l'enregistrement et uploadez le scénario vers votre console Dynatrace.

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

Glossaire de la formation

Observabilité

La capacité à connaître l'état interne d'un système à partir des données qu'il émet.Ces données sont classées en 3 piliers : logsmétriquestracesprofil...

CI/CD

Intégration Continue et Déploiement Continu. Pratiques DevOps visant à automatiser les tests et le déploiement des applications pour livrer plus rapid...

Dynatrace

Plateforme d'observabilité complète basée sur l'intelligence artificielle (Davis), offrant la surveillance applicative (APM), d'infrastructure et l'ex...

APM (Application Performance Monitoring)

Surveillance des performances applicatives pour identifier, diagnostiquer et résoudre les problèmes complexes liés aux performances et à la disponibil...

SLA (Service Level Agreement)

Contrat officiel conclu entre un fournisseur de services et son client, définissant le niveau de service attendu (disponibilité, temps de réponse, etc...

SLO (Service Level Objective)

Objectif interne chiffré défini par l'équipe technique (SRE) concernant le niveau de fiabilité d'un service (ex: 99.9% de disponibilité). Relation : L...

SLI (Service Level Indicator)

Métrique quantitative réelle mesurant le niveau de service fourni en production (ex: taux de réussite des requêtes, latence moyenne). Relation : Le SL...

DEM (Digital Experience Monitoring)

Surveillance de l'expérience numérique. Englobe les technologies permettant de suivre et d'optimiser l'expérience des utilisateurs finaux sur les appl...

RUM (Real User Monitoring)

Surveillance des utilisateurs réels. Technique d'observabilité passive qui capture et analyse chaque interaction des utilisateurs avec une application...

Synthetic Monitoring

Surveillance synthétique. Technique d'observabilité active utilisant des scripts automatisés (robots) pour simuler le parcours des utilisateurs et vér...

Traces distribuées

Technique (issue du pilier des Traces) permettant de suivre le cheminement complet d'une requête à travers de multiples micro-services pour identifier...

Métriques

Mesures numériques collectées à intervalles réguliers (ex: CPU, RAM, temps de réponse) utilisées pour évaluer l'état de santé global d'un système au f...

AIOps (Artificial Intelligence for IT Operations)

Utilisation de l'intelligence artificielle et de l'apprentissage automatique pour automatiser et améliorer les opérations informatiques (ex: détection...

NoOps

Concept où l'environnement informatique est tellement automatisé et abstrait (ex: Serverless, PaaS) qu'il ne nécessite quasiment plus d'équipe opérati...

OpenTelemetry

Framework open source fournissant des standards, APIs et SDKs pour collecter et exporter des données d'observabilité (traces, métriques, logs) de mani...

Articles recommandés

Comprendre la notion de score

Le concept de score va permettre à Elasticsearch de classer vos documents par pertinence lors d u...

Différences entre Technologies et Services dans Dynatrace

Dans Dynatrace, les concepts de 'Technologie' et de 'Services' aident à organiser et surveiller l...

OpenTelemetry : Instrumentation Automatique vs Manuelle

Comprenez les différences entre l'instrumentation automatique et manuelle avec OpenTelemetry, leu...

Dynatrace : Différences entre SQL Modifications, SQL Queries or Procedures, et SQL Transactions

Cet article détaille les différences entre trois concepts essentiels dans l'exécution des instruc...

Types de consommation de licence

Comprendre l'évolution de la facturation dans Dynatrace : la différence entre l'ancien modèle de ...

Les Types de Services Dynatrace : Comprendre et Optimiser Votre Surveillance Applicative

Découvrez les différents types de services que Dynatrace peut surveiller, leur rôle, et comment l...

Les SLO Dynatrace : Comprendre et Gérer les Objectifs de Niveau de Service

Découvrez comment utiliser les SLO (Service Level Objectives) dans Dynatrace pour définir et surv...

Apdex vs Core Web Vitals

Découvrez les différences entre Apdex et Core Web Vitals, deux indicateurs de performance essenti...

Comprendre Elastic Common Schema(ECS)

Comme toujours dans nos missions de conseil, nous recommandons aux entreprises d'uniformiser, de ...

Pourquoi collecter des métriques

Découvrez les raisons clés pour collecter des métriques avec des exemples concrets pour chaque cas.

Les types de métriques dans Prometheus

Découvrez en détail les quatre types de métriques supportés par Prometheus (Counter, Gauge, Histo...

Grail : Dynatrace Data Lakehouse

Désormais vous disposez dans Dynatrace (SaaS) d'un Data Lakehouse nommé Grail dont vous pouvez co...

Introduction à PromQL

Apprenez à maîtriser PromQL, le langage de requête utilisé dans Prometheus, avec des exemples et ...

Dynatrace OneAgent : tags, props, vars CLI

Pense‑bête des commandes CLI/API pour gérer tags, propriétés, variables d'environnement, versions...

Grafana Alloy : Collecte et Transformation de Télémétrie

Apprenez à utiliser Grafana Alloy pour collecter, transformer et acheminer logs, métriques et tra...

Grafana Alloy : Collecter les métriques système et les logs locaux

Découvrez comment configurer Grafana Alloy pour superviser le serveur sur lequel il s'exécute, av...

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

Grafana Alloy : Syntaxe et Configuration (Alloy Language : River)

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

Grafana Alloy : Collecte de Métriques (Prometheus & Ecosystem)

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

C'est quoi l'observabilité

La capacité à connaître l'état interne d'un système à partir des données que cette dernière émet...

Grafana Alloy : Gestion des Logs avec Loki

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

Grafana Alloy : Gestion des Traces avec 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 ...

Grafana Alloy : Déploiement Avancé et Clustering

Maîtrisez le déploiement avancé de Grafana Alloy en mode clustering. Comprenez ses avantages pour...

Grafana Assistant : L'IA au service de l'observabilité

Découvrez Grafana Assistant, l'intelligence artificielle intégrée à Grafana Cloud. Apprenez comme...

Grafana Alloy vs OpenTelemetry Collector : Lequel choisir ?

Comparaison détaillée entre Grafana Alloy et l'OpenTelemetry Collector. Découvrez les avantages, ...

Grafana Alloy vs Dynatrace ActiveGate : Lequel choisir ?

Comparaison entre Grafana Alloy et Dynatrace ActiveGate. Comprenez les différences fondamentales ...

Grafana Alloy vs Grafana Agent vs Promtail : Lequel choisir ?

Découvrez l'évolution des collecteurs de télémétrie de l'écosystème Grafana. Comparatif détaillé ...

Référence des Composants Grafana Alloy

Un guide de référence complet sur tous les composants disponibles dans Grafana Alloy, organisé pa...

Dynatrace : Maîtriser les Entity Selectors pour une observabilité à grande échelle

Découvrez l'importance stratégique des Entity Selectors, maîtrisez leur syntaxe avancée, et adopt...

Dynatrace : Gestion du RGPD et protection de la vie privée (Data Privacy)

Apprenez à configurer Dynatrace pour respecter le RGPD, masquer les données sensibles et activer ...

Dynatrace Synthetic Monitoring : Guide complet et bonnes pratiques

Découvrez comment utiliser le Synthetic Monitoring de Dynatrace pour surveiller proactivement vos...

Dynatrace Credential Vault : Sécuriser et gérer vos secrets

Découvrez comment l'application Credential Vault de Dynatrace permet de gérer de manière sécurisé...

Les variantes du DevOps : Comprendre l'évolution de la culture de l'ingénierie

Découvrez les différentes déclinaisons du DevOps : DevSecOps, AIOps, NoOps, GitOps et FinOps. Com...

Dynatrace vs Datadog : Le duel des leaders de l'APM

Comparatif complet entre les deux géants de l'observabilité. Automatisation par IA contre flexibi...

Grafana vs Kibana : Quel outil de visualisation choisir ?

Découvrez les différences fondamentales entre Grafana, le roi des métriques multi-sources, et Kib...

Grafana Loki vs Elasticsearch : La bataille du stockage de logs

Comparatif entre Loki, le système de logs inspiré par Prometheus, et Elasticsearch, le moteur de ...

Prometheus vs VictoriaMetrics : Scalabilité des métriques

Pourquoi choisir VictoriaMetrics comme alternative à Prometheus pour le stockage à long terme et ...

OpenTelemetry vs Dynatrace OneAgent : Standard ouvert ou magie propriétaire ?

Comprenez la différence entre l'instrumentation manuelle standardisée d'OpenTelemetry et l'automa...

XLA : Pourquoi l'Expérience Utilisateur est le nouveau standard de l'Observabilité

Découvrez le concept de XLA (Experience Level Agreements), la différence avec les SLAs traditionn...

Dynatrace : Management Zones vs Segments

Comprenez les différences fondamentales entre les Management Zones et les Segments dans Dynatrace...

Exploiter l'API Dynatrace v2 : Guide Complet de l'Automatisation

Apprenez à utiliser l'API Dynatrace pour automatiser votre observabilité : gestion des scopes, ro...

Qu'est-ce que le Cloud Computing ? La définition du NIST

Comprenez les fondamentaux du Cloud Computing à travers les 5 caractéristiques essentielles défin...

IaaS, PaaS, SaaS : Comprendre les modèles de service

Découvrez les différences entre l'infrastructure, la plateforme et le logiciel en tant que service.

Le modèle de responsabilité partagée en sécurité

Apprenez qui est responsable de quoi en matière de sécurité dans le Cloud.

Élasticité vs Scalabilité : Les clés de la performance

Comprenez comment le cloud s'adapte automatiquement à la charge de vos utilisateurs.

Introduction au FinOps : Maîtriser sa facture Cloud

Comment passer du CapEx à l'OpEx tout en gardant le contrôle financier.

Le Serverless : L'informatique sans serveurs à gérer

Focus sur le Function as a Service (FaaS) et l'abstraction de l'infrastructure.

Edge Computing : Amener le Cloud au plus près des données

Découvrez pourquoi le traitement à la périphérie du réseau est essentiel pour l'IoT et la latence.

Qu'est-ce qu'une application Cloud Native ?

Comprendre les principes des microservices, des conteneurs et des APIs.

Les 6 Rs : Stratégies de migration vers le Cloud

Découvrez les différentes approches pour déplacer votre infrastructure on-premise vers le nuage.

Synthetic Monitoring as Code : Industrialisez la gestion des scénarios synthétiques

Découvrez comment intégrer le Synthetic Monitoring dans vos pipelines CI/CD pour des tests de per...

Grafana Provisioning : Automatisez la gestion de vos tableaux de bord et sources de données

Découvrez comment utiliser le provisioning de Grafana pour gérer vos configurations (dashboards, ...

Les Data Sources dans Grafana : Connectez et unifiez vos données

Apprenez à étendre les capacités de Grafana via les Data Sources. Découvrez les plugins essentiel...

Maîtriser les Transformations dans Grafana : Manipulez vos données avec agilité

Apprenez à utiliser les transformations Grafana pour reformater, calculer et combiner vos données...

Maîtriser les Variables dans Grafana : Dynamisez vos Tableaux de Bord

Apprenez à utiliser les variables pour créer des tableaux de bord interactifs et réutilisables. D...

Guide des Bonnes Pratiques Dynatrace : Vers une Observabilité Mature

Optimisez votre plateforme Dynatrace grâce à nos recommandations d'experts : automatisation du ta...

Les types de transactions dans les base de données

Cet article détaille les différences entre trois concepts essentiels dans l'exécution des instruc...

Bonnes Pratiques OpenTelemetry (OTel) : Le Guide de l'Observabilité Moderne

Maîtrisez OpenTelemetry grâce à nos conseils d'experts : implémentation du Collector, respect des...

Protection des Applications

Découvrez comment sécuriser vos backends contre les abus et les attaques courantes. Guide pratiqu...

Haute Disponibilité

Assurez la continuité de service de vos applications avec les stratégies de haute disponibilité. ...

Bonnes Pratiques Grafana Alloy : Optimiser sa Collecte de Télémétrie

Découvrez les règles d'or pour configurer Grafana Alloy de manière robuste : modularité, gestion ...

Architecture OpenTelemetry : Comprendre les 3 niveaux

Plongée au cœur de l'architecture OpenTelemetry. Apprenez comment les données circulent de l'appl...