📝 Grafana Dashboards (Concepts Fondamentaux & Architecture)
Méta : grafana dashboard monitoring moc zettelkasten
Note mère : Observabilité & Monitoring
Un Dashboard (Tableau de bord) Grafana est l’interface visuelle centrale de l’observabilité. Son rôle est d’interroger des bases de données de séries temporelles (Time-Series, ex: Prometheus) ou de logs (ex: Loki) pour restituer l’information de manière compréhensible.
Règle d’or de l’architecture : Grafana ne stocke aucune donnée. Il ne fait que les lire, les transformer et les afficher.
1. L’Anatomie d’un Dashboard
Un tableau de bord est structuré de manière hiérarchique :
-
Time Picker (Sélecteur de temps) : Le contrôle global en haut à droite. Il définit la plage de temps (ex: Last 6 hours) et la fréquence de rafraîchissement (ex: 10s) pour tous les composants du dashboard.
-
Variables (Templating) : Les menus déroulants en haut à gauche qui permettent à l’utilisateur de filtrer dynamiquement le contenu. (Pour maîtriser ce concept, voir comment les configurer dans Déclaration des Variables Grafana et comment les appeler dans vos requêtes via Utilisation des Variables Grafana).
-
Rows (Lignes) : Des conteneurs pliables/dépliables qui regroupent logiquement des Panels (ex: Une ligne “CPU”, une ligne “Réseau”). Astuce performance : Les requêtes d’une ligne pliée ne sont pas exécutées tant qu’elle n’est pas ouverte.
-
Panels (Panneaux) : Le bloc de base visuel. Choisir la bonne représentation graphique est essentiel pour la lisibilité (voir Grafana Panels : Les Types de Visualisations).
2. Le Cycle de Vie de la Donnée (Workflow Grafana)
Pour construire un Panel efficace, Grafana suit un pipeline de traitement strict. Comprendre cet ordre est essentiel pour débugger :
-
La Requête (Query) : Grafana envoie la requête à la source de données via le backend. L’utilisation intelligente des variables rend cette requête dynamique. (Pour écrire des requêtes efficaces, consultez PromQL Basics, ou allez plus loin avec PromQL Avancé : Jointures et Opérations Binaires et le fameux “hack” PromQL Avancé : La fonction label_replace()).
-
La Transformation (Transform) : Une fois les données brutes reçues, Grafana peut les manipuler localement avant l’affichage (fusionner, cacher des colonnes, filtrer des lignes, ou faire des calculs mathématiques). Découvrez cette mécanique dans Grafana Transformations.
-
Le Rendu Visuel (Panel & Options) : Grafana applique le type de visualisation et formate le texte final. C’est ici que l’on gère les unités, le nettoyage des légendes ou les couleurs conditionnelles (voir Grafana Panels : Manipulation de l’Affichage et Légendes).
3. Les Annotations (Contextualisation)
Les annotations permettent de superposer des événements ponctuels sous forme de lignes verticales directement sur les graphiques temporels.
-
Pourquoi c’est crucial ? Elles permettent de corréler un pic CPU ou une chute de trafic avec un événement métier.
-
Cas d’usage classiques : Marquer l’heure exacte d’un déploiement (via l’API Grafana intégrée au pipeline CI/CD), signaler un redémarrage de pod, ou afficher le déclenchement d’une alerte Prometheus.
4. Bonnes Pratiques de Conception (UX / Design)
-
La Règle du “Glance Test” (5 secondes) : Un utilisateur (souvent en situation de stress lors d’un incident) doit comprendre l’état de santé du système en 5 secondes.
- Action : Placez les valeurs vitales tout en haut (Uptime, Taux d’erreur global), et cachez les graphiques de diagnostic complexes (Memory leaks, I/O Wait) plus bas, dans des Rows pliées.
-
Standardisation des couleurs (Thresholds) :
-
Vert = OK
-
Orange = Warning (Attention requise bientĂ´t)
-
Rouge = Critique (Action immédiate requise). Ne mettez jamais de rouge pour une information purement factuelle qui ne nécessite pas d’intervention.
-
-
Exploiter la Répétition (Repeat) : Ne créez jamais 50 graphiques à la main pour 50 serveurs. Utilisez une variable configurée en mode Multi-value, et activez l’option “Repeat by variable” sur votre ligne ou votre panel pour que Grafana génère l’affichage dynamiquement.