Découverte de Grafana
Objectifs du chapitre et prérequis
1. Contexte et prérequis
Grafana est démarré et prêt à fonctionner. Ce chapitre propose de faire un tour d’horizon des fonctionnalités suivantes :
-
Utilisation de l’écran d’exploration pour sélectionner les métriques à utiliser.
-
Création de tableaux de bord.
-
Classement à l’aide de répertoires.
-
Création de listes de tableaux de bord.
-
Création d’instantanés pour partager facilement un état.
2. Fichiers téléchargeables
Vous pouvez récupérer les exemples sur le repository GitHub suivant : https://github.com/EditionsENI/prometheus-grafana
Vous pouvez également récupérer ces fichiers dans l’archive chapitre-05.tar.gz depuis la page Informations générales.
Découverte de Grafana
1. Contexte
Grafana est lancé et connecté à Prometheus. La suite sera consacrée à :
-
la prise en main de Grafana,
-
la création d’un tableau de bord de suivi de l’activité CPU,
-
la découverte de certaines capacités du langage de Prometheus (PromQL).
2. Accès à l’écran d’exploration (Explorer)
Avant de commencer à créer un premier tableau de bord, il est intéressant de tester la communication avec Prometheus et de trouver les métriques à exposer.
Dans notre cas, nous avons deux types d’exporteurs disponibles :
-
L’exporteur de Prometheus
-
L’exporteur système
L’exporteur système permet d’exposer de très nombreuses métriques. Parmi elles, node_load1, node_load5 et node_load15 permettent de récupérer la charge moyenne de la machine sur respectivement la dernière minute, les cinq dernières minutes, ainsi que le dernier quart d’heure.
Pour mémoire, il s’agit des mêmes valeurs renvoyées par la commande uptime ou par le fichier /proc/loadavg sous Linux. Cet indicateur est traditionnellement utilisé pour savoir si une machine est chargée ou non.
Depuis l’interface de Grafana, passez la souris au-dessus de l’icône en forme de boussole et cliquez sur le lien Explore.
Depuis ce nouvel écran, il est possible d’interroger Prometheus de la même manière que dans son interface HTTP.
3. Création d’un tableau de bord sur la charge système
a. Qu’est-ce que la charge système ?
Comme évoqué précédemment, la valeur de charge (load en anglais) permet de savoir si une machine est trop chargée. C’est une moyenne calculée sur 1, 5 ou 15 minutes. Dans les faits, elle indique le nombre de processus en cours d’exécution ou en attente sur un système.
Une charge proche de 0 indique une machine sur laquelle rien ne se passe et une machine avec une charge de 1 indique qu’un processus est en cours d’exécution. En simplifiant un peu, on peut donc considérer que pour une machine monoprocesseur, cette charge engendre une occupation à 100 % de la ressource CPU et 50 % dans...
Répertoires dans Grafana
1. Contexte
Par défaut, les tableaux de bord sont stockés dans un répertoire général (dans Grafana, il s’agit de l’objet folder General) dans une organisation par défaut. Dans une équipe de taille restreinte avec un nombre raisonnable de tableaux de bord, la question ne se pose pas.
Toutefois, les choses peuvent changer rapidement dans les cas suivants :
-
Utilisation de Grafana par plusieurs équipes avec un besoin de séparer les droits d’accès.
-
Augmentation importante du nombre de tableaux de bord ou ayant peu de points communs (indicateurs techniques de composants différents, tableaux orientés métiers, etc.).
Ce qui va suivre est une introduction aux capacités offertes par Grafana pour répondre à ces différents besoins.
2. Classement des tableaux de bord à l’aide de répertoires
a. Création de répertoires (folder)
Par défaut, lorsque rien n’est spécifié, tous les composants gérés par Grafana sont déposés dans le répertoire General. Toutefois, au fur et à mesure que les tableaux de bord sont créés, il devient intéressant de classer les différents éléments :
-
soit en fonction du type d’indicateurs utilisés (systèmes, base de données...
Listes de tableaux de bord
1. Contexte
Un besoin récurrent, lorsqu’une équipe procède au suivi d’une production, est d’afficher des indicateurs de suivi sur le nombre de connexions, l’état de l’infrastructure, etc. sur un grand écran. Toutefois, il est difficile d’avoir un tableau de bord unique permettant de retrouver toutes ces indications tout en restant lisible.
Pour ce type de besoin, Grafana offre une fonctionnalité simple et efficace : une liste de lecture de tableaux de bord. Cette dernière possède les caractéristiques ci-dessous :
-
Nom de liste de lecture.
-
Liste de tableaux de bord.
-
Temps d’intervalle entre chaque changement.
2. Création d’une liste de lecture
Afin de créer une liste de lecture, passez la souris au-dessus du symbole constitué de quatre carrés, puis cliquez sur le lien Playlists.
Création d’une liste de lecture de tableau de bord
Sur l’écran suivant, renseignez les valeurs ci-dessous :
Dans le champ Name, entrez la valeur monitoring-status.
Dans le champ Interval, entrez la valeur 1m (pour rafraîchissement toutes les minutes).
En face des tableaux de bord Prometheus 2.0 Stats et Grafana metrics, cliquez sur le bouton + Add to playlist.
Enfin, cliquez sur le bouton bleu Create.
3. Utilisation d’une liste de lecture
L’écran suivant laisse apparaître les listes de lecture définies. Pour en lancer une, cliquez sur le bouton Start playlist puis sélectionnez le mode désiré :
In Normal mode : lancement du cycle en utilisant le mode d’affichage normal de Grafana, l’affichage de l’indicateur de temps et une barre d’icônes (lecture, mise en pause ou passage à l’élément précédent/suivant).
In TV mode : même chose mais Grafana masque les menus de gestion.
In TV mode (with auto fit panels) : même chose mais Grafana redimensionne les panneaux pour tenir dans la page.
In Kiosk mode : même chose que TV mode sans la barre de lecture.
In Kiosk mode (with auto fit panels) : idem en essayant de tout faire tenir dans la page.
L’interface de Grafana lors de la lecture...
Historique et création d’instantanés
1. Contexte
Les tableaux de bord sont classés, en place et sont lancés automatiquement à l’ouverture de session. La collecte se déroule normalement dans Prometheus.
Toutefois, comme toute chose, le système évolue :
-
Les tableaux de bord peuvent être modifiés.
-
Les données de Prometheus disparaissent au bout d’un certain temps.
2. Historique des tableaux de bord
Grafana gère un historique de modification des tableaux de bord. Il est ainsi possible de revenir en arrière sur certaines modifications.
Pour accéder à cet historique, cliquez sur l’icône en forme de roue dentée () en haut de l’écran.
Depuis ce nouvel écran, cliquez sur le lien Versions sur la gauche de l’interface. Grafana donne alors une liste des différentes modifications appliquées ainsi que leur date d’application ou un message optionnel indiquant la raison de la modification.
Il est également possible de sélectionner deux versions à l’aide des cases à cocher sur la gauche de l’interface, puis de cliquer sur le bouton bleu Compare versions afin d’obtenir un résumé des modifications qui ont été opérées.
Historique des versions du tableau de bord
3. Créer un instantané de tableau de bord
a. Principe du mécanisme
Dans Prometheus...