Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
rrdtools [Le 15/02/2011, 23:28]
ChoiZ
— (Version actuelle)
Ligne 1: Ligne 1:
-{{tag>​administration serveur système supervision}} 
  
----- 
- 
- 
-====== 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 ===== 
- 
-Il suffit d'​[[:​tutoriel:​comment_installer_un_paquet|installez le paquet]] **[[apt://​rrdtool|rrdtool]]** 
- 
-Maintenant nous allons attaquer les choses sérieuses ! 
- 
-===== Premiere base RRDTool ===== 
- 
-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 ;) 
- 
-===== Création de notre base RRDTool ===== 
- 
-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) 
- 
- 
-===== Enregistrement des données ===== 
- 
-    rrdtool update radios.rrd ​   \ 
-    1297810801:​0:​0 ​   \ 
-    1297811101:​5:​1 ​   \ 
-    1297811401:​8:​0 ​   \ 
-    1297811701:​10:​2  ​   \ 
-    1297812001:​13:​3  ​   \ 
-    1297812301:​15:​5  ​   \ 
-    1297812601:​23:​4  ​   \ 
-    1297812901:​30:​8  ​   \ 
-    1297813201:​34:​9  ​   \ 
-    1297813501:​35:​5  ​   \ 
-    1297813801:​38:​10 ​   \ 
-    1297814101:​38:​12 
- 
- 
-A 0h00:01 il y avait 0 auditeur sur les deux flux. (timestamp:​valeurflux1:​valeurflux2) 
- 
-A 0h05:01 il y avait 5 auditeurs sur le flux rock et 1 auditeur sur le flux alternative 
- 
-Et on continue d'​insérer les données grâce au timestamp toutes les 300 secondes (5mn) 
- 
- 
-A savoir je peux pas enregistrer ma premiere donnée a 0h00:00 car lors de la création de notre RRD nous avons précisé qu'il commence a 0h00:00 il faut donc ajouté une seconde pour le 1er enregistrement. Sinon vous aurez une erreur de ce type : ERROR: radios.rrd: illegal attempt to update using time 1297810800 when last update time is 1297810800 (minimum one second step). 
- 
- 
-===== Affichage des données ===== 
- 
-    rrdtool graph radios1.png -s 1297810800 -e 1297814101 -h 300 -w 600 -t "Graph d'​audience"​ \ 
-    DEF:​rock=radios.rrd:​rock:​AVERAGE LINE3:​rock#​FF0000:"​Rock"​ \ 
-    DEF:​alternative=radios.rrd:​alternative:​AVERAGE LINE3:​alternative#​000000:"​Alternative"​ 
-    ​ 
-Avec cette commande on affiche les données de notre base RRD dans un fichier png.  
- 
-* -s -> date (toujours en timestamp) de départ du graph pas forcement celle des données. 
- 
-* -e -> date de fin du graph pas forcement celle des données. 
- 
-* -h -> height hauteur du graph ici 300px 
- 
-* -w -> width largeur du graph ici 600px 
- 
-* -t -> titre du graphique 
- 
-* DEF: -> fetch les datas depuis le fichier rrd 
- 
-* rock: -> le nom de notre flux qu'on avait déjà défini (mais on peut en choisir un autre c'est un nom utilisé uniquement pour afficher la valeur) 
- 
-* =radios.rrd -> le nom de notre fichier rrd 
- 
-* rock: -> ici c'est le nom exact du Data Source 
- 
-* AVERAGE -> pour dire qu'on veut une moyenne 
- 
-* LINE3:​rock#​FF000:"​Rock"​ -> Pour afficher dans la légende notre valeur "​rock"​ avec comme couleur rouge et comme label Rock. 
- 
- 
----- 
- 
-Ce qui donne le graphique suivant : 
- 
-{{:​radios1.png}} 
- 
----- 
-  
-  
-Voilà pour l'​instant vous savez : créer une base RRDTool, Updater les données de cette base et afficher un graphique. 
-  
-  
----- 
- 
-// Contributeurs : [[utilisateurs:​ChoiZ]]//​ 
  • rrdtools.1297808932.txt.gz
  • Dernière modification: Le 18/04/2011, 14:59
  • (modification externe)