PDA

View Full Version : Graph d'une valeur OID


lindusfree
03-13-2008, 02:42 PM
Bonjour,

Exite t'il un plug-in permettant de grapher directement une valeur snmp ( OID ) dans le format Centreon.

Du genre check_centreon_snmp_traffic -> valeur mise directement dans la base mysql et reutilisable dans un graph de "vue oreon" mais avec un OID

Cordialement
Lindusfree

julien60
03-13-2008, 03:25 PM
ça m'interesse aussi !

Si tu veux plus de réponses à ta question traduit la en anglais en dessous.

lindusfree
03-15-2008, 04:40 PM
Bonjour,

Petit retour de ma part.
Pour pouvoir grapher une valeur OID, j'ai finalement utlisé le plug-in
check_centreon_snmp_value.

Par contre j'ai décelé un petit bug dans le plug-in que j'ai modifié pour que ca marche.

Je voulais utiliser l'OID pour récupérer des valeurs de température d'un chassis qui tourné au alentour de 25 Degres.

Lorsque je lancait la commande check dans la console, j'avais comme retour d'informations "Snmp return value isn't numeric.". Bizarre puisque j'était sure que s'était une valeur numérique.

Aprés quelques recherches dans le script, j'ai trouvé l'endroit ou le contrôle sur la valeur se faisait. Quelques # devant et hop plus de problème.

Maintenant en lancant la commande je recupère bien ma valeur et je graphe.

Je ne suis pas assez bon pour modifier le contrôle donc si une personne qui connait bien le perl pouvait voir cela, ca serait bien.

Ci joint partie du code impacté :

#=== Plugin return code ====

if (defined($return_result)){
# if ($return_result !~ /^[0-9]$/) {
# print "Snmp return value isn't numeric.\n";
# exit $ERRORS{'OK'};
# }
if ($opt_w && $opt_c && $return_result < $opt_w){
print "Ok value : " . $return_result . "|value=".$return_result.";".$opt_w.";".$opt_c.";;\n";
exit $ERRORS{'OK'};
} elsif ($opt_w && $opt_c && $return_result >= $opt_w && $return_result < $opt_c){

Le problème apparait dès que la valeur retourné par le plug-in est sur deux digits ......... ( 25° marche pas 8° marche )

Cordialement
Lindusfree

Marc
03-21-2008, 11:04 AM
Bonjour,

Egalement intéressé par le graph d'une valeur OID (en l'occurrence l'ampérage d'une barrette électrique), je me suis penché sur le problème avec l'aide de notre dev.

Voila le bout de code que nous avons modifié. Dans notre cas, on vérifie de 0 à 99, mais normalement rien n'empêche de monter jusqu'à 999 (ou plus ?).

Attention, il y a aussi un ajout pour diviser par 10 la valeur de sortie (si différente de 0). Car la valeur donnée par le SNMP est en 10èmes d'ampères.


Je suis ouvert à tous vos commentaires !

#=== Plugin return code ====

if (defined($return_result)){
# Recuperep les donnees sur deux entiers
if ($return_result !~ /^[0-99]+$/) {
print "Snmp return value isn't numeric.\n";
exit $ERRORS{'OK'};
}

# Division au dixieme si different 0
if($return_result ne "0") {
$return_result = $return_result / 10;
}

if ($opt_w && $opt_c && $return_result < $opt_w) {
print "Ok value : " . $return_result . "|value=".$return_result.";".$opt_w.";".$opt_c.";;\n";
exit $ERRORS{'OK'};
} elsif ($opt_w && $opt_c && $return_result >= $opt_w && $return_result < $opt_c){
print "Warning value : " . $return_result . "|value=$return_result;".$opt_w.";".$opt_c.";;\n";
exit $ERRORS{'WARNING'};
} elsif ($opt_w && $opt_c && $return_result >= $opt_c){
print "Critical value : " . $return_result."|value=".$return_result.";".$opt_w.";".$opt_c.";;\n";
exit $ERRORS{'CRITICAL'};
}
} else {
print "CRITICAL Host unavailable\n";
exit $ERRORS{'CRITICAL'};
}