Outils pour utilisateurs

Outils du site


brouillon_rrd

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édentesRévision précédente
Prochaine révision
Révision précédente
brouillon_rrd [2008/08/17 20:54] thierrybrouillon_rrd [2008/08/17 23:18] (Version actuelle) thierry
Ligne 216: Ligne 216:
 {{:speed4.png|}}\\ {{:speed4.png|}}\\
 Mouai ... Mouai ...
 +
  
  
Ligne 221: Ligne 222:
 ===== du concret ===== ===== du concret =====
  
-==== DS et RRA ==== 
  
-Je voudrais stocker des températures sur +ans...+Je voudrais stocker des températures sur +ans...
  
 On va prendre un "heartbeat" de 5 minutes... donc, on garantie d'avoir une nouvelle valeur au moins toutes les 5 minutes ! On va prendre un "heartbeat" de 5 minutes... donc, on garantie d'avoir une nouvelle valeur au moins toutes les 5 minutes !
Ligne 234: Ligne 234:
 Je pose des limites minimum/maximum. (Parce que le capteur n'est pas a l'abri d'un bug!) Je pose des limites minimum/maximum. (Parce que le capteur n'est pas a l'abri d'un bug!)
  
-=== Quelques heures ===+ 
 +==== Quelques heures ====
  
 On veut garder les valeurs sur 2 jours au moins... Donc: On veut garder les valeurs sur 2 jours au moins... Donc:
Ligne 247: Ligne 248:
   RRA:AVERAGE:0.5:1:600   RRA:AVERAGE:0.5:1:600
  
 +  - Donc, on créé une "table" pour recevoir **''600 valeurs''**.\\
 +  - On prétend pour fournir au moins 1 information toutes les 5 minutes.\\
 +  - S'il y en a plusieurs, une moyenne est faite entre elle.\\
 +  - S'il n'y en a aucune sur les 5 minutes, la "valeur" est marqué "unknown".
  
-=== Quelques jours ===+En conséquence: 600 * 300 => 2 jours et 2 heures.
  
-On veut garder les valeurs sur 12 jours au moins, mais avec un peu moins de precisions. Donc: + 
-  12 jours => 1036800 secondes+==== Quelques jours ==== 
 + 
 +On veut garder les valeurs sur 14 jours au moins, mais avec un peu moins de precisions.\\ 
 +Donc: 
 +  14 jours => 1209600 secondes
 En "heartbeat" ca devient: En "heartbeat" ca devient:
-  1036800 / 300 => 3456+  1209600 / 300 => 4032
  
-Mais c'est beaucoup trop de valeurs a stocker... On va essayer de ne pas depasser les "600" valeurs stockable.\\ +Mais c'est beaucoup trop de valeurs a stocker... On va essayer de s'approcher des "600" valeurs stockable.\\ 
-  1036800 / 600 => 1728 secondes +  1209600 / 600 => 2016 secondes 
-Donc, 1 information devrait être la moyenne (average) d'une periode de "1728 secondes".\\+Donc, 1 information devrait être la moyenne (average) d'une periode de "2016 secondes".\\
 Convertit en "heartbeat", cela devient: Convertit en "heartbeat", cela devient:
-  1728 / 300 => 5.76+  2016 / 300 => 6.72
 On arrondit a **''6''** On arrondit a **''6''**
  
Ligne 266: Ligne 275:
 On fera donc la moyenne sur 6 informations, c'est a dire une période de temps de 30 minutes. On fera donc la moyenne sur 6 informations, c'est a dire une période de temps de 30 minutes.
  
-C'est acceptable pour garder 12 jours de valeurs.... Enfin, un peu plus maintenant:\\ +C'est acceptable pour garder 14 jours de valeurs.... Enfin, un peu plus maintenant:\\ 
-Pour 12 jours, on a besoin de : +Pour 14 jours, on a besoin de : 
-  1036800 / ( 6 * 300 ) => 576 valeurs+  1209600 / ( 6 * 300 ) => 672 valeurs
  
