2012-08-07 07:16:31 +02:00
|
|
|
#!/usr/bin/perl -w
|
|
|
|
|
|
|
|
use strict;
|
|
|
|
|
|
|
|
my ($Args) = @ARGV;
|
|
|
|
|
2013-04-06 17:36:50 +02:00
|
|
|
my $expecter = "/path/to/beboxstats.expect";
|
2012-08-07 07:16:31 +02:00
|
|
|
|
|
|
|
if ($Args) {
|
|
|
|
|
|
|
|
# work out line to grab
|
|
|
|
if ($Args eq 'autoconf') {
|
|
|
|
# Check the expect script that polls the router exists
|
|
|
|
unless ( -e $expecter ) {
|
|
|
|
print "no (Can't find expect script. Check value of \$expecter: $expecter)\n";
|
|
|
|
} else {
|
|
|
|
print "yes\n";
|
|
|
|
}
|
|
|
|
|
|
|
|
} elsif ($Args eq 'config') { # print out plugin parameters
|
|
|
|
printf("
|
|
|
|
graph_title bebox line stats
|
|
|
|
graph_vlabel deciBels
|
2013-04-06 17:36:50 +02:00
|
|
|
graph_category network
|
2012-08-07 07:16:31 +02:00
|
|
|
graph_info This graph shows the various line parameters
|
|
|
|
attenuationdownstream.label Downstream Attenuation
|
|
|
|
attenuationupstream.label Upstream Attenuation
|
|
|
|
margindownstream.label Downstream Noise Margin
|
|
|
|
marginupstream.label Upstream Noise Margin
|
|
|
|
outputpowerdownstream.label Downstream Output Power
|
|
|
|
outputpowerupstream.label Upstream Output Power
|
|
|
|
margindownstream.type GAUGE
|
|
|
|
outputpowerupstream.type GAUGE
|
|
|
|
attenuationdownstream.type GAUGE
|
|
|
|
marginupstream.type GAUGE
|
|
|
|
outputpowerdownstream.type GAUGE
|
|
|
|
attenuationupstream.type GAUGE
|
|
|
|
");
|
|
|
|
# .label is the Key on the graph
|
|
|
|
} else {
|
|
|
|
printf("Usage: $0
|
|
|
|
No arguments: print line stats
|
|
|
|
autoconf: print 'yes'
|
|
|
|
config: print config info for Munin\n");
|
|
|
|
}
|
|
|
|
|
|
|
|
} else {
|
|
|
|
# if no arguments, just fetch the data and print it out
|
|
|
|
|
|
|
|
my @insplitted = split(' ', `$expecter | grep dB`);
|
|
|
|
|
|
|
|
print "margindownstream.value $insplitted[3]\n";
|
|
|
|
print "marginupstream.value $insplitted[4]\n";
|
|
|
|
|
|
|
|
print "attenuationdownstream.value $insplitted[8]\n";
|
|
|
|
print "attenuationupstream.value $insplitted[9]\n";
|
|
|
|
|
|
|
|
print "outputpowerdownstream.value $insplitted[13]\n";
|
|
|
|
print "outputpowerupstream.value $insplitted[14]\n";
|
|
|
|
}
|
|
|
|
|
|
|
|
|