aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorroot <root@frank.tg14.gathering.org>2014-04-18 04:20:39 +0200
committerroot <root@frank.tg14.gathering.org>2014-04-18 04:20:39 +0200
commit28573ab4d756872d884e49649c9afed57bc8a093 (patch)
tree41eb29d82c1703f00a83f4df52420c1fed34863d
parentb8938643faba3636510729e70c1018fd516cbfb7 (diff)
Turn off edit by default.
-rwxr-xr-xmunin/backfill_total_network_traffic.pl55
-rwxr-xr-xmunin/total_network_traffic.pl27
-rw-r--r--web/nms.gathering.org/ping.html2
-rw-r--r--web/nms.gathering.org/ping2.html1
4 files changed, 84 insertions, 1 deletions
diff --git a/munin/backfill_total_network_traffic.pl b/munin/backfill_total_network_traffic.pl
new file mode 100755
index 0000000..000b0d5
--- /dev/null
+++ b/munin/backfill_total_network_traffic.pl
@@ -0,0 +1,55 @@
+#! /usr/bin/perl -I/root/tgmanage/include
+use strict;
+use warnings;
+use lib 'include';
+use nms;
+use Data::Dumper::Simple;
+
+use Date::Parse;
+
+my $dbh = nms::db_connect();
+$dbh->{AutoCommit} = 0;
+
+# This has a slightly modded version of get_current_datarate inlined. It's probably outdated by the time you read this.
+my $total_traffic = $dbh->prepare("select sum(bytes_in) * 8 / 1048576.0 / 1024.0 as traffic_out, sum(bytes_out) * 8 / 1048576.0 / 1024.0 as traffic_in from (SELECT switch,port,
+ (bytes_out[1] - bytes_out[2]) / EXTRACT(EPOCH FROM (time[1] - time[2])) AS bytes_out,
+ (bytes_in[1] - bytes_in[2]) / EXTRACT(EPOCH FROM (time[1] - time[2])) AS bytes_in,
+ time[1] AS last_poll_time
+ FROM (
+ SELECT switch,port,
+ ARRAY_AGG(time) AS time,
+ ARRAY_AGG(bytes_in) AS bytes_in,
+ ARRAY_AGG(bytes_out) AS bytes_out
+ FROM (
+ SELECT *,rank() OVER (PARTITION BY switch,port ORDER BY time DESC) AS poll_num
+ FROM polls WHERE time BETWEEN (to_timestamp(?) - interval '5 minutes') AND to_timestamp(?)
+ AND official_port
+ ) t1
+ WHERE poll_num <= 2
+ GROUP BY switch,port
+ ) t2
+ WHERE
+ time[2] IS NOT NULL
+ AND bytes_in[1] >= 0 AND bytes_out[1] >= 0
+ AND bytes_in[2] >= 0 AND bytes_out[2] >= 0
+ AND bytes_out[1] >= bytes_out[2]
+ AND bytes_in[1] >= bytes_in[2]) as datarate natural join switches where switchtype like 'dlink3100%' and port < 45")
+ or die "Can't prepare query: $!";
+
+my $inout = shift @ARGV;
+while (<>) {
+ if (m,<!-- [^/]* CEST / (\d+) --> <row><v>[^<]*</v></row>, && $1 > 1397458800) {
+ my $time = $1;
+ if ($time > 1397458800) {
+ $total_traffic->execute($time, $time);
+ my $ref = $total_traffic->fetchrow_hashref;
+ my $value = $ref->{'traffic_' . $inout};
+ $value = (!defined $value || $value == 0 || $value > 400) ? "NaN" : sprintf "%e", $value;
+ s,<v>[^<]*</v>,<v>$value</v>,;
+ }
+ }
+ print;
+}
+$total_traffic->finish;
+$dbh->disconnect();
+exit 0
diff --git a/munin/total_network_traffic.pl b/munin/total_network_traffic.pl
new file mode 100755
index 0000000..eebcba0
--- /dev/null
+++ b/munin/total_network_traffic.pl
@@ -0,0 +1,27 @@
+#! /usr/bin/perl -I/root/tgmanage/include
+use strict;
+use warnings;
+use lib 'include';
+use nms;
+use Data::Dumper::Simple;
+
+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;
diff --git a/web/nms.gathering.org/ping.html b/web/nms.gathering.org/ping.html
index 44d6d89..520daa8 100644
--- a/web/nms.gathering.org/ping.html
+++ b/web/nms.gathering.org/ping.html
@@ -14,7 +14,7 @@
var switches_url = "/switches-json.pl";
var ping_url = "/ping-json.pl";
var draw_linknets = true;
- var can_edit = true;
+ var can_edit = false;
</script>
<script type="text/javascript" src="ping.js"></script>
</body>
diff --git a/web/nms.gathering.org/ping2.html b/web/nms.gathering.org/ping2.html
index 0fc6b43..d273306 100644
--- a/web/nms.gathering.org/ping2.html
+++ b/web/nms.gathering.org/ping2.html
@@ -14,6 +14,7 @@
var switches_url = "/switches-json.pl";
var ping_url = "/nettkart-json.pl";
var draw_linknets = false;
+ var can_edit = false;
</script>
<script type="text/javascript" src="ping.js"></script>
</body>