Ceci est une ancienne révision du document !
RRDTools : base de données tournante dédié à la supervision
RRDTools est un outil qui permet de faire des bases de données (Round-Robin Database). Il permet aussi de faire des graphes.
Exemple
Dans ces bases de données on enregistre des informations tel que l'audience d'une radio en fonction de l'heure et du nombre d'auditeurs connectés simultannés
Nous allons pouvoir faire plusieurs choses avec les données : - Affichage des données en fonction du temps (par exemple un graph pour le jour en cours, pour la semaine, pour le mois et l'année). - Si la radio a plusieurs canaux différents par exemple une radio avec de la musique uniquement et l'autre avec des animateurs on poura combiner les données des deux stations sur le meme graph.
Installation
"Fastoche les mains dans les poches" : il suffit d'installez le paquet rrdtool
Maintenant nous allons attaquer les choses sérieuses !
Premiere base RRDTool
Il est 22h30 en ce jeudi soir, nous avons 50 auditeurs sur la station de radio 1. A 21h30 il n'y avait 40 auditeurs sur la radio, à 21h45 il y en avait 48 etc…
Pour ce qui est de l'heure on converti la date et l'heure actuel en timestamp unix (nombre de secondes depuis le 1er janvier 1970 à 0h00:00) Note pour connaitre le timestamp plusieurs solutions :
- En ligne de commande
$ date +%s
- Sinon un petit plugin dans firefox qui se nomme : TimeStamp Converter est très pratique ;)
Ce qui donne le tableau suivant :
* heure (timestamp) = nombre d'auditeurs
- 21h30 (1187292600) = 40
- 21h45 (1187293500) = 48
- 22h00 (1187294400) = 50
- 21h15 (1187295300) = 52
- 22h30 (1187296200) = 50
- 22h45 (1187297100) = 35
- 23h00 (1187298000) = 30
En ligne de commande nous allons créer radio1.rrd
create radio1.rrd
Le –start est utilisé pour savoir à quelle date le RRD commence (j'ai mis ici 21h30 aujourd'hui)
- -start 1187292600
On ajoute un DS : pour Data Source qui se nomme audience qui est une gauge (GAUGE) et qui est lu toutes les 5mn (rappel : 5mn = 300sec) 300secondes / 0.5 = 600 ;)
DS:audience:GAUGE:600:U:U
Ensuite on ajoute deux archives : RRA : pour archive Round Robin c'est deux moyennes (AVERAGE) (mais la premiere n'est pas une VRAIE 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 à taper en ligne de commande :
$ rrdtool create radio1.rrd \ --start 1187292599 \ DS:audience:GAUGE:600:U:U \ RRA:AVERAGE:0.5:1:12 \ RRA:AVERAGE:0.5:6:10
Ajoutons maintenant dans la base le nombre d'auditeur :)
- 21h30 (1187292600) = 0
- 21h45 (1187293500) = 20
- 22h00 (1187294400) = 50
- 21h15 (1187295300) = 50
- 22h30 (1187296200) = 50
- 22h45 (1187297100) = 75
- 23h00 (1187298000) = 100
$ rrdtool update radio1.rrd 1187292600:0 1187293500:20 $ rrdtool update radio1.rrd 1187294400:50 1187295300:50 $ rrdtool update radio1.rrd 1187296200:50 1187297100:75 $ rrdtool update radio1.rrd 1187298000:100
$ rrdtool fetch radio1.rrd AVERAGE
Cet article est en cours suite prochainement…
Contributeurs : ChoiZ