Accueil Technologies Grafana – guide complet : manipulation simple des widgets
Guide complet sur Grafana - Manipulation simple des widgets

Grafana – guide complet : manipulation simple des widgets

par Jérémy PASTOURET
Publié : Mis à jour le

Si vous avez suivi mon précédent article, vous en êtes restés à l’étape de notre guide de présentation de Grafana indiquant que la prochaine étape est la création d’un tableau de bord. Cliquez sur le bouton New Dashboard comme sur l’image ci-dessous.

Grafana - Nouveau Tableau de bord

A ce moment-là, Grafana vous prépare un tableau de bord vide.

Actions Grafana sur un nouveau tableau de bord

Je vous propose un peu de description pour cette page que vous allez voir souvent. On commence par l’encadré violet qui indique le nom de votre tableau de bord. Il sert aussi de navigateur pour passer sur un autre dashboard. La partie verte correspond à un nouveau panneau. Vous y verrez la liste des widgets manipulables et disponibles : il vous suffit de cliquer dessus. Si vous souhaitez ajouter un autre élément (graphique, tableau…) cliquez sur le bouton encadré en rouge. Puis pour sauvegarder votre tableau, vous devez cliquer sur la disquette en haut à droite (encadrée en bleu).

Ajout d’un tableau de données issu d’une requête SQL

Si vous ne savez pas comment écrire votre requête SQL, je vous invite à lire mon article sur MetaBase. Cet outil permet de faire des requêtes avec le clic de votre souris, et transforme ce que vous souhaitez dire en requête SQL compréhensible par Grafana. Cliquez sur le Widget Table pour choisir le mode tableau.

Grafana - Nouveau panneau Table

Après avoir cliqué sur Table, le panneau vous affiche No data to show (partie verte). Normal puisque vous n’avez pas encore indiqué à Grafana ce que vous voulez afficher. La partie violette indique le nom du panneau. Je vous recommande vivement de le modifier, tout simplement pour savoir ce que représente votre tableau. Pour cela, cliquez sur Edit (encadré bleu).

Grafana - Création de requête SQL

Grafana vous place directement sur l’onglet le plus intéressant : la création de requête SQL. Mais avant de vous lancer la-dedans, j’aimerais que vous prêtiez attention à quelques petites choses auparavant.

  • Data Source : default – faites attention à cette liste car vous pouvez facilement vous trompez si vous connectez Grafana à plusieurs bases de données. Aussi je vous conseille de spécifier quelle base de données vous souhaitez interroger.
  • Select 1 : il s’agit de la partie où l’on peut écrire sa requête.
  • Format as : Table – je vous conseille de choisir Table : ainsi, vous verrez directement le résultat de votre requête.
  • L’icône œil (à droite sur la ligne Select) : ce bouton sert à rafraîchir le résultat de votre requête.

Pour ce tutoriel, j’ai choisi de me servir dans le monde de l’open data pour créer une base de données de guide pour Grafana. Si cela vous intéresse, voici la page du wiki de PostgreSql. J’ai choisi la table et le fichier du Price Paid data. Nous allons partir sur une requête simple qui va afficher tout les lignes de notre table land_registry_price_paid_uk.

Grafana - Affiche toutes les données d'une table

Jouer avec les filtres de temps de Grafana

Comme vous pouvez le constater, il est possible de jouer sur le temps (cf encadré rouge ci-dessous). C’est-à-dire afficher des données en fonction d’une période ou d’une durée. Par exemple, on peut demander à Grafana d’afficher les données d’il y a moins de 30 minutes : cela peut être utile si vous surveillez un site e-commerce très actif. Vous pouvez aussi avoir besoin de voir les données d’un mois de l’année dernière en particulier. Pour cela il vous suffit donc de cliquer sur ce bouton de temps en haut à droite. Vous pouvez ensuite utiliser (en vert) les Quick ranges, c’est-à-dire des durées prédéfinies (par exemple, les dernières 24h).

Filtre de temps Grafana

Dans la partie bleue, vous pouvez spécifier un intervalle de temps : par exemple du 11 octobre au 10 août. Pour finir, la section violette permet de rafraîchir votre tableau de bord toutes les x secondes ou minutes. Mon conseil : faites attention à ne pas saturer la base de données aux dépends de vos visiteurs.

Cette partie est plutôt sympathique à personnaliser pour un non développeur, mais pour autant tout n’est pas magique sur nos widgets. Alors comment Grafana repère-t-il la bonne colonne en base de données pour afficher les résultats attendus ?

Les macros dans Grafana

Je vous rassure, je ne les connais pas par cœur et d’ailleurs ce n’est pas utile de les apprendre. Mais c’est comme tout : vous devez juste savoir que ça existe, et connaître l’endroit où vous trouverez de l’aide. Pour cela, je vous invite à cliquer sur le bouton Show Help (encadré rouge sur l’image ci-dessous). Je vous conseille de lire le texte qui se déplie pour mieux appréhender la suite.

Grafana - aide sur les macros

Grâce à ces petites macros, nous allons rendre notre tableau de bord vivant et dynamique. Si nous revenons sur notre table d’exemple, j’aimerais filtrer les éléments sur les dates de transfert. Pour cela, nous allons compléter la condition de rendu grâce au mot-clé SQL Where.

Grafana - Macro exemple Where time

Dans ma requête (encadré vert), j’ai utilisé la macro $__timeFilter avec une colonne qui contient bien évidemment des dates. Cette fonction me permettra d’afficher les données en fonction de la sélection effectuée (encadré rouge). Vous pouvez constater que tout fonctionne correctement en jetant un œil sur l’encadré bleu.

Les informations modifiables d’un widget

Je vous invite à cliquer sur le sous-onglet Général afin de regarder ce que l’on peut modifier.

L'onglet Général d'un widget Graphana

Pour plus de simplicité je vous conseille à minima de saisir un titre sur le panel, histoire de savoir à quoi correspondent les données. Si c’est complexe, vous pouvez saisir une description qui aidera probablement un autre développeur de votre équipe par la suite.

Etirer ou rétrecir un widget

Vous pouvez aussi étirer/rétrécir un widget grâce aux lignes affichées, ou si vous souhaitez gagner de l »espace sur un écran.

Petite description des autres types de widgets

Je me suis rendu compte que sur certains widgets, Grafana propose un mode de requête SQL simplifié. Je vous conseille vivement de passer en mode édition SQL directement, car c’est compliqué à utiliser – même pour moi. Pour activer ce mode, vous devez cliquer sur le bouton Edit SQL (encadré en rouge sur l’image ci-dessous).

Grafana - Passer en mode Edit SQL

Singlestat

Le principe consiste à afficher une valeur unique. Ci-dessous, je joue avec le count (encadré rouge) pour connaître le nombre de lignes sur une période donnée. Vous pourriez par exemple afficher le nombre de nouveaux clients. N’oubliez pas de sélectionner le Format as Table (encadré vert). Le résultat de la requête est visible dans l’encadré violet.

Grafana - Widget SingleStat

Graph

Pour ce widget graphique, je vous conseille d’utiliser le format Time series (encadré bleu). En effet, pour ce genre d’éléments, on souhaite voir les données évoluer au cours du temps. Concernant la requête SQL, il faut faire attention à certains points (dans l’encadré rouge). Vous devez mettre une colonne de temps avec la macro $__time(colonne), suivi d’une colonne dont la donnée agrégée vous intéresse. Par exemple une moyenne par jour, ou une somme, etc. Il ne faut pas oublier de mettre la contrainte WHERE de temps pour que cela puisse varier. Enfin, on termine par le GROUP BY qui doit contenir la colonne de date et potentiellement d’autres colonnes en fonction de la donnée que vous souhaitez faire ressortir.

Grafana - Widget Graph

Heatmap

C’est la même chose que pour les graphiques ci-dessus : même type de requête. Voici le résultat :

Grafana - Widget Heatmap

Titre / texte explicatif

Grâce à ce widget, on peut insérer des notes explicatives sur un tableau de bord particulier. Ou des informations utiles pour les visiteurs de votre Grafana. Vous pouvez écrire en HTML ou en Markdown (écriture à la mode Wikipedia).

Grafana - Titre & Texte explicatif

Alert List

J’aborderai ce type de widget dans un prochain article qui vous expliquera comment créer des alertes. Mais pour vous donner un avant-goût, voici une petite capture d’écran :

