RRDTOOL : Mauvaise valeur minimum (exemple simple)

RRDTOOL : Mauvaise valeur minimum (exemple simple) - Logiciels - Linux et OS Alternatifs

Marsh Posté le 16-01-2009 à 12:12:19    

Bonjour,
 
Je fais mes premiers pas avec RRDTool et essaye de comprendre le fonctionnement, notamment celui des archives contenant les valeurs minimum.
 
Tout d'abord je crée une base "temp" stockant des températures (pour reprendre un exemple bien connu de la page de man !)
 
Dans la commande de création qui suit je comprends ceci :
1) la base débute au "timestamp" 1231138800 (ie : Mon Jan  5 08:00:00 2009), et doit être mise à jour toute les 10 secondes
2) La "DataSource" "temp" est de type "GAUGE".  
Si plus de 600 secondes passent depuis la dernière mise à jour la valeur en actuelle passera à "unknown"
Pas de valeurs mini ou maxi qui borne la source de données.
3) 4 archives définis
La première stocke les temperatures fournies (10 valeurs stockées)
La deuxième stocke la température minimum des dernières (3*10=) 30 secondes
 

Code :
  1. rrdtool create temp.rrd --start 1231138800 --step 10 \
  2. DS:temp:GAUGE:600:U:U \
  3. RRA:AVERAGE:0.5:1:10 \
  4. RRA:MIN:0.5:3:10


 
Ensuite j'injecte les températures toutes les 10 secondes des "timestamps" 1231138810 à 1229295700.
De prêtez pas attention aux valeurs entrées, totalement aléatoires ;-)

Code :
  1. rrdupdate ./temp.rrd 1231138810:15
  2. rrdupdate ./temp.rrd 1231138820:10
  3. rrdupdate ./temp.rrd 1231138830:5
  4. rrdupdate ./temp.rrd 1231138840:22
  5. rrdupdate ./temp.rrd 1231138850:18
  6. rrdupdate ./temp.rrd 1231138860:2
  7. rrdupdate ./temp.rrd 1231138870:16
  8. rrdupdate ./temp.rrd 1231138880:13
  9. rrdupdate ./temp.rrd 1231138890:17
  10. rrdupdate ./temp.rrd 1231138900:0


 
Les valeurs récupérées de la première RRA (RRA:AVERAGE:0.5:1:10) correspondent aux valeurs saisies :
 

Code :
  1. rrdtool fetch ./temp.rrd AVERAGE --start 1231138800 --end 1231138900
  2.                            temp
  3. 1231138810: 1.5000000000e+01
  4. 1231138820: 1.0000000000e+01
  5. 1231138830: 5.0000000000e+00
  6. 1231138840: 2.2000000000e+01
  7. 1231138850: 1.8000000000e+01
  8. 1231138860: 2.0000000000e+00
  9. 1231138870: 1.6000000000e+01
  10. 1231138880: 1.3000000000e+01
  11. 1231138890: 1.7000000000e+01
  12. 1231138900: 0.0000000000e+00
  13. 1231138910: nan


 
 
La où j'ai un problème c'est pour les valeurs stockées dans la seconde RRA (RRA:MIN:0.5:3:10 ) :
 

Code :
  1. rrdtool fetch ./temp.rrd MIN --start 1231138800 --end 1231138900
  2.                            temp
  3. 1231138830: 5.0000000000e+00
  4. 1231138860: 2.0000000000e+00
  5. 1231138890: 2.0000000000e+00
  6. 1231138920: nan


 
Au timestamp 1231138830 la valeur est 5.
Je suppose que c'est le minimum des valeurs suivantes :
1231138810: 15
1231138820: 10
1231138830: 5
 
Au timestamp 1231138860 la valeur est 2.
Je suppose que c'est le minimum des valeurs suivantes :
1231138840: 22
1231138850: 18
1231138860: 2
 
Jusqu'à la tout va bien ...
Au timestamp 1231138890  la valeur est ... 2 !!!!!!!!!
C'est la que je pige pas.
Vu ce que j'ai compris (ou plutôt ce que je crois avoir compris) sur les deux premières valeurs mini, je m'attends plutôt à trouver la valeur 13 à ce timestamp :
 
1231138870: 16
1231138880: 13 <-- C'est pas le minimum ça ?
1231138890: 17
 
Ou est l'erreur de raisonnement ?

Reply

Marsh Posté le 16-01-2009 à 12:12:19   

Reply

Marsh Posté le 21-01-2009 à 12:43:32    

Ce post est il dans la mauvaise rubrique ou tout simplement n'inspire t'il personne ?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed