package HotSaNICmod::OSdep; use lib "../../lib"; use RRDs; eval { require "platform/syssnmp.pm"; }; $NO_SNMP=1 if($@); sub version { ($VERSION = '$Revision: 1.3 $') =~ s/.*(\d+\.\d+).*/$1/; return "$^O.pm $VERSION"; } sub sample { my %args=@_; my %maxin; my %maxout; my %devin; my %devout; my %sampletime; my %snmpdev; foreach (keys(%args)) { if ( index($_,"DEV") >= 0) { ($dev,$maxin,$maxout,$description)=split /,/,$args{$_}; if ( index($dev,"SNMP\:") >= 0) { (undef,$host,$community,$interface)=split /:/,$dev; my $max = $maxin; $max = $maxout if $maxin < $maxout; my @data = ( $interface, $max); if (defined $snmpdev{$host."_".$community}) { push @{$snmpdev{$host."_".$community}}, @data; } else { $snmpdev{$host."_".$community} = [ @data ] ; } } else { $dev =~ s/:/_/g; $maxin{$dev}=$maxin; $maxout{$dev}=$maxout; $devin{$dev}="U"; $devout{$dev}="U"; $sampletime{$dev}=time; } } } open(IN,"netstat -nib | grep Link |"); while() { chomp; @line = split; $name = $line[0]; $input = $line[$#line-4]; $output= $line[$#line-1]; $devin{$name}=$input; $devout{$name}=$output; $sampletime{$name}=time; } close(IN); # # then query SNMP hosts and check interfaces # syssnmp::do_snmp(%snmpdev); # # save data # foreach $name (keys %maxin) { # build new database if needed # if (! -e "rrd/$name.rrd" ) { # get max. transmission value # my $max=$maxin{$name}; if ($max < $maxout{$name}) { $max=$maxout{$name} }; # if max-transmission is not set, assume 100 MBit. # if ($max == 0) { $max=12500000; } system("./makerrd","$name","$max") } # update database RRDs::update "rrd/$name.rrd",$sampletime{$name}.":".$devin{$name}.":".$devout{$name}; if ($ERROR = RRDs::error) { print time,": ",$args{MODNAME},": unable to update `$name.rrd': $ERROR\n"; } } } 1; WebSVN - hotsanic - Blame - Rev 36 - /branches/HotSaNIC-0.5.0-jablonecka/modules/traffic/platform/darwin.pm
  jablonka.czprosek.czf

hotsanic

Subversion Repositories:
[/] [branches/] [HotSaNIC-0.5.0-jablonecka/] [modules/] [traffic/] [platform/] [darwin.pm] - Blame information for rev 36

 

Line No. Rev Author Line

Powered by WebSVN 2.2.1