Grafana - Widget - Liste d'alertes

Dashboard list

Comme son nom l’indique, il affiche les différents tableaux de bord existants d’un répertoire. Le cas classique d’utilisation ? Créer une page d’accueil par produit ou serveur surveillé.

La Row

Le principe est simple et la fonction est très utile. Vous pouvez regrouper sur un même tableau de bord plusieurs widgets dans une ligne. Cela permet de séparer vos différents widgets par type d’éléments par exemple. Fonction bonus, vous pouvez étendre ou masquer les widgets d’une ligne comme on peut le voir sur l’image ci-dessous. Une row correspond à un titre modifiable avec la petite flèche à gauche (par exemple Serveur Web, Base de données).

Grafana - Widget - Row

Conclusion

Vous avez découvert la quasi-totalité des widgets utiles présents par défaut dans Grafana. J’espère que ces différents tutoriels vous pousseront à utiliser Grafana, ou à imaginer ce que vous pourriez faire avec. Dans un prochain article, nous aborderons tout ce qui concerne la gestion d’utilisateurs.

Vous pourriez aussi aimer

10 commentaires

Nicolas 14 mars 2019 - 14 h 06 min

Merci pour ce guide.
Savez-vous s’il est possible de modifier la valeur par défaut de « Quick ranges » (par exemple sélectionner automatiquement « Yesterday » à la place de « Last 6 hours ») ?

Répondre
Nicolas 15 mars 2019 - 10 h 09 min

C’est tout simple en fait : il faut sélectionner la valeur souhaitée puis cocher « Save current time range » lors de l’enregistrement.

Répondre
Louise NICOLAS 15 mars 2019 - 14 h 22 min

Bonjour,
Il suffit simplement de sélectionner la période qui vous intéresse dans le bloc Quick Range, puis de cliquer sur la disquette de sauvegarde. Ensuite vous validez la sauvegarde et le tour est joué.

Répondre
TSIMI MBASSI Anicet 1 novembre 2019 - 14 h 56 min

Merci les enovateurs

Répondre
Jean Michel 18 juin 2020 - 17 h 42 min

salut

j’ai une question que je ne trouve pas sur les forums

J’exploite la base de données SQL de mon logiciel de gestion commercial DOLIBARR avec GRFANA et ça fonctionne bien,

mai une chose que je n’arrive pas à faire, c’est de mixer 2 tables

est-ce-que c’est possible

merci d’avance pour votre aide

Répondre
Jérémy PASTOURET 18 juin 2020 - 20 h 01 min

Bonjour,
J’ai dû mal à comprendre ce que tu veux dire par mixer 2 tables.
Peux-tu envoyer une image du résultat SQL attendu ?
Jérémy.

Répondre
Jean-Michel 19 juin 2020 - 15 h 34 min

Afficher dans le même graphique le résultat de 2 tables sql diferente

Répondre
Jérémy PASTOURET 23 juin 2020 - 10 h 28 min

Pour mixer le résultat de deux tables SQL. Il faut écrire une seule et unique requête SQL qui fait le lien entre les deux.
Avec des Inner Join ou avec WITH …
Selon le moteur de base de données, il y a différentes possibilités.

Répondre
Simon Labrosse 3 juillet 2020 - 8 h 06 min

Bonjour,

En premier lieux merci pour ce TUTO vraiment top super expliquer.

Je suis en train de faire un projet sur Grafana mais j’ai un problème et je ne c’est pas du tout d’ou ça pourrait venir, bref le truc que quand je ne suis plus connecter avec mon ordinateur a Grafana la remonter d’info ne ce fait pas alors que quand je suis connecté les info remonte bien. Je voudrait faire de l’historisation de donner. Saurais vous d’ou ca peut venir ?

Merci d’avance

cordialement
LABROSSE Simon

Répondre
Jérémy PASTOURET 5 juillet 2020 - 10 h 46 min

Bonjour,
Merci pour votre commentaire.
Concernant votre problème, j’ai besoin de plus de précision sur votre installation.
Grafana est installé où ? Vos données sont disponibles où ?

Cordialement,
Jérémy PASTOURET

Répondre

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.