diff --git a/snmp/iog-crans b/snmp/iog-crans index 5f3b9a38..acf37a8a 100755 --- a/snmp/iog-crans +++ b/snmp/iog-crans @@ -84,7 +84,7 @@ open(CONFIG,$cfgfile) || die("Cannot open $cfgfile!"); my($name,$host,$community,$inoid,$outoid,$path) = split(/:/, $_); $path =~ s/\n//; $datafile = "$name".".dat"; - my @results = snmpget($host,$community,$inoid,$outoid); + my @results = snmpget2($host,$community,$inoid,$outoid); next if ($results[0] eq "error"); $inoctets = $results[0]; $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 = ; + chomp($inresult); + close(IN); + + open OUT, "snmpget -T TCP $host $community interfaces.ifTable.ifEntry.$outoid |"; + my $outresult = ; + 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 = ; + chomp($uptimeresult); + close(UP); + + $uptimeresult =~ s/^.*\) //; + $uptimeresult =~ s/...$//; + + return $uptimeresult; +} +#################################################################################### + + sub chkuptime { $_ =~ s/\[|\]//g; 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) or print "WARNING: Error opening uptime database file!\n";