[TP] 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 :Avant de commencer, faisons un point sur Grail et les bonnes pratiques pour construire vos requêtes DQL.
- Comprendre le rôle de Grail
- Appliquer les bonnes pratiques DQL
-
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é. -
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
filterle 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 10pour accélérer les temps de réponse.
- Filtrer très tôt : Utilisez la commande
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.-
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:PROD'. Vous devez utiliser un Entity Selector. -
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'. -
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'. -
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'). -
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.-
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`). -
É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.
Glossaire de la formation
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...
Intégration Continue et Déploiement Continu. Pratiques DevOps visant à automatiser les tests et le déploiement des applications pour livrer plus rapid...
Plateforme d'observabilité complète basée sur l'intelligence artificielle (Davis), offrant la surveillance applicative (APM), d'infrastructure et l'ex...
Surveillance des performances applicatives pour identifier, diagnostiquer et résoudre les problèmes complexes liés aux performances et à la disponibil...
Contrat officiel conclu entre un fournisseur de services et son client, définissant le niveau de service attendu (disponibilité, temps de réponse, etc...
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...
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...
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...
Surveillance des utilisateurs réels. Technique d'observabilité passive qui capture et analyse chaque interaction des utilisateurs avec une application...
Surveillance synthétique. Technique d'observabilité active utilisant des scripts automatisés (robots) pour simuler le parcours des utilisateurs et vér...
Technique (issue du pilier des Traces) permettant de suivre le cheminement complet d'une requête à travers de multiples micro-services pour identifier...
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...
Utilisation de l'intelligence artificielle et de l'apprentissage automatique pour automatiser et améliorer les opérations informatiques (ex: détection...
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
Le concept de score va permettre à Elasticsearch de classer vos documents par...
Dans Dynatrace, les concepts de 'Technologie' et de 'Services' aident à organ...
Cet article détaille les différences entre trois concepts essentiels dans l'e...
Comprendre l'évolution de la facturation dans Dynatrace : la différence entre...
Découvrez les différents types de services que Dynatrace peut surveiller, leu...
Découvrez comment utiliser les SLO (Service Level Objectives) dans Dynatrace ...
Découvrez les différences entre Apdex et Core Web Vitals, deux indicateurs de...
Comme toujours dans nos missions de conseil, nous recommandons aux entreprise...
Découvrez les raisons clés pour collecter des métriques avec des exemples con...
Découvrez en détail les quatre types de métriques supportés par Prometheus (C...
Désormais vous disposez dans Dynatrace (SaaS) d'un Data Lakehouse nommé Grail...
Apprenez à maîtriser PromQL, le langage de requête utilisé dans Prometheus, a...
Pense‑bête des commandes CLI/API pour gérer tags, propriétés, variables d'env...
Apprenez à utiliser Grafana Alloy pour collecter, transformer et acheminer lo...
Découvrez comment configurer Grafana Alloy pour superviser le serveur sur leq...
Découvrez pourquoi et comment configurer Grafana Alloy pour qu'il se supervis...
Découvrez comment activer, sécuriser et utiliser l'interface web intégrée de ...
Découvrez le protocole OTLP expliqué simplement. Comprendre les différences e...
Tutoriel complet sur Grafana Alloy. Découvrez comment installer, configurer e...
Dans le cadre d'une formation Grafana ou formation observabilité, maîtrisez l...
Apprenez à configurer Grafana Alloy pour collecter, transformer et envoyer de...
La capacité à connaître l'état interne d'un système à partir des données que ...
Découvrez comment configurer Grafana Alloy pour lire des fichiers de logs, jo...
Plongez dans le traitement des traces distribuées. Apprenez à ingérer des tra...
Découvrez comment configurer le profilage continu (Continuous Profiling) dans...
Apprenez à gérer les déploiements à grande échelle de Grafana Alloy. Configur...
Découvrez Grafana Assistant, l'intelligence artificielle intégrée à Grafana C...
Comparaison détaillée entre Grafana Alloy et l'OpenTelemetry Collector. Décou...
Comparaison entre Grafana Alloy et Dynatrace ActiveGate. Comprenez les différ...
Découvrez l'évolution des collecteurs de télémétrie de l'écosystème Grafana. ...
Un guide de référence complet sur tous les composants disponibles dans Grafan...
Découvrez l'importance stratégique des Entity Selectors, maîtrisez leur synta...
Apprenez à configurer Dynatrace pour respecter le RGPD, masquer les données s...
Cet article détaille les différences entre trois concepts essentiels dans l'e...