Benchmark monitoring - Graphite + Grafana

le 11 septembre 2025, par Iroco - 3 min de lecture

Sous le capot benchmark monitoring

Graphite + Grafana

Présentation

Exemple de dashboard de Grafana

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

Schéma descriptif du fonctionnement de Graphite + Grafana

  • 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

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

Graphique d'utilisation CPU de Graphite + Grafana sur les 3600 dernières secondes.

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

Graphique d'utilisation mémoire de Graphite + Grafana sur les 3600 dernières secondes.

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) :

Benchmark monitoring - Zabbix

le 21 août 2025, par Iroco - 3 min de lecture

Sous le capot benchmark monitoring

Zabbix

Les certificats letsencrypt avec haproxy et acme.sh

le 22 juillet 2025, par Iroco - 5 min de lecture

Sous le capot haproxy ACME

Il y a 2 ans, les mainteneurs du système de scripts acme.sh (Automated Certificate Management Environment) ont intégré haproxy. Les développeurs de haproxy ont modifié le reverse proxy pour pouvoir gérer les certificats. Pourquoi c’est important ?

Les événements de la rentrée 2025

le 22 juillet 2025, par Iroco - 0 min de lecture

Grand public Nous rencontrer

On vous retrouve en pleine forme pour les événements de la rentrée :

Benchmark monitoring - Nagios

le 18 juillet 2025, par Iroco - 4 min de lecture

Sous le capot benchmark monitoring

Nagios