Bonjour, je cherche à creer en ligne de commande des graph avec rrdtool.
ces graphes representent l'evolution en taille d'une base de données oracle, avec une valeur prise par jour. et c'est la que le bas blèsse. J'ai l'impression que l'on peut se servir de rrdtool, uniquement quand on prend une valeur toutes les 5 minute, ou toutes les heures, et non pas une par jour.

j'arrive à creer une base qui commence le 25 fevrier 2006 (1140822000)
    RRDPATH=/usr/bin
    RRDATAPATH=$HOME
    DATABASE=tablespace.rrd

    $RRDPATH/rrdtool create --start 1140822000 $RRDATAPATH/$DATABASE 
    DS:tablespace:GAUGE:600:0:50 
    RRA:MAX:0.5:288:797
mais les 2 dernieres ligne me sont difficilement comprehensible, surtout le couple 288:797

ensuite, je fais un update avec une valeur 10 prise le 26 fevrier 2006
/usr/bin/rrdtool update /home/ethieba/tablespace.rrd 1140908400:10
une valeur 20 prise le 27 fevrier 2006
/usr/bin/rrdtool update /home/ethieba/tablespace.rrd 1140994800:20
une valeur 20 prise le 28 fevrier 2006
/usr/bin/rrdtool update /home/ethieba/tablespace.rrd 1141081200:30
et la quand je créé mon graphe,il est vide:
$RRDPATH/rrdtool graph tablespace.gif 
-t "Historique du tablespace toto sur un mois" 
-v "taille en Mo" 
-w 600 -h 150 
--start  1140822001
--end $NOW 
DEF:tab=$RRDATAPATH/tablespace.rrd:tablespace:MAX 
LINE2:tab#FF0000:"Taille"
Cela ne me produit qu'un graphe vide, sans donnée.
Pour info voic des info sur ma base:
filename = "tablespace.rrd"
rrd_version = "0003"
step = 300
last_update = 1141081200
ds[tablespace].type = "GAUGE"
ds[tablespace].minimal_heartbeat = 600
ds[tablespace].min = 0.0000000000e+00
ds[tablespace].max = 5.0000000000e+01
ds[tablespace].last_ds = "UNKN"
ds[tablespace].value = 0.0000000000e+00
ds[tablespace].unknown_sec = 0
rra[0].cf = "MAX"
rra[0].rows = 797
rra[0].pdp_per_row = 288
rra[0].xff = 5.0000000000e-01
rra[0].cdp_prep[0].value = NaN
rra[0].cdp_prep[0].unknown_datapoints = 276
> mais les 2 dernieres ligne me sont difficilement comprehensible, surtout le couple 288:797

C'est parce que tu es en train de créer un graphe pour toute l'année. Ces deux valeurs veulent dire que pour créer un point de ton graphe il va utiliser 288 valeurs et les consolider. Et sur toute la durée de ton graphe il va garder en tout 797 valeurs. Ce sont les valeurs standard pour faire un graphe sur l'année.
Tout ça est expliqué dans la page de man rrdcreate.
Il faut que tu regardes du côté des options --step et heatbeat. Pour une valeur par jour, tu dois donner "--step 86400 DS:tablespace:GAUGE:172800:0:50" (86400, le step, est en secondes, et le heartbeat, 172800 est en général le double). RRDTool considère qu'il récupère des valeurs chaque $step secondes, et si il n'a pas de valeur pendant $heartbeat secondes, il saute la valeur.

Regarde sur le site de RRDTool, il y a plein de front-ends qui s'occuperont de ces détails pour toi.
Merci des infos, c'est deja un peu plus clair.
Je vais aller voir sur le site.
J'ai reussi a faire ce que je voulais faire, merci encore.
Un dernier point:
Il y a des jours ou je ne prend pas de mesure (week end, maintenance), donc, cela me fait des trous dans mon graph.
Comment faire pourqu'il y ait un trait entre, par exemple, la mesure du vendredi, et celle de lundi, afin d'avoir un graph sans discontinuité ?
j' utilise quotidiennement , depuis 1995, gnuplot pour créer un graphe analogue au tien.
gnuplot <<fingnuplot
set grid
set xdata time
set xtics rotate
set timefmt "%d-%m-%y"
set data style lines
set ylabel "Blocs"
set formaty '%7.0f'
set terminal gif
set output=/home/httpd/icons/editor/$TP$AREA.gif
set key below
set title="area $AREA machine $TP le `date + '%A %d %B %Y'`
plot "plotdata" u 1:3 title "occupation de l'area" "" u 1:2 title "Taille de l'area"
fingnuplot

Le fichier plotdata a l'allure suivante
15-03-2006 2345 1234
16-03-2006 3456 2345
... ... ...
Il est généré par une requête SQL

Attention, c'est un vieux gnuplot (3.5-9).
"if it ain't broken, don't fix it"
Des modifs seront peut être nécessaires pour tenir compte
des fonctionnalités de la version actuelle.
Merci, je regarde.
Mais j'aimerai bien aussi voir la solution sur le graph de rrdtool
si tu n'as pas de mesure c'est le comportement normal de faire un trou dans ton graph, pour ne pas te laisser croire qu'il y a bien une valeur égale à la précédente.
A mon avis pour avoir un palier il faut entrer à la main la même valeur que précédemment. Soit tu sauvegardes la valeur dans un fichier avant de faire le rrdtool update, soit tu utilises un combiné de rrdtool last et rrdtool fetch pour récupérer la dernière valeur insérée.
ok, merci, je comprend.
mais je pensais que l'on aurait pu forcer cet autre fonctionnement.
je vais voir avec rrdtool fetch, et rdtool last.
3 ans plus tard
Bonjour,
Dans le cadre de mon projet de fin d'année je dois graphes la bande passante des flux réseaux transitant via des routeurs ( un flux = une ip destination et un port destination)


A intervalle de temps 'irrégulier' je reçois la taille du flux en octets.

ex:
à t=10:30 --> size = 80 octets
à t=10:32 --> size = 120 octets
à t=10:45 --> size = 47 octets

Après avoir suivi plusieurs tutoriels et suivi la doc, je me mélange un peu dans les options.

Si vous pouviez m'aidez pour les options lors des commandes rrdtool create , rrdtool graph ce serait bien sympathique.

Merci beaucoup