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

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.

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.

Il suffit d'installez le paquet rrdtool

Maintenant nous allons attaquer les choses sérieuses !

Cet exemple permet de créer une base de donnée RRD Tool pour deux radios.

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 ;)

Nous allons créer une base RRD pour une Radio avec 2 flux : Rock et Alternative

   rrdtool create radios.rrd --start 1297810800 \
   DS:rock:GAUGE:600:U:U \
   DS:alternative:GAUGE:600:U:U \
   RRA:AVERAGE:0.5:1:24 \
   RRA:AVERAGE:0.5:6:12

Reprenons ligne par ligne le fonctionnement :

  • rrdtool create → jusque là tout va bien c'est pour dire qu'on créer une base de donnée RRD
  • radios.rrd → c'est le fichier rrd que nous utiliserons comme base de donnée
  • –start 1297810800 → indique la date de départ de ma base de donnée (en Timestamp) ici le 16 Février 2011 à 0h00.

La seconde et la 3eme ligne sont des DS (DATA SOURCE) sources de données en Français.

  • DS:ds-name:GAUGE | COUNTER | DERIVE | ABSOLUTE:heartbeat:min:max

Explications :

  • DS: → DATA SOURCE
  • ds-name → Nom de votre source de donnée (dans l'exemple rock) à savoir qu'elle doit faire entre 1 et 19 caracteres et alphanumérique avec possibilité d'utiliser "_" l'underscore soit [a-zA-Z0-9_]
  • GAUGE | COUNTER | DERIVE | ABSOLUTE → DST (DATA SOURCE TYPE)
  • COUNTER → valeurs incrémentales, ne diminue jamais sauf quand un compteur déborde. Si il dépasse 32 ou 64 bit.
  • GAUGE → valeurs entrées par l'utilisateur tel qu'une température ou autre…
  • DERIVE → valeurs positives ou négatives
  • ABSOLUTE → est pour les compteurs qui se réinitialisent à la lecture. Il est utilisé pour les compteurs de vitesse qui ont tendance à déborder.

Pour plus d'infos je vous renvoi à la doc http://oss.oetiker.ch/rrdtool/doc/rrdcreate.en.html

Passons à la 4eme et 5eme ligne qui sont les Round Robin Archives.

Une archive se compose d'un certain nombre de valeurs de données ou des statistiques pour chacune des sources de données définies (DS) et est définie par une ligne RRA.

  • RRA:AVERAGE | MIN | MAX | LAST:xff:steps:rows
  • RRA: → Round Robin Archive
  • AVERAGE → moyenne des valeurs
  • MIN → plus petite valeur enregistrée
  • MAX → plus grande valeur enregistrée
  • LAST → la derniere valeur enregistrée
  • 0.5 → frequence de lecture de la donnée (en secondes) soit ici l'équivalent de 5mn (600 * 0.5 = 300)
  • 1 → nombre de valeur pour faire la moyenne (ici 1 donc aucune moyenne)
  • 24 → nombre d'enregistrement que l'on souhaite conserver : 24 soit 2 heures (5mn x 24 = 2h00)

Idem pour la ligne suivante :

  • 0.5 → frequence de lecture de la donnée (en secondes) soit ici l'équivalent de 5mn (600 * 0.5 = 300)
  • 6 → nombre de valeur pour faire la moyenne (ici 6 donc une moyenne sur 6 enregistrements)
  • 24 → nombre d'enregistrement que l'on souhaite conserver : 12 soit 6 heures (la moyenne de 6 enregistrement : 6 x 5mn = 30mn ces 30mn x 12 = 6h00)

Cet article est en cours suite prochainement…


Contributeurs : ChoiZ

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