![]() ![]() |
hotsanic |
Subversion Repositories: |
Compare with Previous - Blame - Download
#!/usr/bin/perl -wuse lib "../../lib";use HotSaNIC;use RRDs;#use DBI;# get cmdline arguments (i.e. options passed by the daemon)# and other global parameters#%ARGS=arg2opt(@ARGV);dupe_control("start",$ARGS{"MODNAME"},"");# read module-specific settings#open (FILE,"settings");while (<FILE>) {($var,$value)=parse_line($_);if ($var eq "ALL") {$ALL=$value;}if ($var eq "ROUTERS") {$ROUTERS=$value;}if ($var eq "CLOUD") {$CLOUD=$value;}if ($var eq "DEFAULT") {$DEFAULT=$value;}if ($var eq "IFACE") {($iface)=split(/,/,$value);push @IFACES,$iface;next;}}close(FILE);foreach $iface (@IFACES) {if ( ! -e "rrd/$iface.rrd" ) { system("./makerrd","$iface", "U") }system("$ALL > $iface.all");system("$ROUTERS > $iface.routers");system("$CLOUD > $iface.cloud");system("$DEFAULT > $iface.default");system("wget -q http://localhost/cgi-bin/ospfd_database.cgi -O - | grep -c \"Advertising Router\" > $iface.ra");system("wget -q http://localhost/cgi-bin/ospfd_database.cgi -O - | grep -c \"Advertising Router: 10.33\" > $iface.rb");system("wget -q http://localhost/cgi-bin/ospfd_database.cgi -O - | grep -c \"Advertising Router: 10.32\" > $iface.rc");system("wget -q http://localhost/cgi-bin/ospfd_database.cgi -O - | grep -c \"Advertising Router: 10.43\" > $iface.rd");system("/sbin/ip ro ls | /bin/grep -c ^10.32 > $iface.re");system("/sbin/ip ro ls | /bin/grep -c ^10.43 > $iface.rf");system("/sbin/ip ro ls | /bin/grep -c \/16 > $iface.rg");open (FILE,"$iface.all");while(<FILE>) {$all=$_*1;}close(FILE);open (FILE,"$iface.routers");while(<FILE>) {$routers=$_*1;}close(FILE);open (FILE,"$iface.cloud");while(<FILE>) {$cloud=$_*1;}close(FILE);open (FILE,"$iface.default");while(<FILE>) {$default=$_*1;}close(FILE);# Routing raopen (FILE,"$iface.ra");while(<FILE>) {$ra=$_*1;}close(FILE);# Routing rbopen (FILE,"$iface.rb");while(<FILE>) {$rb=$_*1;}close(FILE);# Routing rcopen (FILE,"$iface.rc");while(<FILE>) {$rc=$_*1;}close(FILE);# Routing rdopen (FILE,"$iface.rd");while(<FILE>) {$rd=$_*1;}close(FILE);# Routing reopen (FILE,"$iface.re");while(<FILE>) {$re=$_*1;}close(FILE);# Routing rfopen (FILE,"$iface.rf");while(<FILE>) {$rf=$_*1;}close(FILE);# Routing rgopen (FILE,"$iface.rg");while(<FILE>) {$rg=$_*1;}close(FILE);$default=$default/100;$all=$all/10;# RRDs::update "rrd/$iface.rrd",time.":".$all.":".$routers.":".$cloud.":".$default.":".$ra.":".$rb.":".$rc.":".$rd.":".$re.":".$rf.":".$rg;RRDs::update "rrd/$iface.rrd",time.":".$all.":".$routers.":".$cloud.":".$default.":".$ra.":".$rb.":".$rc.":".$rd.":".$re.":".$rf.":".$rg;if ($ERROR = RRDs::error) { dupe_control("warn",$ARGS{"MODNAME"},"unable to update `$iface.rrd': $ERROR"); }}