PDA

View Full Version : historique des graph de 1 mois glissant


ngrataloup
04-17-2006, 11:08 PM
Je n'ai qu'un historique de 1 mois glissant dans mes graphs rrd ? ou peut-on parametrer ceci (dans Nagios, dans Oreon ?)

wistof
04-18-2006, 02:20 PM
:? ça sent le bug à plein cette histoire là...

DonKiShoot
04-18-2006, 08:32 PM
Ca sent la limitation volontaire, non ?

Les fichier rrd sont prévus pour un an ?

wistof
04-18-2006, 09:39 PM
Ca sent la limitation volontaire, non ?
plutot le bug involontaire...

hypersayen
10-03-2006, 01:51 PM
bonjour, je rencontre ce problème ajd!! avez vou une idée sur la méthode de résolution plz! merci

xspoon
10-03-2006, 03:04 PM
faudrait voir le résultat avec la manip du quote;

car la longueur d'historique d'une base rrd dépends de plusieurs facteurs:

le "step" - > configurable par --rrdstep
le nombre de "rows" -> fixés dans Oreon dans la routine create_rrd()
le "pdp_per_row" -> fixé dans Oreon dans la routine create_rrd()



pour tester l'historique total des données d'une base, lance la commande:
(en remplacant file.rrd par le vrai nom)

rrdtool info file.rrd | perl -ne '$step = $1 if (m/step = (\d+)/); $rows = $1 if (m/rra.*\.rows = (\d+)/); if(m/(.*)\.pdp_per_row = (\d+)/) { $pdp = $2; $time = $step*$rows*$pdp; if ($time > 31536000) {$time = sprintf("%.2f year",$time/31536000)} elsif ($time > 86400){$time = sprintf("%.2f days",$time/86400)} elsif ($time > 3600) {$time = sprintf("%.2f hours",$time/3600)} print "$1: $step*$rows*$pdp = $time\n"; }'

Le code Perl en clair ! :

$step = $1 if (m/step = (\d+)/);
$rows = $1 if (m/rra.*\.rows = (\d+)/);
if (m/(.*)\.pdp_per_row = (\d+)/) {
$pdp = $2; $time = $step*$rows*$pdp;
if ($time > 31536000) { $time = sprintf("%.2f year",$time/31536000) }
elsif ($time > 86400) { $time = sprintf("%.2f days",$time/86400) }
elsif ($time > 3600) { $time = sprintf("%.2f hours",$time/3600) }
print "$1: $step*$rows*$pdp = $time\n";
}

ça renvoie qqchose comme:

rra[0]: 300*864*1 = 3.00 days
rra[1]: 300*864*5 = 15.00 days

respectivement le "rra-num", le "step", le nombre de "rows", le "pdp_per_row" et le résultat en jours

hypersayen
10-03-2006, 03:28 PM
Merci de ta réponse! J'ai exécuté le script et j'ai obtenu les résultats suivants:
rra[0]: 300*8640*1 = 30.00 days
rra[1]: 300*8640*12 = 360.00 days
rra[2]: 300*8640*12 = 360.00 days

en fait, est ce k'il faudrait modifier le rra[0] afin de povoir visualiser le graphique pour une période supérieure à 1 mois! en fait j'utilise la fonction graphvision d'oreon mais passé un mois, j'ai plus rien comme sur le dessin en fait:

pourtant le service a été démarré depuis le milieu du mois de juillet!

xspoon
10-03-2006, 03:36 PM
c'est le résultat de quel plugin ?

hypersayen
10-03-2006, 03:39 PM
c'est un plugin que j'ai créé! en fait il récupère le résultat de la commande check_nrpe -c check_procs -n je crois (pour avoir le nombre de processus totaux)! mais tous mes graphiques font la même chose! avant septembre, je n'ai rien

hypersayen
10-03-2006, 03:45 PM
la fonction create se présente de la manière suivante!

create_rrd($rrd,1,$start,300,"U","U","GAUGE")

xspoon
10-03-2006, 04:08 PM
ce qui à marché pour moi c'est de remplacer les valeurs par défaut dans oreon.pm rubrique "Create RRD file" par:


push(@rrd_arg,"RRA:AVERAGE:0.5:1:129600",
"RRA:MIN:0.5:12:129600",
"RRA:MAX:0.5:12:129600");


avec un rrdstep de 300 en général ça me donne 15 mois d'historique sur les nouvelles bases crées

hypersayen
10-03-2006, 06:00 PM
Je vais essayer ça! Merci de ton aide!! par contre, ces nouvelles options ne vont s'appliquer qu'aux futurs graphiques créés je suppose

xspoon
10-03-2006, 06:57 PM
en tout état de cause: oui