Les précisions de stockages

Graphite, comme toute les bases de métrologie, stocke ses données avec diverses précisions: plus les données sont éloignées, moins elles sont précises, et ce afin de gagner en performance et surtout espace disque.

A noter que chaque métrique (par exemple cpu_idle sur le check Cpu de l'hôte serveur-1) aura sont propre fichier .wsp présent dans /opt/graphite/storage/whisper (dans un sous répertoire HOST-UUID/CHECK-UUID).

Définition des précisions de stockage

La définition des différentes précisions se font via le fichier /opt/graphite/conf/storage-schemas.conf.

Il va s'organiser en bloc. Chacun va avoir:

  • pattern: une règle d'expression régulière d'application du bloc.
    • Attention: vu que les métriques sont stockés sous forme de uuid dans Graphite, seuls les noms de métriques seront utilisables ici, pas les noms d'hôtes ou de checks
  • priority: une priorité d'application du bloc, plus la valeur est haute, moins il est prioritaire
  • retentions: une règle de rétention: suite de couple précision:durée, qui donne la précision d'un point, et la durée de stockage pour cette précision.

Par exemple:


[ma_precision]
pattern = .*
retentions = 60s:7d,300s:30d,3600s:180d,86400s:650d


Va appliquer pour tous les métriques la règle de stockage suivante:

  • un point toutes les 60s, sur 7 jours
  • un point toutes les 5min, sur 30 jours (
  • un point par heure, sur 6 mois
  • un point par jour, sur 2 ans

A noter qu'un point coûte 12 octets:

  • 4 pour la date ( taille d'un int32 )
  • 8 pour la valeur ( taille d'un double64 )


Ici un fichier créé avec cette rétention aura donc la taille:

  • 60s:7d:
    • nombres de points: 7 j * 86400s / 60s = 10080 points
    • taille= 12o * 10080 = 120ko
  • 300s:30d:
    • nombre de points : 30 j*86400 / 300s = 8640 points
    • taille = 12o * 8640 = 103Ko
  • 3600s:180d:
    • nombre de points : 180 j * 86400 / 3600s = 4320points
    • taille = 12o * 4320 = 52Ko
  • 86400s:650d
    • nombre de points : 650 j * 86400 / 86400s = 650 points
    • taille = 12o * 650 = 8Ko


Soit une Taille totale = 283Ko, par métrique pressente sur le disque (le fichier .wsp).

Attention: il est important de noter que la précision d'un fichier de métrique est prise en compte à la création du fichier.

Ainsi, un changement de la configuration de Graphite ne va pas redimensionner tous les métriques présents, mais seulement les nouveaux fichiers créés.