package HotSaNICmod::syssnmp; use lib "../../lib"; use HotSaNICsnmp; sub version { ($VERSION = '$Revision: 1.15 $') =~ s/.*(\d+\.\d+).*/$1/; return "syssnmp.pm $VERSION"; } sub sample { my %args=@_; my $oid = '.1.3.6.1.2.1.2.2.1'; # interfaces.ifTable.ifEntry.ifDesc my $suf_descr = '.2'; # .ifDescr my $suf_in = '.10'; # .ifInOctets my $suf_out = '.16'; # .ifOutOctets my %maxin; my %maxout; my %devin; my %devout; my %sampletime; my %snmpdev; foreach my $entry (@{$args{DEV}}) { my ($host,$community,$item,$dbname,$name,$file,$description,$maxin,$maxout)=HotSaNICmod::common::get_names($entry); if ($host ne "") { my $max = $maxin; $max = $maxout if $maxin < $maxout; my @data = ($item, $max); if (defined $snmpdev{$host."_".$community}) { push @{$snmpdev{$host."_".$community}}, @data; } else { $snmpdev{$host."_".$community} = [ @data ] ; } $dbname{$host."_".$item}=$dbname; } } foreach (keys %snmpdev) { my ($host, $com) = split /_/; my $res; undef my %max; while (@{$snmpdev{$_}}) { my $name=shift @{$snmpdev{$_}}; my $max=shift @{$snmpdev{$_}}; $max{$name}=$max; } my @query = ($oid.$suf_descr, $oid.$suf_in, $oid.$suf_out); $res = HotSaNICsnmp::snmp_walk($host, $com, @query); if(keys(%$res) == 0) { HotSaNICmod::do_rrd($dbname{$host."_".$_}, $max{$_}, time, "U", "U") foreach keys(%max); } else { for ( my $i=1; defined($$res{$oid.$suf_descr.".".$i}); $i++) { my $dev = $$res{$oid.$suf_descr.".".$i}; if(defined($max{$dev})) { HotSaNICmod::do_rrd($dbname{$host."_".$dev}, $max{$dev}, time, $$res{$oid.$suf_in.".".$i}, $$res{$oid.$suf_out.".".$i}); } } } } } 1; WebSVN - hotsanic - Blame - Rev 9 - /branches/HotSaNIC-0.5.0-pre6/modules/traffic/platform/syssnmp.pm
  jablonka.czprosek.czf

hotsanic

Subversion Repositories:
[/] [branches/] [HotSaNIC-0.5.0-pre6/] [modules/] [traffic/] [platform/] [syssnmp.pm] - Blame information for rev 9

 

Line No. Rev Author Line

Powered by WebSVN 2.2.1