-On va encore arrondir a **''600''** , soit: +On va encore arrondir a **''700''** , soit: 
-  300 * 6 * 600 => 1080000 => 12.5 jours+  300 * 6 * 700 => 1260000 => 14.5 jours
  
 Bien. Cela devient comme parametre: Bien. Cela devient comme parametre:
  
-  RRA:AVERAGE:0.5:6:600+  RRA:AVERAGE:0.5:6:700 
 + 
 +  -On a 700 valeurs 
 +  -Chaque valeur couvre 6*300 secondes, soit 30 minutes 
 +  -la "table" couvre 14.5 jours ( 300 * 6 * 700 ) 
 + 
 + 
 + 
 + 
 +==== Quelques semaines ==== 
 + 
 +C'est bien, mais on veut garder au moins 2 mois, soit 8 semaines. 
 + 
 +Donc: 
 +  8 semaines => 60 jours 
 +Ce qui donne: 
 +  5184000 secondes 
 +Convertissons de suite en "600 valeurs": 
 +  5184000 / 600 => 8640 secondes 
 +Donc, chaque valeur stocké couvrira une période de **''8640 secondes''** soit **''2 heure et 24 minutes''**. 
 + 
 +Ca serait plus fun d'arrondir la période à **''2 heures''** ;-) \\ 
 +On y va: 
 +  2 * 60 => 7200 secondes 
 +Finalement, on a besoin que de "720" valeurs pour couvrir la période... effectivement: 
 +  3974400 / 7200 => 720 
 + 
 +En "heartbeat" cela devient: 
 +  7200 / 300 => 24 
 +On a donc besoin de **''24''** echantillons. 
 + 
 + 300 * 24 * 720 => 5184000 secondes => 60 jours 
 + 
 +Pile ! 
 +Allez, j'ajoute 2 jours: 744 valeurs 
 + 
 +Bien. Cela devient comme parametre: 
 + 
 +  RRA:AVERAGE:0.5:24:744 
 + 
 +  -On a 744 valeurs 
 +  -Chaque valeur couvre 24*300 secondes, soit 2 heures 
 +  -la "table" couvre 62 jours ( 300 * 24 * 744 secondes ) 
 + 
 + 
 + 
 +==== Plusieurs mois ==== 
 + 
 +=== 6 mois === 
 + 
 +Pour 6 mois => soit environ 183 jours 
 +  183 jours => 15811200 secondes 
 + 
 +On va jouer avec des périodes de 6 heures.\\ 
 +Donc: 
 +  6 heures => 21600 secondes 
 +En "heartbeat" cela devient: 
 +  21600 / 300 => 72 
 + 
 +Pour couvrir 183 jours, il faudra donc: 
 +  15811200 / ( 300 * 72 ) => 732 
 + 
 +Bien. Cela devient comme parametre: 
 + 
 +  RRA:AVERAGE:0.5:72:732 
 + 
 +=== 24 mois === 
 + 
 +Là, on va taper dans 1 valeur par jour ! parce 24 mois, ca fait 730 jours (environ). 
 + 
 +Donc, c'est trés simple: 
 + 
 +En "heartbeat" ca donne: 
 +  24 heures => 86400 secondes 
 +  86400 / 300 => 288 
 + 
 +  RRA:AVERAGE:0.5:288:730 
 + 
 +C'est émouvant. 
 + 
 + 
 +==== En action ==== 
 + 
 +  $ rrdtool create poubelle.rrd DS:temp:GAUGE:300:-80:+80 RRA:AVERAGE:0.5:1:600 RRA:AVERAGE:0.5:6:700 RRA:AVERAGE:0.5:24:744 RRA:AVERAGE:0.5:72:732 RRA:AVERAGE:0.5:288:730
  
 +  $ ls -la
 +  -rw-r--r-- 1 thierry thierry 29360 2008-08-17 23:59 poubelle.rrd
  
brouillon_rrd.1219006483.txt.gz · Dernière modification : 2008/08/17 20:54 de thierry