J'ai ajouté la possibilité d'interroger la mémoire d'un CheckPoint au plugin check_snmp_mem.pl de Manubulon.
Announcement
Collapse
No announcement yet.
check_snmp_mem.pl de Manubulon avec option CheckPoint
Collapse
This is a sticky topic.
X
X
-
Le check_snmp classique permet de récupérer n'importe quelle valeur mais il faut connaître l'OID à l'avance.
Le check_snmp_memory ne fait que la mémoire (OID fixe dans le plugin).
La version modifié ajoute juste le contrôle de la mémoire des checkPoint en plus des cisco, HP ProcurveCentreon Syslog Module Manager/Developper
Centreon E2S Module Manager/Developper
Centreon Enterprise Server (2.x / 3.x) : Centreon Engine 1.3.x / 1.4.x, Centreon Broker 2.6.x / 2.8.x , Centreon 2.x, Centreon-Syslog 1.5.x, Centreon E2S 2.0
Nagios 3.x et NDOutil 1.x
-
Bonjour Akhenaton
Je recherche actuellement un moyen de checker la mémoire de mes switch et donc de remonter la mémoire restante ainsi que que d'appliquer une valeur Warning et une valeur Critical afin d'avoir une alerte lorsque la mémoire est saturée. J'ai pensé utilisé le plugin check_snmp_mem.pl que tu présentes ici mais je n'arrive pas a remonté l'info sur la mémoire de me mes switch
voici un exemple de remontée
[email protected]:/usr/local/nagios/libexec$ ./check_snmp_mem1.pl -H 172.29.1.232 -C public -w 80,85 -c 90,95
ERROR: netsnmp : Received noSuchName(2) error-status at error-index 1.
De plus je ne vois trop quelle valeur est attendue en warning et en critical, un pourcentage ? une valeur ?
Aprés j'ai tout de même réussi a remonter la mémoire libre de mes switch grace à la commande check_snmp et l'oid correspondant. Cependant il ne remonte qu'une valeur brute et je ne vois pas trop comment je pourrais la mettre en lien avec une valeur de Warning et de critical
exemple :
[email protected]:/usr/local/nagios/libexec$ ./check_snmp -H 172.29.1.232 -C public -o .1.3.6.1.4.1.11.2.14.11.5.1.1.2.1.1.1.6.1 -u bytes -l free
SNMP OK - free 15862336 bytes | free=15862336
merci d'avanceLast edited by sammael; 19 November 2012, 17:49.
Comment
-
Bon en creusant un peu je pense avoir trouvé
Je n'utilisais pas la bonne syntax
j''ai oublié le commutateur -E pour préciser que c'était un switch procurve
J'ai oublié le commutateur -v pour avoir une remontée d'info plus parlante
le probléme c'est que ca remonte trop d'infos et c'est afficher en octal
comme ceci :
[email protected]:/usr/local/nagios/libexec$ ./check_snmp_mem.pl -H 172.29.1.232 -C public -w 80% -c 90% -E -v
Alarm at 15
SNMP v1 login
OID : 1.3.6.1.4.1.11.2.14.11.5.1.1.2.2.1.1.1.1, Desc : 1
OID : 1.3.6.1.4.1.11.2.14.11.5.1.1.2.2.1.1.7.1, Desc : 7697840
OID : 1.3.6.1.4.1.11.2.14.11.5.1.1.2.2.1.1.6.1, Desc : 15863136
OID : 1.3.6.1.4.1.11.2.14.11.5.1.1.2.2.1.1.5.1, Desc : 23560976
OID : 1.3.6.1.4.1.11.2.14.11.5.1.1.2.2.1.1.3.1, Desc : 1136
OID : 1.3.6.1.4.1.11.2.14.11.5.1.1.2.2.1.1.2.1, Desc : 17913
OID : 1.3.6.1.4.1.11.2.14.11.5.1.1.2.2.1.1.4.1, Desc : 16777
Used : 7697840, Free: 15863136, Output : Slot 1:33%
Slot 1:33% : 33% : ; OK
moi ce que je voudrais c'est juste l'avant derniére ligne plus le statut.
Donc pas le choix j'ai du modifié le script perl.
voici les modifs apporter au script
251 #verb("Alarm at $TIMEOUT");
288 #verb("SNMP v2c login");
298 #verb("SNMP v1 login");
408 #verb("OID : $key, Desc : $$resultat{$key}");
435 my $used = $total - $free;
436 $prct_free=round($used*100/($total),0);
437 #my $MoUsed = $used / 1048576;
438 #my $MoFree = $free / 1048576;
439 #printf("%.2f", $MoFree);
440 my $MoUsed = round($used / 1048576, 2);
441 my $MoFree = round($free / 1048576, 2);
442 #verb("Mem Used : $used soit $MoUsed Mo, Mem Free: $free soit $MoFree Mo, Output : $c_output");
443 my $c_status="OK";
444 $c_output .=" : " . $prct_free ."% : ";
445 if (($o_crit!=0)&&($o_crit <= $prct_free)) {
446 $c_output .= " > " . $o_crit ;
447 $c_status="CRITICAL";
448 } else {
449 if (($o_warn!=0)&&($o_warn <= $prct_free)) {
450 $c_output.=" > " . $o_warn;
451 $c_status="WARNING";
452 }
453 }
454 $c_output .= "Status : ".$c_status;
455 if (defined ($o_perf)) {
456 $c_output .= " | ram_used=" . $used.";";
457 $c_output .= ($o_warn ==0)? ";" : round($o_warn * $total/100,0).";";
458 $c_output .= ($o_crit ==0)? ";" : round($o_crit * $total/100,0).";";
459 $c_output .= "0;" . $total ;
460 }
461 $session->close;
462 verb("Mem Used : $used octets soit $MoUsed Mo, Mem Free: $free octets soit $MoFree Mo, Output : $c_output");
463 #print "$c_output \n";
464 exit $ERRORS{$c_status};
465 }
Aprés modif on obtient :
[email protected]:/usr/local/nagios/libexec$ ./check_snmp_mem.pl -H 172.29.1.232 -C public -w 80% -c 90% -E -v
Mem Used : 7697856 octets soit 7.34 Mo, Mem Free: 15863120 octets soit 15.13 Mo, Output : Slot 1:33% : 33% : Status : OK
Plus qu'une chose a trouver comment grapher ça !
Si vous avez des solutions ?Last edited by sammael; 20 November 2012, 12:26.
Comment
-
Pour grapher il faut des données de performances !!!! (http://nagios.sourceforge.net/docs/3_0/pluginapi.html)Centreon Syslog Module Manager/Developper
Centreon E2S Module Manager/Developper
Centreon Enterprise Server (2.x / 3.x) : Centreon Engine 1.3.x / 1.4.x, Centreon Broker 2.6.x / 2.8.x , Centreon 2.x, Centreon-Syslog 1.5.x, Centreon E2S 2.0
Nagios 3.x et NDOutil 1.x
Comment
-
Merci pour ta réponse Akhenaton
C'est ce que j'avais cru comprendre en faisant quelques recherches.
il s'avére que le plugin posséde une option pour les perfdata. L'option -f
ce qui donne :
[email protected]:/usr/local/nagios/libexec$ ./check_snmp_mem.pl -H 172.29.1.232 -C public -w 80% -c 90% -E -v -f
Mem Used : 7697888 octets soit 7.34 Mo, Mem Free: 15863088 octets soit 15.13 Mo, Output : Slot 1:33% : 33% : Status : OK | ram_used=7697888;18848781;21204878;0;23560976
Un graph apparait bien dans centreon. J'attends de voir comment il remonte pour en dire plus.
Comment
Comment