hop,
voila j'utilise le module Net::SNMP pour aller chercher des infos sur des routeurs mais g quelques difficultés à utiliser les fonctions disponibles
(j'utilise ce module car il fournit des fonctions non-bloquante ce qui accelere considerablement l'execution)
voila le code:
Citation :
use DBI;
use Net::SNMP;
my $con_db=DBI->connect("DBI:mysql:site","root" );
my $req=$con_db->prepare("select * from ..." );
$req->execute;
while(@var=$req->fetchrow_array()){
my $host ="$var[1]"; // IP
$o1 = ".1.3.6.1.2.1.2.2.1.10."."$var[5]"; $o2 = ".1.3.6.1.2.1.2.2.1.16."."$var[5]";
//$var[5] = numero d'interface
my ($session, $error) = Net::SNMP->session(
-hostname => $host,
-community => "$var[3]",
-nonblocking => 0x1
);
if (!defined($session)) {
printf("ERROR: %s.\n", $error);
exit 1;
}
$session->get_request(
-varbindlist => [$o1,$o2],
-callback => [\&aff]
);
}
snmp_dispatcher();
exit 0;
sub aff
{
local ($session2) = (@_);
local ($str)=$session2->error;
print "$str";
local ($r1) = $session2->var_bind_list->{$o1};
local ($r2) = $session2->var_bind_list->{$o2};
local ($h) = $session2->hostname;
print "$h $r1 $r2";
print "\n";
$session2->error_status;
}
|
normalement il devrait afficher l'ip, le traffic in et out mais il n'affiche que l'ip...
j'ai comparé avec les exemples de la doc mais ya rien qui change fondamentalement... comprends po!
Si ya quelqu'un qui a deja utilisé ca, ca serait bien gentil de m'eclairer, je suis surement passé à coté de qqch...
Message édité par chopman le 09-04-2004 à 09:05:56