Graphite : la star open source du monitoring graphique de la perf

Graphite : la star open source du monitoring graphique de la perf Graphite est un système de monitoring d'applications et d'infrastructures cloud. Ce logiciel open source permet de réaliser des visualisations graphiques d'indicateurs temporels de perf.

Graphite : quel est cet outil de monitoring ?

Graphite est un logiciel de surveillance capable de restituer en quasi temps réel l’état de systèmes IT sous forme de graphiques. Son domaine d’activité est double : le stockage de données chronologiques de performances techniques issues des serveurs d'une part, la visualisation graphique (sous forme de courbes temporelles) des indicateurs de performance que traduisent ces données d'autre part. Pour fonctionner, le logiciel se base sur trois composantes principales :

  • Carbon cache : le daemon réseau qui se charge de récupérer les métriques
  • Carbon Whisper : la base de données qui stocke les métriques
  • Graphite Web : l’application web qui gère le rendu graphique des métriques.
Schéma d'architecture de Graphite. © Capture / JDN

Comment télécharger Graphite ?

Le système de monitoring Graphite ne se télécharge pas en un seul et même fichier. Pour procéder à son installation sur un serveur, l'utilisateur doit se rendre sur le site de Graphite et cliquer sur l'onglet Install. Attention, le site ne bénéficie pas de traduction en français et les instructions sont données uniquement en anglais.

Comment installer Graphite ?

Etant donné la diversité des éléments qui le composent, le système Graphite s’avère assez compliqué à installer sur un serveur et requiert des compétences avancées en informatique. Néanmoins, l’existence de paquets Python Package Index (PyPi) facilite grandement l’installation de Graphite.

Il est également possible de suivre l’un des nombreux scripts d’installation disponibles sur le site du projet open source, y compris pour exécuter un déploiement sous la forme d'un container Docker.

Comment utiliser Graphite dans Grafana ?

Egalement open source, Grafana est une application de data visualisation et d'analyse de métriques IT. Elle permet de bâtir des tableaux de bord à partir de bases de données techniques de séries temporelles (Time Series Database). Elle peut par conséquent s'utiliser en association avec Graphite (cf. la documentation officielle), mais aussi avec d'autres bases de données chronologiques comme InfluxDB ou encore OpenTSDB

Pour l’utiliser, rendez-vous à cette adresse et choisissez le système d’exploitation visé. Si vous optez pour le téléchargement, vous devrez décompresser l’archive avant d’exécuter la commande. Grafana est équipé d'un éditeur de requêtes ad hoc pour Graphite (voir animation ci-dessous).

Grafana est équipé d'un éditeur de requêtes ad hoc pour Graphite © Grafana

Quelles différences entre Graphite et Prometheus ?

Prometheus et Graphite sont deux systèmes de monitoring open source employés à la fois pour stocker des métriques et pour représenter graphiquement des données de performance IT sous forme de séries temporelles. Ils n'en restent pas moins très différents.

Alors que Graphite se présente sous la forme d'une base de données orientée séries chronologiques passive avec un langage de requêtage et des fonctionnalités axés sur le rendu en graphes, Prometheus est une plateforme de monitoring et de suivi de tendances beaucoup plus large, incluant à la fois data visualisation graphique, scraping, stockage, requêtage, et alerting à base de séries chronologiques.

Documentation sur Graphite

Sur le site du projet open source Graphite, les utilisateurs peuvent également accéder à une large série de fiches informatives ainsi qu’à une documentation étayée sur le système Graphite. Qu’est-ce que Graphite ? Est-il évolutif ? Comment configurer Carbon cache ? Comment configurer l’application Web ? Les principales questions clés sont couvertes par la documentation officielle.

Tutoriel : quelques liens

Si Graphite est l’un des logiciels de monitoring d’application et d’infrastructure les plus plébiscités, il n’est pas simple à installer, ni à paramétrer. C’est la raison pour laquelle de nombreux sites web proposent des tutoriels pour apprendre à se familiariser avec ce logiciel de surveillance. C'est notamment le cas de Xebia Blog, Developpez.com, MNTTech, InfoQ