49 lines
1.3 KiB
Plaintext
49 lines
1.3 KiB
Plaintext
|
#!/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"
|