Benchmark monitoring - Graphite + Grafana
le 11 septembre 2025, par
- 3 min de lectureGraphite + Grafana
Présentation
Graphite
Description : Conçu en 2006 pour collecter, stocker (via Whisper) et visualiser des séries temporelles de données grâce à Carbon et une interface web Graphite-Web graphite est un logiciel open-source modulaire (on peut changer whisper par d’autres technos si besoin). Il est compatible avec un grand nombre de logiciels différents (Icinga, Zabbix, Grafana, etc) mais reste cependant limité dans ses capacités avec sa configuration de base (pas d’alerting) et son interface web est vieillissante.
Docker : Il existe une image docker officielle de Graphite disponible sur Github
Grafana
Description : Grafana est une plateforme de représentation graphique de données statistiques en license libre AGPL, lancée en 2013. Elle peut être facilement combinée à Graphite pour fournir une interface web moderne et simple d’utilisation.
Docker : Il existe une image docker officielle de Grafana disponible sur Docker hub.
Structure
- Graphite : logiciel de stockage et de gestion de données temporelles.
- Carbon : composant principale de Graphite permettant la reception et la gestion des métriques collectées. Sa compatibilité avec collectd nous permet de nous passer d’utilitaire externe.
- Whisper : composant de Graphite fournissant le stockage de données temporelles. (peut être remplacé par d’autres technologies si besoin)
- Grafana : interface utilisateur web, génération de graphiques, alerting et gestion des utilisateurs. Il fonctionne nativement avec graphite.
Configuration
Fichiers de configuration
- /opt/graphite/conf/storage-schemas.conf (Graphite) : Fichier de configuration des schémas de stockage des données Collectd.
- docker-compose.yaml : Docker compose pour lancer Graphite et Grafana.
Interface Web / BDD (Grafana)
Data Source : Nous devons configurer une source de données Graphite dans Grafana pour qu’il utilise les données de Graphite.
Dashboard : Nous avons créé un dashboard pour visualiser les données dans Graphana. Grafana permet d’explorer automatiquement les métriques disponibles dans Graphite, ce qui simplifie grandement la création de graphiques.
Résultats
Observations
Collectd envoie ses données à Carbon grâce au plugin write_graphite qui a été intégré à collectd. Grafana peut explorer les données Collectd/Carbon pour les afficher dans son interface web.
Performances
CPU
Graphite + Grafana sont moins consommateurs en CPU que Nagios et Zabix avec une utilisation moyenne de 16,06%. On note une légère augmentation de la CPU sur l’heure de test. C’est peut-être lié à la “chauffe” du serveur qui doit se stabiliser dans le temps.
RAM
On en observe une utilisation moyenne de 3,63% pour la RAM avec également un légère augmentation dans la durée. Comme pour les autres tests, nous faisons l’hypothèse que cela viendrait de les données qui seraient montée en partie en RAM.
Conclusion
Graphite + Grafana est une solution de monitoring moderne et simple à configurer. Elle est compatible avec Collectd, ce qui permet de découpler la solution de collecte, de stockage et présentation des données. La gestion des utilisateurs est un plus qui permet d’envisager des perspectives multi-tenant. Elle offre de bonnes performances en termes de consommation CPU et RAM.
Nous comprenons que la configuration étendue de ces outils et modules de monitoring permet de les rendre compatibles les uns avec les autres. Il est envisageable de choisir carbon/graphite et d’utiliser cette stack avec avec Icinga2 ou Zabbix pour de futures évolutions. C’est un peu déroutant, mais cela permet d’éviter de devoir prendre tout ou rien d’une solution de monitoring. Il y a quand même certaines affinités qui rendent le déploiement plus simple, nous le verrons plus tard.
Retrouvez les autres articles de cette série (à venir dans les prochains jours) :
Les certificats letsencrypt avec haproxy et acme.sh
le 22 juillet 2025, par
- 5 min de lectureLes événements de la rentrée 2025
le 22 juillet 2025, par
- 0 min de lectureOn vous retrouve en pleine forme pour les événements de la rentrée :