contrib-munin/plugins/network/dsl-connection-speed

49 lines
1.3 KiB
Plaintext
Raw Normal View History

2011-07-31 04:15:23 +02:00
#!/bin/bash
case $1 in
config)
cat <<'EOM'
graph_order downspeed upspeed
graph_title DSL Connection Speed
graph_args --base 1000 -l 1000 --upper-limit 42000
graph_category Network
graph_scale no
graph_vlabel DSL up / down speed
downspeed.label Down speed
downspeed.type GAUGE
upspeed.label Up speed
upspeed.type GAUGE
graph_info Graph of DSL Connection Speed
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 tempfile to get connection speeds
DOWNRATE=$(cat $TMPFILE | grep downrate= | sed -e "s/var.*downrate='\(.*\)';.*/\1/g" | sed -e 's/\s//g' | tail -n 1)
UPRATE=$(cat $TMPFILE | grep uprate= | sed -e "s/var.*uprate='\(.*\)';.*/\1/g" | sed -e 's/\s//g' | tail -n 1)
# done with the temp file, remove
rm $TMPFILE
# done, output speeds
echo "upspeed.value $UPRATE"
echo "downspeed.value $DOWNRATE"