Graphite

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Domaine Stockage et visualisation de métriques temporelles
Composants Carbon (ingestion), Whisper (stockage RRD-like), graphite-web (rendu)
Collecte typique StatsD
Voir aussi Opentsdb · Hadoop

Graphite est un outil de stockage et de visualisation de séries temporelles (métriques applicatives et système : temps de réponse, nombre de requêtes, charge CPU...), historiquement l'un des standards de fait de la métrologie open source.

Graphite se compose de trois éléments distincts :

  • Carbon — démon qui reçoit les métriques en écriture (typiquement via le protocole
 texte simple plaintext sur le port 2003, ou pickle pour du batch).
  • Whisper — moteur de stockage sur disque de type round-robin (à la manière de RRDtool) :
 taille fixe, avec agrégation/dégradation de la résolution des données anciennes pour
 maîtriser l'espace disque.
  • graphite-web — interface web historique de rendu de graphiques à partir des données
 Whisper (largement remplacée aujourd'hui par Grafana comme frontal de visualisation,
 Graphite continuant à servir de backend de stockage/requêtage via son API).

Alimenter Graphite

Les métriques arrivent rarement directement de l'application : StatsD est l'agrégateur réseau le plus courant en frontal de Carbon — il reçoit des métriques simples (compteurs, timers, gauges) par UDP depuis le code applicatif, les agrège sur une courte fenêtre de temps, puis les pousse vers Carbon.

Positionnement face à OpenTSDB

Graphite et Opentsdb répondent au même besoin (stocker des séries temporelles) avec des architectures très différentes : Whisper est un stockage à taille fixe par métrique, simple à opérer mais qui passe mal à l'échelle avec un très grand nombre de métriques distinctes (cardinalité), tandis qu'Opentsdb s'appuie sur HBase pour un stockage distribué taillé pour un volume de métriques bien plus important.

Voir aussi

  • Opentsdb — alternative orientée grande échelle (backend HBase)
  • Hadoop — écosystème Bigdata, pertinent au-delà de la simple métrologie applicative