Cette page n'a pas encore d'étiquettes.
Apportez votre aide…

Ceci est une ancienne révision du document !



Qu'est ce RRDTools ?

RRDTools est un outil qui permet de faire des bases de données (Round-Robin Database). Il permet aussi de faire des graphs.

Exemple

Dans ces bases de données on enregistre des informations tel que le nombre de litres de bière consommé par personne pour une soirée par exemple. :)

Dans ces cas la nous allons faire une representation graphique de chaque consommation.

Soit toutes les consommations dans un même graph, soit chaque consommation dans un graph séparé. Après c'est qu'une question de présentation.

Install

"Fastoche les mains dans les poches"

$ apt-get install rrdtool

Maintenant nous allons attaquer les choses sérieuses !

Premiere base RRDTool

Il est 22h30 en ce jeudi soir je suis déjà à 50cl de biere consommé. J'ai ouvert ma biere a 21h30 et je l'ai consomé en moins de 30mn, ensuite je n'ai pas réouvert de biere avant 22h30 donc le graph sera constant puis va réaugmenté jusqu'à 23h.

Ce qui donne le tableau suivant :

L'heure aujourd'hui et le timestamp unix : nombre de secondes depuis le 1 janvier 1970 ;)

Et ensuite le nombre de centilitres que j'ai bu (hips)

  • 21h30 (1187292600) = 0
  • 21h45 (1187293500) = 20
  • 22h00 (1187294400) = 50
  • 21h15 (1187295300) = 50
  • 22h30 (1187296200) = 50
  • 22h45 (1187297100) = 75
  • 23h00 (1187298000) = 100

Note pour connaitre le timestamp plusieurs solutions :

  • En ligne de commande
    $ date +%s
  • Moi j'utilises sinon un petit plug in dans firefox qui se nomme : TimeStamp Converter qui est très pratique ;)

En ligne de commande nous allons créer conso.rrd (ma conso de biere).

    create conso.rrd

Le –start est utilisé pour savoir a quel date le RRD commence (j'ai mis ici 21h30 aujourd'hui)

  1. -start 1187292600

J'ai ajouté un DS : pour Data Source qui se nomme conso qui est une gauge (GAUGE) et qui est lu toutes les 5mn (rappel : 5mn = 300sec) 300secondes / 0.5 = 600 ;)

    DS:conso:GAUGE:600:U:U 

Ensuite j'ajoute deux archives : RRA : pour archive Round Robin c'est deux moyennes (AVERAGE) (mais la premiere n'est pas une VRAI moyenne) on prend la derniere donnée (1) et on prend 12 valeurs (12 x 5mn) soit une heure.

    RRA:AVERAGE:0.5:1:12

Pour la seconde archive c'est toujours une moyenne mais on prend qu'un enregistrement sur 6 (un par demi heure) et on prend les 10 derniers (donc les 5 dernieres heures).

    RRA:AVERAGE:0.5:6:10

Résultat a taper en ligne de commande :

    $ rrdtool create conso.rrd          \
             --start 1187292599         \
             DS:conso:GAUGE:600:U:U   \
             RRA:AVERAGE:0.5:1:12       \
             RRA:AVERAGE:0.5:6:10

Ajoutons maintenant dans la base la consomation :)

  • 21h30 (1187292600) = 0
  • 21h45 (1187293500) = 20
  • 22h00 (1187294400) = 50
  • 21h15 (1187295300) = 50
  • 22h30 (1187296200) = 50
  • 22h45 (1187297100) = 75
  • 23h00 (1187298000) = 100
    $ rrdtool update conso.rrd 1187292600:0 1187293500:20
    $ rrdtool update conso.rrd 1187294400:50 1187295300:50
    $ rrdtool update conso.rrd 1187296200:50 1187297100:75
    $ rrdtool update conso.rrd 1187298000:100

$rrdtool fetch conso.rrd AVERAGE

Cet article est en cours suite prochainement…


Contributeurs : ChoiZ

  • rrdtools.1198838362.txt.gz
  • Dernière modification: Le 18/04/2011, 14:39
  • (modification externe)