Les variables Grafana permettent de rendre les dashboards dynamiques et interactifs. Elles apparaissent sous forme de listes déroulantes en haut du dashboard et sont injectées dans les requêtes PromQL.
Notes détaillées
| Note | Contenu |
|---|---|
| Déclaration des variables | Types de variables, type “Query” avec Prometheus, options de refresh, regex, chaînage |
| Utilisation des variables | Syntaxe d’injection $var / ${var}, opérateurs PromQL =~ vs =, formatage avancé, répétition |
Types de variables
| Type | Usage |
|---|---|
| Query | Valeurs dynamiques issues d’une requête Prometheus (label_values(metric, label)) |
| Custom | Liste de valeurs statiques définies manuellement |
| Constant | Valeur fixe (ex: URL de base) |
| Interval | Intervalle de temps pour le paramètre $__rate_interval |
| Datasource | Switcher entre plusieurs sources de données |
| Text box | Saisie libre de l’utilisateur |
Syntaxe d’injection
| Syntaxe | Usage |
|---|---|
$variable | Injection simple dans PromQL |
${variable} | Injection dans du texte (ex: titre de panel) |
${variable:regex} | Formatage avancé (pipe, csv, json…) |
# Variable à valeur unique → opérateur =
http_requests_total{job="$job"}
# Variable multi-valeurs / All → opérateur =~ (regex)
http_requests_total{job=~"$job"}Chaînage de variables
Les variables peuvent dépendre les unes des autres :
$namespace → filtre les pods disponibles → $pod → filtre les containers → $container
Chaque variable suivante est déclarée avec une requête qui référence la précédente :
label_values(kube_pod_info{namespace="$namespace"}, pod)
En relation avec
- Synthèse Grafana — hub principal
- Dashboards — Vue d’ensemble — variables utilisées dans les panels
- PromQL — Vue d’ensemble — syntaxe des requêtes enrichie par les variables