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édentes Révision précédente
Prochaine révision
Révision précédente
brouillon_rrd [2008/08/17 23:19]
thierry
brouillon_rrd [2008/08/18 01:18] (Version actuelle)
thierry
Ligne 216: Ligne 216:
 {{:​speed4.png|}}\\ {{:​speed4.png|}}\\
 Mouai ... Mouai ...
 +
  
  
Ligne 222: Ligne 223:
  
  
-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 232: Ligne 233:
  
 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 ====
Ligne 246: Ligne 248:
   RRA:​AVERAGE:​0.5:​1:​600   RRA:​AVERAGE:​0.5:​1:​600
  
-Donc, on créé une "​table"​ pour recevoir **''​600 valeurs''​**.\\ +  - Donc, on créé une "​table"​ pour recevoir **''​600 valeurs''​**.\\ 
-On prétend pour fournir au moins 1 information toutes les 5 minutes.\\ +  ​- ​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 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"​.+  ​- ​S'il n'y en a aucune sur les 5 minutes, la "​valeur"​ est marqué "​unknown"​.
  
 En conséquence:​ 600 * 300 => 2 jours et 2 heures. En conséquence:​ 600 * 300 => 2 jours et 2 heures.
- 
- 
  
  
 ==== Quelques jours ==== ==== Quelques jours ====
  
-Au dela des 2 premiers jours, on veut garder les valeurs sur 12 jours au moins, mais avec un peu moins de precisions.\\+On veut garder les valeurs sur 14 jours au moins, mais avec un peu moins de precisions.\\
 Donc: Donc:
-  ​12 jours => 1036800 ​secondes+  ​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 275: 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 600 valeurs+  -On a 700 valeurs
   -Chaque valeur couvre 6*300 secondes, soit 30 minutes   -Chaque valeur couvre 6*300 secondes, soit 30 minutes
-  -la "​table"​ couvre ​12.5 jours ( 600 * 6 * 300 )+  -la "​table"​ couvre ​14.5 jours ( 300 * 6 * 700 ) 
 + 
 + 
  
 ==== Quelques semaines ==== ==== Quelques semaines ====
  
-Pour l'​instant,​ on stocke environ **''​2 jours''​** et **''​12 jours''​** , soit **''​14 jours''​** .\\ 
 C'est bien, mais on veut garder au moins 2 mois, soit 8 semaines. C'est bien, mais on veut garder au moins 2 mois, soit 8 semaines.
  
 Donc: Donc:
   8 semaines => 60 jours   8 semaines => 60 jours
- 
-On retire les **''​14 jours''​** ! Bah oui. 
-  60 - 14 => 46 jours 
 Ce qui donne: Ce qui donne:
-  ​3974400 ​secondes+  ​5184000 ​secondes
 Convertissons de suite en "600 valeurs":​ Convertissons de suite en "600 valeurs":​
-  ​3974400 ​/ 600 => 6624 secondes +  ​5184000 ​/ 600 => 8640 secondes 
-Donc, chaque valeur stocké couvrira une période de **''​6624 secondes''​** soit **''​heure et 50 minutes''​**.+Donc, chaque valeur stocké couvrira une période de **''​8640 secondes''​** soit **''​heure et 24 minutes''​**.
  
 Ca serait plus fun d'​arrondir la période à **''​2 heures''​** ;-) \\ Ca serait plus fun d'​arrondir la période à **''​2 heures''​** ;-) \\
 On y va: On y va:
   2 * 60 => 7200 secondes   2 * 60 => 7200 secondes
-Finalement, on a besoin que de "552" valeurs pour couvrir la période... effectivement:​ +Finalement, on a besoin que de "720" valeurs pour couvrir la période... effectivement:​ 
-  3974400 / 7200 => 552 +  3974400 / 7200 => 720
- +
-On maintient les 600 valeurs ;-)+
  
 En "​heartbeat"​ cela devient: En "​heartbeat"​ cela devient:
Ligne 318: Ligne 315:
 On a donc besoin de **''​24''​** echantillons. On a donc besoin de **''​24''​** echantillons.
  
- 300 * 24 * 600 => 4320000 ​secondes => 50 jours+ 300 * 24 * 720 => 5184000 ​secondes => 60 jours 
 + 
 +Pile ! 
 +Allez, j'​ajoute 2 jours: 744 valeurs
  
 Bien. Cela devient comme parametre: Bien. Cela devient comme parametre:
  
-  RRA:​AVERAGE:​0.5:​24:​600+  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.1219007993.txt.gz · Dernière modification: 2008/08/17 23:19 par thierry