Retour (si a marche) de IOG.
C'est nul le Perl :) Donc au lieu de passer par la lib snmp qui fait pas de TCP, a passe par snmpget... N. darcs-hash:20030222122957-a279a-46df5cd2a49952e5a8e846eb968ce2fef7ade718.gz
This commit is contained in:
parent
d41901ec39
commit
f8a54ea342
1 changed files with 44 additions and 2 deletions
|
@ -84,7 +84,7 @@ open(CONFIG,$cfgfile) || die("Cannot open $cfgfile!");
|
||||||
my($name,$host,$community,$inoid,$outoid,$path) = split(/:/, $_);
|
my($name,$host,$community,$inoid,$outoid,$path) = split(/:/, $_);
|
||||||
$path =~ s/\n//;
|
$path =~ s/\n//;
|
||||||
$datafile = "$name".".dat";
|
$datafile = "$name".".dat";
|
||||||
my @results = snmpget($host,$community,$inoid,$outoid);
|
my @results = snmpget2($host,$community,$inoid,$outoid);
|
||||||
next if ($results[0] eq "error");
|
next if ($results[0] eq "error");
|
||||||
$inoctets = $results[0];
|
$inoctets = $results[0];
|
||||||
$outoctets = $results[1];
|
$outoctets = $results[1];
|
||||||
|
@ -161,11 +161,53 @@ sub snmpgetup {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#####################################################################################
|
||||||
|
# Section personnalisée pour faire du SNMP en TCP.
|
||||||
|
# NS 22/02/03
|
||||||
|
#####################################################################################
|
||||||
|
sub snmpget2 {
|
||||||
|
my($host, $community, $inoid, $outoid) = @_;
|
||||||
|
|
||||||
|
open IN, "snmpget -T TCP $host $community interfaces.ifTable.ifEntry.$inoid |";
|
||||||
|
my $inresult = <IN>;
|
||||||
|
chomp($inresult);
|
||||||
|
close(IN);
|
||||||
|
|
||||||
|
open OUT, "snmpget -T TCP $host $community interfaces.ifTable.ifEntry.$outoid |";
|
||||||
|
my $outresult = <OUT>;
|
||||||
|
chomp($outresult);
|
||||||
|
close(OUT);
|
||||||
|
|
||||||
|
my @intable = split(/ /,$inresult );
|
||||||
|
my @outtable = split(/ /,$outresult );
|
||||||
|
|
||||||
|
my @results = ($intable[-1],$outtable[-1]);
|
||||||
|
|
||||||
|
return @results;
|
||||||
|
}
|
||||||
|
|
||||||
|
sub snmpgetup2 {
|
||||||
|
my($host, $community, $upoid) = @_;
|
||||||
|
|
||||||
|
open UP, "snmpget -T TCP $host $community $upoid |";
|
||||||
|
my $uptimeresult = <UP>;
|
||||||
|
chomp($uptimeresult);
|
||||||
|
close(UP);
|
||||||
|
|
||||||
|
$uptimeresult =~ s/^.*\) //;
|
||||||
|
$uptimeresult =~ s/...$//;
|
||||||
|
|
||||||
|
return $uptimeresult;
|
||||||
|
}
|
||||||
|
####################################################################################
|
||||||
|
|
||||||
|
|
||||||
sub chkuptime {
|
sub chkuptime {
|
||||||
|
|
||||||
$_ =~ s/\[|\]//g;
|
$_ =~ s/\[|\]//g;
|
||||||
my($uphost,$upip,$upcommunity,$upoid,$upfile) = split (/:/, $_);
|
my($uphost,$upip,$upcommunity,$upoid,$upfile) = split (/:/, $_);
|
||||||
my $upresult = snmpgetup($upip,$upcommunity,$upoid);
|
my $upresult = snmpgetup2($upip,$upcommunity,$upoid);
|
||||||
|
|
||||||
tie(%inf, 'SDBM_File', ($upfile."$main::SL"."uptimes"), O_RDWR|O_CREAT, 0640)
|
tie(%inf, 'SDBM_File', ($upfile."$main::SL"."uptimes"), O_RDWR|O_CREAT, 0640)
|
||||||
or print "WARNING: Error opening uptime database file!\n";
|
or print "WARNING: Error opening uptime database file!\n";
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue