X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2FNetworkMonitoringSystem%2FTorrus_Internal.pm;h=04a6b295457872c50ca03175a023c968cf73aa51;hp=dc6cb8f9356c8d1e6c8249c4223b5adcc018ed38;hb=b490e791cc60013989d908041f174467e362a1ea;hpb=4ac0d2e3a22e4e49a593aaf683754fea75fce546 diff --git a/FS/FS/NetworkMonitoringSystem/Torrus_Internal.pm b/FS/FS/NetworkMonitoringSystem/Torrus_Internal.pm index dc6cb8f93..04a6b2954 100644 --- a/FS/FS/NetworkMonitoringSystem/Torrus_Internal.pm +++ b/FS/FS/NetworkMonitoringSystem/Torrus_Internal.pm @@ -11,7 +11,7 @@ use FS::Record qw(qsearch qsearchs dbh); use FS::svc_port; use FS::torrus_srvderive; use FS::torrus_srvderive_component; -use Torrus::ConfigTree; +#use Torrus::ConfigTree; #$DEBUG = 0; #$me = '[FS::NetworkMonitoringSystem::Torrus_Internal]'; @@ -108,6 +108,11 @@ sub port_graphs_link { my @keys = keys %$hash; # yeah this is weird... my $host = $keys[0]; my $iface = $hash->{$keys[0]}; + + #Torrus::ConfigTree is only available when running under the web UI + eval 'use Torrus::ConfigTree;'; + die $@ if $@; + my $config_tree = new Torrus::ConfigTree( -TreeName => 'main' ); my $token = $config_tree->token("/Routers/$host/Interface_Counters/$iface/InOut_bps"); return $Torrus::Freeside::FSURL."/torrus/main?token=$token"; @@ -144,17 +149,20 @@ sub report { if ($m == 0) { $m=12; $y-- } #i should have better error checking system('torrus', 'report', '--report=MonthlyUsage', "--date=$y-$m-01"); - system('torrus', 'report', '--genhtml', '--tree=main'); + system('torrus', 'report', '--genhtml', '--all2tree=main'); } } sub add_router { - my($self, $ip) = @_; + my($self, $ip, $community) = @_; + + $community = qq!\n ! + if length($community) > 1; my $newhost = qq( \n). - qq( \n). + qq( \n).$community. qq( \n); my $ddx = $self->_torrus_loadddx; @@ -168,8 +176,10 @@ sub add_router { sub add_interface { my($self, $router_ip, $interface, $serviceid ) = @_; + #false laziness w/torrus/perllib/Torrus/Renderer.pm iface_underscore, update both $interface =~ s(\/)(_)g; #slashes become underscores $interface =~ s(\.)(_)g; #periods too, huh + $interface =~ s(\-)(_)g; #yup, and dashes #should just use a proper XML parser huh @@ -207,7 +217,7 @@ sub add_interface { unless ( $added ) { $new .= qq( \n). - qq( $newline\n"). + qq( $newline\n). qq( \n); } $new .= "$hostline\n";