Les templates Zabbix Nutanix « by HTTP » remontent les bonnes données, mais le dashboard Grafana posé dessus peut rester vide ou mentir. Voici cinq pièges du plugin grafana-zabbix rencontrés en construisant un dashboard Nutanix, avec le correctif de chacun.
Contexte
Supervision Nutanix par les templates Zabbix officiels HTTP (observé sur AOS 7.3), affichée dans Grafana via le plugin grafana-zabbix. Le template lui-même n’est pas le sujet ici : tout ce qui suit se passe côté Grafana.
1. Le filtre Item est une regex complète
Le champ Item accepte une regex entre slashs, mais, observé sur notre version du plugin, la correspondance porte sur le nom entier de l’item. Une regex « partielle » ne renvoie rien, sans erreur.
/motif/ -> aucune série
/.*motif.*/ -> les items dont le nom contient "motif"
2. averageSeries() n’existe pas
Réflexe Graphite : averageSeries() pour moyenner plusieurs nœuds. La référence des fonctions du plugin ne la liste pas. Les fonctions d’agrégation documentées sont sumSeries(), aggregateBy(interval, function) et percentileAgg(interval, N) ; average(interval) y est marquée dépréciée au profit d’aggregateBy.
aggregateBy(10m, avg)
sumSeries()
aggregateBy accepte avg, min, max, sum, count, median, first et last. La doc précise aussi que sumSeries() demande une interpolation et peut charger le CPU ; elle suggère de la combiner avec groupBy().
3. Les items texte ne remontent qu’en requête Text
Un item de type texte, comme la version AOS, ne s’affiche qu’avec une requête de type Text. Et là, second piège : l’issue #1859, intitulée « Text queries still setting up application instead of itemTag », décrit des requêtes Text qui filtrent encore par Application alors que Zabbix est passé aux tags. Résultat : pas de données. L’issue a été fermée « not planned » en août 2026 par le bot de nettoyage, sans correctif.
Contournements rapportés dans le fil, à tester sur sa propre version : une regex attrape-tout dans le champ Application (qui marcherait pour les prototypes d’items mais pas pour les items de base du template), ou le mode « All Fields » en excluant le champ Time par regex.
4. History ou trends : le panel qui casse sur 12 h
Symptôme observé : un panel fonctionne sur 1 h, casse sur 12 h, et pour un seul cluster. Le plugin bascule de l’history vers les trends au-delà d’un seuil de durée. Or l’hôte de ce cluster avait été recréé récemment : son history était là, ses trends encore vides.
Correctif appliqué : passer useTrends à false sur les requêtes concernées.
5. Un pourcentage entre deux items : expression Math
Pour un taux d’occupation (utilisé sur total), la transformation « calculate field » a échoué sur les noms d’items longs. Une expression Math Grafana, avec des requêtes nommées Used et Total, a fonctionné :
$Used / $Total * 100
Ce qu’il faut retenir
- Filtre Item : correspondance regex complète, toujours
/.*motif.*/. - Pas d’
averageSeries():aggregateBy(intervalle, avg);sumSeries()existe. - Items texte : requête Text obligatoire, et l’issue #1859 (fermée sans correctif) peut la laisser vide.
- Panel cassé seulement sur longue fenêtre et sur un hôte récent : trends vides,
useTrends = falseen connaissance de la rétention history. - Pourcentage entre deux items : expression Math plutôt que calculate field.
In English
Full regex matching, no averageSeries, silent text items, the history/trends switch, and a percentage between two items: five pitfalls of the grafana-zabbix plugin met on a Nutanix dashboard. Item filters need /.*pattern.*/, aggregateBy(interval, avg) replaces averageSeries(), and a Grafana Math expression works where calculate field fails on long names.
Sources & vérification
Testé sur : AOS 7.3, templates Zabbix Nutanix by HTTP, plugin grafana-zabbix (version de 2026)
- Zabbix functions reference grafana.com
- grafana-zabbix issue 1859 github.com
- Expérience directe de l’auteur, en production (versions ci-dessus)
