Introduction
Un data Lakehouse offre la flexibilité et la rentabilité d'un data lake avec les capacités d'interrogation contextuelles et la rapidité d'un data warehouse.Grail est un data lakehouse inclus dans Dyntrace pour stocker et gérer les données d'observabilité et bien plus. Il est disponible uniquement sur les abonnements Dynatrace SaaS (Cloud Computing). Il va évidemment stocker dans un premier temps les piliers de l'observabilité (Logs, Traces et métriques) et étendre son champ d'application à d'autres types de données collectées dans votre cluster Dynatrace (événement métier, données réseau, etc.).
Collecte et stockage des données
Grâce au oneagent (Dynatrace agent), Dynatrace pourra collecter nativement les piliers de l'observabilité et également collecter d'autres types de données après configuration. Pour aller plus loin, Dynatrace peut collecter encore plus de données via son API, notamment des événements business issus d'offres SaaS (ou autres) comme Salesforce, SAP hybris, etc.Dynatrace Query Language (DQL)
Après avoir collecté et stocké vos données dans Grail, vous pouvez utiliser le langage de requête Dynatrace (DQL) pour extraire et manipuler les données.Le langage DQL est une succession de commandes qui sont séparées par un tube (|) et contenant chacune des paramètres, fonctions et expressions comme dans l'exemple ci-dessous : L'application recommandée pour manipuler les données dans Grail est le mode avancé de l'application Logs and events (Journaux et événements) de Dynatrace.. Dans l'exemple de code ci-dessus (juste pour montrer quelques commandes), nous récupérerons les données de type log avec 'fetch' (ligne 1) fournies par Grail et ne conserverons que celles fournies par le serveur web Nginx avec filter (ligne 2).Dans le contenu de chaque ligne de logs, nous allons extraire avec 'parse' (ligne 3) l'IP du visiteur, la date d'accès. Ensuite nous créerons un nouveau champ http_method avec 'fieldsAdd' (ligne 4) pour séparer les logs en deux catégories, ceux avec la méthode « GET » et les autres.Nous allons enfin les synthétiser avec 'summarize' (ligne 5), les donner et compter (ligne 5) le nombre d'éléments par méthode http.
Affichage des données
Une fois que vous avez construit et testé votre requête DQL, vous pouvez l'insérer automatiquement dans les trois autres applications Dynatrace suivantes :-
Tableaux de bord (Dashboard)
Visualisation du résultat de la requête :
-
Carnet de notes (Notebooks)
Visualisation de la requête ainsi que du résultat :
-
Flux de données (Workflow)
Une fois la requête construite, vous pouvez l'intégrer dans un workflow et, en fonction du résultat de la requête, exécuter des actions.Un cas d'utilisation possible est de calculer le pourcentage d'utilisation de la mémoire et du CPU de vos VM sur 1 mois et si une machine ne dépasse pas 30% d'envoyer une requête via API au fournisseur (vmware, cloud, etc.) et de réduire (réduire) ressources des machines. Il s'agit là d'une idée d'implémentation FinOps: