RousselTMLEARNING

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

TP - Analyse avancée avec Grail, DQL et Entity Selectors

Ce que vous allez apprendre dans ce TP
  • Comprendre le rôle de Grail
  • Appliquer les bonnes pratiques DQL

Rappels sur Grail et DQL #

Ce que vous allez apprendre dans cette section
  • Comprendre le rôle de Grail
  • Appliquer les bonnes pratiques DQL

Avant de commencer, faisons un point sur Grail et les bonnes pratiques pour construire vos requêtes DQL.

  1. Qu'est-ce que Grail ?

    Grail est le data lakehouse de Dynatrace. Contrairement aux bases de données traditionnelles, Grail est conçu spécifiquement pour l'observabilité. Il stocke les logs, métriques, traces et événements (bizevents) de manière unifiée, sans nécessiter de schémas stricts ni d'indexation préalable (schema-on-read). Cela permet d'interroger massivement des données avec un contexte topologique (Smartscape) toujours conservé.

  2. Bonnes pratiques pour les requêtes DQL

    Pour écrire des requêtes performantes en DQL (Dynatrace Query Language), vous devez suivre quelques règles d'or :
    • Filtrer très tôt : Utilisez la commande filter le plus tôt possible dans votre requête pour réduire le volume de données à traiter dans les pipelines suivants.
    • Sélectivité temporelle : Limitez toujours la plage horaire de votre recherche (directement via le sélecteur de temps ou dans la requête).
    • Exploiter les Entity Selectors : Utilisez la fonction entitySelector() pour bénéficier du contexte dynamique au lieu de chercher des IDs statiques en dur.
    • Utiliser limit() : Lors de l'écriture et de vos tests, terminez vos requêtes par limit 10 pour accélérer les temps de réponse.

Création des requêtes DQL #

Vous allez créer 5 requêtes DQL qui exploitent la fonction `entitySelector()` pour cibler dynamiquement vos entités.

  1. Requête 1 : Logs des hôtes en production

    Écrivez une requête DQL pour récupérer les logs uniquement pour les hôtes portant le tag 'env:training'. Vous devez utiliser un Entity Selector.

  2. Requête 2 : Événements liés aux services Java

    Écrivez une requête pour lister et compter les événements récents liés aux services exécutant la technologie 'Java'.

  3. Requête 3 : Utilisation CPU via Timeseries

    Grail permet également d'interroger les métriques. Affichez l'utilisation CPU moyenne (métrique `builtin:host.cpu.usage`) pour tous les hôtes appartenant à une Management Zone nommée 'MZ_Finance'.

  4. Requête 4 : Recherche d'erreurs d'une équipe spécifique

    Récupérez les logs contenant le mot 'error' pour les groupes de processus (PROCESS_GROUP) qui sont possédés par l'équipe backend (tag 'owner:backend').

  5. Requête 5 : Événements métier (Bizevents) par application

    Récupérez les derniers événements métier (bizevents) générés, mais limitez cette recherche uniquement aux applications surveillées de type APPLICATION (Web ou Mobile).

Exportation vers Notebook et Tableau de bord #

L'objectif ici est de sauvegarder, documenter et visualiser le résultat de vos requêtes pour vos équipes.

  1. Création du Notebook

    Exécutez vos requêtes DQL dans l'application Notebooks. Mettez en page votre document et sauvegardez-le en respectant la norme de nommage : `formation-` (par exemple : `formation-martin`).
  2. Épingler dans un Dashboard

    Créez un nouveau tableau de bord nommé `formation-`. Épinglez au moins 3 de vos résultats DQL dans ce tableau de bord.

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

Mon suivi

  • ⏱ Durée estimée : ≈ 1 h 03

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

💬 Discussions récentes de la formation

Poser une question sur cette leçon →Voir toutes les discussions de la formation

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

Core Web Vitals

Ensemble de trois métriques définies par Google pour mesurer l'expérience réelle d'une page web : le chargement (LCP (Largest Contentful Paint)), la r...

LCP (Largest Contentful Paint)

Temps écoulé jusqu'à l'affichage du plus grand élément visible de la page (image, vidéo ou bloc de texte) : il indique quand le contenu principal appa...

INP (Interaction to Next Paint)

Latence des interactions (clic, tap, touche) observée pendant toute la visite : délai entre l'action de l'utilisateur et l'affichage suivant. La valeu...

CLS (Cumulative Layout Shift)

Mesure de la stabilité visuelle : somme des décalages inattendus de mise en page (un bouton qui se déplace au moment du clic, un texte poussé par une ...

FCP (First Contentful Paint)

Temps écoulé jusqu'à l'affichage du premier contenu (texte, image, SVG) : le moment où l'utilisateur voit que la page commence à charger. Ce n'est pas...

TTFB (Time to First Byte)

Temps entre le début de la navigation et la réception du premier octet de la réponse : il additionne redirections, DNS, connexion TCP/TLS et temps de ...

FID (First Input Delay)

Ancienne métrique de réactivité des Core Web Vitals : délai avant que le navigateur commence à traiter la première interaction (bon ≤ 100 ms). Elle ig...

TBT (Total Blocking Time)

Métrique de laboratoire (Lighthouse) : somme, entre FCP (First Contentful Paint) et la fin du chargement, de la part de chaque tâche longue (plus de 5...

CrUX (Chrome UX Report)

Base publique de Google qui agrège les Core Web Vitals mesurées chez les vrais utilisateurs de Chrome (au 75e percentile, par origine et par URL, sur ...

Lighthouse

Outil d'audit libre de Google, intégré aux DevTools de Chrome et à PageSpeed Insights : il charge la page dans un environnement simulé et note perform...

Apdex

Application Performance Index : score de satisfaction entre 0 et 1 calculé à partir d'un seuil de temps T. Les requêtes sous T sont « satisfaisantes »...

Articles recommandés

DQL en pratique : explorer logs et événements, notebooks, tableaux de bord et performance

Utiliser le Dynatrace Query Language au quotidien : explorer logs et événements, enchaîner les co...

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

Grail : Dynatrace Data Lakehouse

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

Grail et DQL avancés : jointures, lookup, séries temporelles et optimisation

Aller plus loin avec DQL : join et lookup, makeTimeseries et timeseries, parse avec DPL, entités ...

Dynatrace : Management Zones vs Segments

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

L'app Investigations de Dynatrace : mener une enquête sur les données de Grail

Découvrir l'app Investigations : requêtes DQL, extraction avec DPL Architect, enrichissement, arb...

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

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

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

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

Soutenir

♥ SOUTENIR

Soutenez RousselTM Learning

Les formations, articles, TP et attestations restent gratuits et sans publicité intrusive. Une contribution libre, du montant de votre choix, finance l’hébergement, les environnements de TP et l’écriture de nouveaux contenus.

Contribuer avec PayPal Montant libre · carte bancaire ou compte PayPalEn savoir plus
QR code PayPal
Ou scannez ce QR code avec votre téléphone

Merci, chaque contribution compte !