jablonka.czprosek.czf

hotsanic

Subversion Repositories:
[/] [trunk/] [modules/] [traffic/] [platform/] [syssnmp.pm] - Diff between revs 18 and 22

Show entire file Ignore whitespace

Rev 18 Rev 22
Line 7... Line 7...
($VERSION = '$Revision: 1.11 $') =~ s/.*(\d+\.\d+).*/$1/; ($VERSION = '$Revision: 1.11 $') =~ s/.*(\d+\.\d+).*/$1/;
return "syssnmp.pm $VERSION"; return "syssnmp.pm $VERSION";
} }
   
sub do_snmp { sub do_snmp {
my $oid = '.1.3.6.1.2.1.2.2.1'; #my $oid = '.1.3.6.1.2.1.2.2.1';
  my $oid = '.1.3.6.1.2.1.31.1.1.1';
# interfaces.ifTable.ifEntry.ifDesc # interfaces.ifTable.ifEntry.ifDesc
   
my $suf_descr = '.1'; my $suf_descr = '.1';
# .ifDescr # .ifDescr
my $suf_in = '.10'; my $suf_in = '.6';
# .ifInOctets # .ifInOctets
my $suf_out = '.16'; my $suf_out = '.10';
# .ifOutOctets # .ifOutOctets
   
my (%targets) = @_; my (%targets) = @_;
my (%snmpdev) = @_; my (%snmpdev) = @_;
   
Line 39... Line 40...
} }
   
my @query = ($oid.$suf_descr, $oid.$suf_in, $oid.$suf_out); my @query = ($oid.$suf_descr, $oid.$suf_in, $oid.$suf_out);
$res = HotSaNICsnmp::snmp_walk($host, $com, @query); $res = HotSaNICsnmp::snmp_walk($host, $com, @query);
if(keys(%$res) == 0) { if(keys(%$res) == 0) {
  print "vytvarim pro $_ ... $nics{$_}";
do_rrd($host."_".$_, "U", "U", $nics{$_}) foreach keys(%nics); do_rrd($host."_".$_, "U", "U", $nics{$_}) foreach keys(%nics);
return undef; return undef;
} }
my $koncovy = 200; #ciselne porty
  my $koncovy = 600;
for ( my $i=1; $i < $koncovy; $i++) { for ( my $i=1; $i < $koncovy; $i++) {
my $dev = $$res{$oid.$suf_descr.".".$i}; my $dev = $$res{$oid.$suf_descr.".".$i};
my $devin = $$res{$oid.$suf_in.".".$i}; my $devin = $$res{$oid.$suf_in.".".$i};
my $devout = $$res{$oid.$suf_out.".".$i}; my $devout = $$res{$oid.$suf_out.".".$i};
if(defined($nics{$dev})) { if(defined($nics{$dev})) {
do_rrd($host."_".$dev, $$res{$oid.$suf_in.".".$i}, $$res{$oid.$suf_out.".".$i}, $nics{$dev}); do_rrd($host."_".$dev, $$res{$oid.$suf_in.".".$i}, $$res{$oid.$suf_out.".".$i}, $nics{$dev});
} }
} }
  #jmenne porty
  for ( my $i=1; defined($$res{$oid.$suf_descr.".".$i}); $i++) {
  my $dev = $$res{$oid.$suf_descr.".".$i};
  print "1 mam tu $dev";
  if(defined($nics{$dev})) {
  do_rrd($host."_".$dev, $$res{$oid.$suf_in.".".$i}, $$res{$oid.$suf_out.".".$i}, $nics{$dev});
  }
  }
} }
   
} }
   
sub do_rrd { sub do_rrd {
my ($name, $in, $out, $max) = @_; my ($name, $in, $out, $max) = @_;
  $name =~ s/\//-/g;
if (! -e "rrd/$name.rrd" ) { if (! -e "rrd/$name.rrd" ) {
system("./makerrd","$name","$max") system("./makerrd","$name","$max")
} }
   
RRDs::update "rrd/$name.rrd",time.":".$in.":".$out; RRDs::update "rrd/$name.rrd",time.":".$in.":".$out;

Powered by WebSVN 2.2.1