diff options
author | root <root@riffraff.tg14.gathering.org> | 2014-04-20 02:58:05 +0200 |
---|---|---|
committer | root <root@riffraff.tg14.gathering.org> | 2014-04-20 02:58:05 +0200 |
commit | 8f4ae8e5833f0d26be5fad5160ae6ee0479b0712 (patch) | |
tree | da5089e91fbe52fd7da57a1c431c9af64f6ac8af /munin/total_network_traffic.pl | |
parent | 37a3b5d6ed97367989aecc875f1db1e9eb0458df (diff) | |
parent | 19cd0064816a577b72577b9f21a5a946eb746f64 (diff) |
Merge branch 'master' of https://github.com/tech-server/tgmanage
Diffstat (limited to 'munin/total_network_traffic.pl')
-rwxr-xr-x | munin/total_network_traffic.pl | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/munin/total_network_traffic.pl b/munin/total_network_traffic.pl new file mode 100755 index 0000000..2c0799b --- /dev/null +++ b/munin/total_network_traffic.pl @@ -0,0 +1,31 @@ +#! /usr/bin/perl -I/root/tgmanage/include +use strict; +use warnings; +use lib 'include'; +use nms; +use Data::Dumper::Simple; + +# By the looks of this code, the in/out values are from the perspective of the +# switch. However, something gets flipped somewhere which makes it from the +# perspective of the client. I have no idea why. Have fun! + +my $dbh = nms::db_connect(); +$dbh->{AutoCommit} = 0; + +my $total_traffic = $dbh->prepare("select sum(bytes_in) * 8 / 1048576.0 / 1024.0 as traffic_in, sum(bytes_out) * 8 / 1048576.0 / 1024.0 as traffic_out from get_current_datarate() natural join switches where switchtype like 'dlink3100%' and port < 45") + or die "Can't prepare query: $!"; + +$total_traffic->execute; +print <<EOF; +graph_title Total network traffic +graph_vlabel Gb/s +graph_scale no +EOF +my $ref = $total_traffic->fetchrow_hashref; +print "total_network_traffic_in.label Total incoming traffic\n"; +print "total_network_traffic_in.value ". $ref->{'traffic_in'}."\n"; +print "total_network_traffic_out.label Total outgoing traffic\n"; +print "total_network_traffic_out.value ". $ref->{'traffic_out'}."\n"; +$total_traffic->finish; +$dbh->disconnect(); +exit 0; |