Repository
Munin (contrib)
Last change
2018-08-02
Graph Categories
Keywords
Language
Bash

dsl-stats

Sadly there is no documentation for this plugin.

#!/bin/bash

case $1 in
   config)
        cat <<'EOM'
graph_order snrdown snrup pwrdown pwrup
graph_title dsl stats
graph_args --base 1000
graph_category network
graph_scale no
graph_vlabel DSL SNR and Power
attndown.label Down Attenuation
attndown.type GAUGE
attnup.label Up Attenuation
attnup.type GAUGE
snrdown.label Down SNR
snrdown.type GAUGE
snrup.label Up SNR
snrup.type GAUGE
pwrup.label Up Power
pwrup.type GAUGE
pwrdown.label Down Power
pwrdown.type GAUGE
pwrdown.cdef pwrdown,10,/
pwrup.cdef pwrup,10,/
graph_info Graph of DSL Connection Stats
EOM
        exit 0;;
esac


# verify we have the IP for the modem
if [[ "$DSLMODEMIP" == "" ]]
then
	echo "DSLMODEMIP variable must be set!"
	exit 1
fi


# create temp file for storing wget output
TMPFILE=$(mktemp)


# if we have auth variables then add them to
# wget cmdline
if [[ "$DSLUSER" != ""  && "$DSLPASS" != "" ]]
then
	AUTH_OPT="--user=$DSLUSER --password='$DSLPASS' "
fi

# get wan stats page and store it to temp file
wget $AUTH_OPT --tries=1 --timeout=10 -q -O $TMPFILE http://$DSLMODEMIP/modemstatus_wanstatus.html
# parse the javascript on the page to get the info we need and print it
cat $TMPFILE | grep  'dslstatus = '| sed -e "s/['; ]//g" | head -n 1 | awk -F '[|/]' '{print "snrdown.value "$5"\nsnrup.value "$6"\nattndown.value "$7"\nattnup.value "$8"\npwrup.value "$29"\npwrdown.value "$30}'

#remove temp file
rm $TMPFILE