View Full Version : Check_graph_traffic, numéro d'interface bizarre
Bonjour,
Voici ce que j'ai avec la commande ./check_graph_traffic
monitoring:/usr/lib/nagios/plugins# ./check_graph_traffic.pl -H 192.168.0.1 -C public -v 1 -s
.1.3.6.1.2.1.2.2.1.2.1 :: MS TCP Loopback interface
.1.3.6.1.2.1.2.2.1.2.16777219 :: 3Com EtherLink PCI
J'ai bien compris l'index pour les interfaces, mais 16777219 ca ne va pas m'aider pour faire template.... On peut changer cette valeur ? Ou faire qqchose pour avoir un index correct?
Machine cliente en Windows 2000 avec snmp et nagios agents.
Merci d'avance
WAtt
wistof
07-20-2005, 11:22 AM
et bien non, tu ne peux pas...
c'est windows qui gére ça comme un "grand" :(
le plus marrant, c'est que si tu as une connexion type dialup (adsl pppoe, par exemple) et bien l'index change à chaque connexion/deconnexion....
il y aurait peut etre une autre solution que j'avais déja évoqué ici (http://www.oreon.org/Forum/viewtopic.php?p=3535)
Je viens de tester avec le nom complet de la carte, mais cela ne fonctionne pas.
monitoring:/usr/lib/nagios/plugins# ./check_graph_traffic.pl -H 192.168.0.1 -i "Intel(R) PRO/100 VE Network Connection" -w 75 -c 90 -C public -v 1
ERROR: IN Bytes : Received noSuchName(2) error-status at error-index 1.
et
monitoring:/usr/lib/nagios/plugins# ./check_graph_traffic.pl -H 192.168.0.1 -i 'Intel(R) PRO/100 VE Network Connection' -w 75 -c 90 -C public -v 1
ERROR: IN Bytes : Received noSuchName(2) error-status at error-index 1.
ET bien sur sans les quote et double quote il n'appecie pas trop la parantèse.
Je dois lui donné le nom de l'interface dans un format spécial ?
Merci d'avance
WAtt
wistof
07-20-2005, 12:07 PM
héhé :D
c'est normal, c'est pas encore implémenté... mais l'idée est là...
pour le moment, c'est en standby car il déja pas mal de boulot au niveau des plugins et du portail, et puis comme il n' y avait pas eu d'engoument sur cette fonctionnalitée....
ahhhhhhhhhhhhhhhhhhhhhhhhhh :(
Y a beaucoup de chose a modifier pour que ce soit pris en compte ?
Et on va dire que je prens tt l'engoument de tout le monde pour cette options ... c'est bon ? ;)
Ok je sort
WAtt
surcouf
07-20-2005, 01:14 PM
héhé :D
c'est normal, c'est pas encore implémenté... mais l'idée est là...
pour le moment, c'est en standby car il déja pas mal de boulot au niveau des plugins et du portail, et puis comme il n' y avait pas eu d'engoument sur cette fonctionnalitée....
La plupart des plugins[1] qu'on trouve sur nagiosexchange utilisent la description de l'interface au lieu de l'index. Cela étant, bien qu'on puisse spécifier à l'aide d'une regexp bien sentie toutes les interfaces sauf la loopback[2], une interface web à la gestion de ce genre de plugins serait sans doute la bienvenue.
Je m'explique: l'idée est qu'en découvrant l'hôte via SNMP, on puisse choisir les interfaces réseaux qu'on désire superviser, un peu à la manière de Cacti.
[1]: je pense notamment aux plugins écrits par Manu Bulon:
http://www.manubulon.com/nagios/snmp_int.html
[2]: pour Windows, je vous fais une fleur: /^[^MS TCP Loopback interface]/
Bon je viens de voir que les index sous windows ne sont pas fait a l'arrache (enfin presque) car lorsque tu as le meme type de carte sur deux machine différentes et bien tu as les index identique .... OURA !!!!
Bon je viens de tester sur deux machines, reste a confirmer sur 100 machines...
Je profite pour mettre les index que j'ai pu voir:
|Carte Index
|3Com EtherLink PCI = 16777219
|HP NC7781 Gigabit Server Adapter = 16777220
|Intel(R) PRO/100 VE Network Connection = 65539
Si ces remarques sont généralisée, pourquoi ne pas répertorié (dans le temps) les carte et index ?
WAtt
wistof
07-20-2005, 02:54 PM
je me pose une question toute bête :
que se passe-t-il lorsqu'on a 2 cartes du meme type ?
Aucune idée, mais j'ai peur de la réponse... Dans le même temps, tu as exactement ce problème avec les noms de cartes.
surcouf
07-20-2005, 03:16 PM
je me pose une question toute bête :
que se passe-t-il lorsqu'on a 2 cartes du meme type ?
Facile:
$ snmpwalk -v 1 -c public <hôte> ifDescr
IF-MIB::ifDescr.1 = STRING: MS TCP Loopback interface
IF-MIB::ifDescr.16777219 = STRING: HP NC7781 Gigabit Server Adapter
IF-MIB::ifDescr.16777220 = STRING: HP NC7781 Gigabit Server Adapter
Et sa jolie théorie tombe par terre...
Pire que ca.... elle coule même
Peuvent pas faire comme tout le monde et compter de 1 en 1.. commencer a 16777219.. c'est une blague ? et encore pour certaine carte, mais intel commence a 65539.
Bon algré tout, je vois que chez tout le monde c'est pareil...
Je crois que microsoft devrai arreter les stagiaires pour developper leurs OS :wink:
WAtt
surcouf
07-20-2005, 03:29 PM
Je viens de tester avec le nom complet de la carte, mais cela ne fonctionne pas.
monitoring:/usr/lib/nagios/plugins# ./check_graph_traffic.pl -H 192.168.0.1 -i "Intel(R) PRO/100 VE Network Connection" -w 75 -c 90 -C public -v 1
ERROR: IN Bytes : Received noSuchName(2) error-status at error-index 1.
et
monitoring:/usr/lib/nagios/plugins# ./check_graph_traffic.pl -H 192.168.0.1 -i 'Intel(R) PRO/100 VE Network Connection' -w 75 -c 90 -C public -v 1
ERROR: IN Bytes : Received noSuchName(2) error-status at error-index 1.
ET bien sur sans les quote et double quote il n'appecie pas trop la parantèse.
Je dois lui donné le nom de l'interface dans un format spécial ?
Merci d'avance
WAtt
Je viens de penser à un cas que j'ai rencontré sur d'autres plugins en perl.
Essaie d'ajouter une commande chomp sur la valeur de la description obtenue par le plugin via snmp juste avant de faire la comparaison.
En fait, j'ai constaté à plusieurs reprises qu'il y avait un caractère spécial (^@) en fin de chaîne dans la description renvoyée par les systèmes Windows.
je crois que je n'ai pas tout compris...
Un exemple serai le bien venu, ou même la commande la que je executer.
WAtt
surcouf
07-20-2005, 03:39 PM
je crois que je n'ai pas tout compris...
Un exemple serai le bien venu, ou même la commande la que je executer.
WAtt
--( check_iftraffic.pl )--
foreach $key ( keys %{$response} ) {
if ( $response->{$key} =~ /^@$/ ) { chop ($response->{$key}) };
if ( $response->{$key} eq $ifdescr ) {
$key =~ /.*\.(\d+)$/;
$snmpkey = $1;
# print "$ifdescr = $key / $snmpkey \n"; #debug
}
}
---8<---
Attention, le '^@' n'est qu'un seul et même caractère. Je l'ai capturé via snmpwalk et en ouvrant la sortie dans vim.
La source originale est: http://www.nagiosexchange.org/SNMP.51.0.html?&tx_netnagext_pi1[p_view]=37
wistof
07-20-2005, 03:56 PM
interressant tout ça, je mets de coté et je regarderais un peu plus tard
merci
surcouf
07-20-2005, 04:01 PM
interressant tout ça, je mets de coté et je regarderais un peu plus tard
merci
L'autre solution, sans doute meilleure, consiste à utiliser les expressions régulières pour désigner la description.