La correction est intégrée au TP (Voir les encadrés de couleur vert)
Ce que vous allez apprendre dans ce TP
- Récupérer les données au format JSON
- Comprendre la notion de paramètres par défaut
- Surcharger les paramètres par défaut
- Configurer un alignement en fonction d'un critère précis
- Afficher une image à la place de l'URL de cette dernière
- Afficher une gauge à la place de la valeur de cette dernière
- Appliquer un 'Tresholds'
- Appliquer un 'Value mappings'
- Ajouter un lien dynamique
- Modifier le nom des colonnes
- Modifier l'ordre des colonnes
- Masquer une colonne
- Modifier le nom des colonnes
Introduction #
Ce projet a pour objectif de vous apprendre à manipuler visualisation sous forme de tableau et à y appliquer différentes transformations: alignement, tri, image, ...INFORMATION : La visualisation de type tableau à le même fonctionnement par défaut que les tableurs par exemple il alignera toujours les nombres sur la droite et les textes sur la gauche.Pour cela, on va travailler avec ces données(Voir les données)
et les afficher sous cette forme Dans Grafana (Voir le rendu souhaité) 
Requêtes #
Ce que vous allez apprendre dans cette section
- Récupérer les données au format JSON
Récupérer les données
Vous devez utiliser la source de donnee Infinity pour récupérer les données sur le repository à l'adresse : https://github.com/RousselTM/grafana-formation/blob/main/tp/data/projet3.json.INFORMATION : Pour être utilisable au format JSON il doit être transformé en RAW.
Pour cela, vous devez ouvrir l'URL fourni. Dans la page github, il vous suffit de cliquer 'Raw' et vous obtiendrez une nouvelle URL (https://raw.githubusercontent.com/RousselTM/grafana-formation/refs/heads/main/tp/data/projet3.json) au format RAW. Cette dernière est utilisable Dans Grafana.
INFORMATION : La procédure peut changer en fonction de l'outil : Gitlab, Azure DevOps, ...
Visualisations #
Ce que vous allez apprendre dans cette section
- Comprendre la notion de paramètres par défaut
- Surcharger les paramètres par défaut
- Configurer un alignement en fonction d'un critère précis
- Afficher une image à la place de l'URL de cette dernière
- Afficher une gauge à la place de la valeur de cette dernière
- Appliquer un 'Tresholds'
- Appliquer un 'Value mappings'
- Ajouter un lien dynamique
- Modifier le nom des colonnes
Type de visualisation
Vous devez choisir une visualisation qui correspond à une représentation sous forme de tableau
Pour cela, vous devez choisir, Dans la partie 'Visualization' le type 'Table' qui correspond à un affichage sous forme de tableau
Titre et description
Vous devez définir, pour la visualisation, comme titre 'Mon premier tableau' et comme description 'Description de mon premier tableau'
Pour cela, vous devez remplir, Dans la partie 'Visualization', le champ 'Title' et 'Description'
L'alignement
Vous devez modifier l'alignement par défaut pour qu'il corresponde à l'image du résultat attendu. Le contenu de toutes les cellules sont centrées à l'exception du champ 'category' qui a un alignement à droite.
Vous disposez de plusieurs méthodes pour le faire. Mais la bonne pratique est de modifier le paramètre d'alignement par défaut à 'center' et de positionner un alignement spécifique pour 'category'. Pour cela, Dans la partie 'Visualization', vous devez sélectionner 'Center' Dans l'option 'Column alignment'. Ainsi, il ne vous reste plus qu'à créer une règle de surcharge. Vous disposez d'un bouton d'ajout tout en bas de la partie 'Visualization' mais Dans certaines versions, vous pouvez avoir un bouton d'onglet Dans 'Overides'. Vous devez cliquer sur 'Add field override' et suivre ces étapes :
- Sélectionner 'Fields with name' : comme on connaît d'avance le nom du champ.
- Sélectionner 'category' : comme demandé Dans la consigne
- Cliquer sur 'Add override property'.
- Sélectionner 'Column alignment'.
- Sélectionner 'Right'(droite) : comme demandé Dans la consigne
INFORMATION : Lorsque vous surchargez une option, Grafana vous l'informe en ajoutant un point de couleur (bleu, orange, ...) juste après le titre de l'option.
Le renommage
Vous devez utiliser la partie 'Visualization' pour renommer la colonne 'category' en 'Catégorie'.INFORMATION : Plus bas on vera qu'on peut faire la même action avec une autre méthode: les transformations.
Pour cela, on va ajouter une nouvelle regle de surcharge. Comme il y a déjà une regle sur ce champ, on ne va pas ajouter une nouvelle regle mais Dans la regle d'alignement précédente, on va ajouter une nouvelle propriété. Vous devez cliquer sur 'Add override property' et suivre ces étapes :
- Sélectionner 'Standard options > Display name'.
- Saisir 'Catégorie' : comme demandé Dans la consigne
Les liens
Grafana vous permet de créer l'interactivité Dans votre tableau avec les liens. Vous devez donc ajouter un lien pour que lorsqu'on clique sur une ligne il renvoie sur la page de la formation. Le lien doit être donc être sous la forme https://elearning.rousseltm.fr/training_chapter?id=ID, sahant que 'ID' doit correspondre au contenu du champ 'id'.
Pour cela, Dans la même partie 'Visualization', vous devez ajouter un lien 'Add link' Dans la section 'Data links and actions'.
Le 'Mapping'
Grafana vous permet de transformer le contenu de votre représentation. Vous devez créer un mapping pour demander à Grafana de transformer le texte 'true' en 'Oui' et 'false' en 'Non'. Vous devez aussi indiquer que les valeurs 'Oui' ont la couleur 'violette' et 'Non' la couleur transparente. On combinera aussi un 'override' pour lui demander à Grafana d'afficher toute la ligne en fonction de la couleur de la colonne 'certification'.
Pour cela, Dans la même partie 'Visualization', vous devez ajouter un lien 'Add value mappings' Dans la section 'Value mappings'. Dans la fenêtre qui s'ouvre, on va donc ajouter deux mapping avec respectivement comme valeur : - true :
- Value : true
- Display text: Oui
- Color: violette
- Value : false
- Display text: Non
- Color: transparent
Le 'Tresholds'
Grafana vous permet de colorier des nombres en fonction de leurs valeurs. Vous devez donc ajouter des 'Tresholds' pour qu'il colore les nombres sous cette forme : rouge: défaut, orange: > 50000, jaune: > 700000, vert: > 800000.
Pour cela, Dans la même partie 'Visualization', Dans la section 'Tresholds', vous devez ajouter plusieus 'Tresholds' avec comme 'Base' le rouge et chaque autre couleur avec la valeur demandée
Mode coloration
Grafana vous permet de colorier (texte ou fond) une cellule, une ligne en fonction d'une valeur. Vous devez donc demander à Grafana de colorer la ligne en fonction du contenu de la 'certification' et lui demande de l'appliquer à toute la ligne. Pour rappel, Dans l'étape précédente on avait défini deux couleurs donc pas besoin de les préciser.
Comme cela concerne toutes les colonnes, on n'a pas besoin d'ajouter un 'override' on l'applique donc à tout le tableau. Pour cela, Dans la même partie 'Visualization', Dans la section 'Cell options', vous devez le positionner 'Cell type' à 'Colored backgroubd' et activer l'option 'Apply to entire row'
Mode jauge
Grafana vous permet d'afficher un nombre sous forme de jauge pour visuelement comparer des valeurs. Vous devez donc afficher le nombre de vue (colonne vues) en mode jauge
On ne peut pas l'appliquer en général car il concerne uniquement la colonne 'Vues'. Vous devez donc ajouter un 'override' sur ce dernier et le faire sur la propriété 'Cell options > Cell type' et positionner 'Gauge'
Transformations #
Ce que vous allez apprendre dans cette section
- Modifier l'ordre des colonnes
- Masquer une colonne
- Modifier le nom des colonnes
La méthode HTTP
En fonction de l'appel que vous souhaitez faire, Dans la documentationde l'API, on vous indiquera la méthode à utiliser.INFORMATION : Par défaut Infinity va envoyer vos requêtes avec la méthode 'GET'. Vous devez trouver l'option pour la modifier ?
Pour cela, juste à côte du champ URL, vous devez cliquer sur le bouton 'HTTP method, Query, Headers'. Une fois la fenetre ouverte, vous allez Dans l'onglet 'Method & Body' et positionner la méthode qui correspond au endpoint renseigné Dans le champ URL.
L'authentification
L'entête accept
Grafana va se baser sur 'curl' pour requêter vos URLs pour le plugin infinity. En fonction du format que vous souhaitez obtenir il faut donc le demander à l'API via une entête.INFORMATION : Je vous invite à vous renseigner sur les différentes valeurs mais Dans notre cas la clé(key) c'est 'accept' et comme valeur(value):
Comment configurer ce paramètre Dans Grafana pour le plugin Infinity?- JSON : application/json
- CSV : text/csv
Pour cela, juste à côte du champs URL, vous devez cliquer sur le bouton 'HTTP method, Query, Headers'. Une fois la fenetre ouverte, vous allez Dans l'onglet 'Headers'
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...
Grafana
Plateforme open source de visualisation de données et d'analyse de métriques interactives.
Prometheus
Système open source de surveillance et d'alerte, particulièrement adapté pour la collecte de métriques dans des environnements dynamiques (comme Kuber...
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...
k6
Outil open source de test de charge (load testing) conçu pour l'ingénierie de performance, permettant d'évaluer la fiabilité et la scalabilité des sys...
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...
Alerting
Processus consistant à notifier les équipes (via email, Slack, Teams) lorsqu'un événement spécifique, un dépassement de seuil ou une anomalie est déte...
HTTP Code
Codes de statut HTTP standardisés indiquant le résultat du traitement d'une requête.1xx (Information) : 100 Continue, 101 Switching Protocols.2xx (Suc...
Access Log
Fichier de journalisation enregistrant les requêtes traitées par un serveur web (Apache, Nginx, Lighttpd, etc.). Il permet de tracer l'activité du ser...
Client IP
L'adresse IP de l'utilisateur effectuant la requête vers le serveur web. Lorsqu'un utilisateur passe par un Load Balancer ou un proxy (ex: Cloudflare)...
Timestamp
La date et l'heure exactes auxquelles la requête a été reçue par le serveur.Configuration : %t dans Apache, $time_local ou $time_iso8601 dans Nginx.
Request
La ligne de requête initiale du client. Elle comprend généralement la méthode HTTP (ex: GET), l'URL demandée et la version du protocole HTTP.Configura...
Status Code
Le code de statut HTTP final renvoyé par le serveur au client (ex : 200 pour un succès, 404 pour ressource non trouvée).Configuration : %>s dans Apach...
Size
Le volume des données renvoyées au client, mesuré en octets (généralement sans les en-têtes HTTP).Configuration : %b ou %O dans Apache, $body_bytes_se...
Referrer
L'URL de la page web depuis laquelle le client a cliqué ou suivi un lien pour accéder à la ressource actuelle.Configuration : %{Referer}i dans Apache,...
User-Agent
Les informations d'identification fournies par le client concernant son navigateur, son système d'exploitation et son appareil. Sa structure standard ...
Response Time
La durée totale prise par le serveur pour traiter la requête et renvoyer la réponse au client.Configuration : %D (microsecondes) ou %T (secondes) dans...
Grafana Loki
Système de journalisation (logs) multi-tenant, hautement disponible et inspiré de Prometheus. Il est conçu pour être très économe en ressources en n'i...
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...