View Full Version : [ rrd ] comment lire les .rrd?
carail71
03-27-2007, 12:45 PM
J'aimerais savoir comment lire les .rrd
J'ai modifié la commande check_snmp_mem.pl disponible sur manubulon pour créer un rrd afin d'obtenir un graph (j'ai ajouté -g -S $ARG3$)
Voici la commande:
$USER1$/check_snmp_mem.pl -H $HOSTADDRESS$ -C public -2 -E -w $ARG1$ -c $ARG2$ -g -S $ARG3$
J'obtiens pour un hote les informations suivantes:
Unable to update '/usr/local/oreon/rrd/1_1.rrd' : illegal attempt to update using time 1174987853 when last update time is 1174987853 (minimum one second step).
Je suppose que Oreon a affecté a deux hotes le même fichier rrd.
J'aimerais pouvoir le vérifier en lisant ce rrd.
De plus, je n'arrive pas à grapher ce service pour tous les hôtes (Base de donnée inexistante). Je fait tourner ce service depuis 1 jour donc les rrd aurait du pouvoir se remplir pour grapher un minimum de chose?
Perfparse n'est pas activé et les graphs fonctionnent pour d'autres services.
Merci d'avance pour votre aide
stillcut
03-27-2007, 02:48 PM
Ce message si il apparait temporairement et ne persiste pas dans le temps ne pose pas de pb.
J'crois que le pb a deja ete traite ds le forum, utilise la fonction search.
Sinon check_snmp_mem graph avec perfdata, seuls les plugins check_graphs sont a mm de grapher avec rrdtools, si je ne m'abuse.
carail71
03-28-2007, 11:35 AM
.... Sinon check_snmp_mem graph avec perfdata, seuls les plugins check_graphs sont a mm de grapher avec rrdtools, si je ne m'abuse.[/QUOTE]
Tu es sur?
J'ai ouvert le script, j'obtient:
Dans le print usage:
-g (--rrdgraph) Create a rrd base if necessary and add datas into this one
--rrd_step Specifies the base interval in seconds with which data will be fed into the RRD (300 by default)
-S (--ServiceId) Oreon Service Id
Dans le main:
check_options();
$rrd = $pathtorrdbase.$ServiceId.".rrd";
$start=time;
Dans la partie HP Procurve (exploitation de la mib et sortie du résultat)
##
## RRD management
##
if ($o_g) {
$start=time;
if (! -e $rrd) {
create_rrd($rrd,1,$start,$step,0,100,"GAUGE");
}
update_rrd($rrd,$start,$prct_free);
}
Sa m'agace un peu ...
Je ne trouve pas le post qui en parle :(
Peux tu me mettre le lien si tu l'a sous la main stp?
Merci d'avance
stillcut
03-28-2007, 12:19 PM
La reponse est quelques topic plus bas , nommée check_mem_use si je me souviens bien.
Toutefois , il est possible de faire grapher avec rrdtool un plug in comme check_snmp_load en le renommant check_graph_snmp_load.
Ca marche chez moi, pas essayé avec le check_mem_use
carail71
03-29-2007, 09:59 AM
Oui c'est bon.
Il fallait juste supprimer le service sur les hotes puis recharger nagios puis recréer les services et recharger nagios.
Merci mais j'ai encore un petit soucis le graph apparait bien mais aucune valeur n'apparaît ...
Cmment as tu fait pour grapher ton check_graph ? tu as choisi quelles valeurs a grapher dans le graph template?
Après cela,je t'embête plus
carail71
03-30-2007, 05:34 PM
Voilà donc toujours pas de réponse ...
Je fais un rrdtool info /usr/local/oreon/rrd/43_42.rrd, j'obtiens:
filename = "/usr/local/oreon/rrd/43_42.rrd"
rrd_version = "0001"
step = 300
last_update = 1175265112
ds[a].type = "GAUGE"
ds[a].minimal_heartbeat = 600
ds[a].min = NaN
ds[a].max = 1.0000000000e+02
ds[a].last_ds = "UNKN"
ds[a].value = 0.0000000000e+00
ds[a].unknown_sec = 112
rra[0].cf = "AVERAGE"
rra[0].rows = 8640
rra[0].pdp_per_row = 1
rra[0].xff = 5.0000000000e-01
rra[0].cdp_prep[0].value = NaN
rra[0].cdp_prep[0].unknown_datapoints = 0
rra[1].cf = "MIN"
rra[1].rows = 8640
rra[1].pdp_per_row = 12
rra[1].xff = 5.0000000000e-01
rra[1].cdp_prep[0].value = NaN
rra[1].cdp_prep[0].unknown_datapoints = 6
rra[2].cf = "MAX"
rra[2].rows = 8640
rra[2].pdp_per_row = 12
rra[2].xff = 5.0000000000e-01
rra[2].cdp_prep[0].value = NaN
rra[2].cdp_prep[0].unknown_datapoints = 6
Que signifie unknown_datapoints ?
Pourquoi ma valeur est NaN (not a number).
Lorsque je fais un printf de ma valeur de retour j'obtien des valeurs tels que 12
5 14 ...
Ces valeurs sont donc numériques !
Please help me
carail71
04-05-2007, 05:46 PM
Voilà mon problème est résolu.
Il fallait faire attention à cette valeur.
step = 300
J'ai changé mes ordoncement de check je passe de 60*60 à 3*60 (inférieur à 300) et tout marche
DonKiShoot
04-05-2007, 07:50 PM
Voilà mon problème est résolu.
Il fallait faire attention à cette valeur.
step = 300
J'ai changé mes ordoncement de check je passe de 60*60 à 3*60 (inférieur à 300) et tout marche
step 300 signifie que tu check toutes les 5 mn sinon tes graphs ne ressembleront à rien.