mirror of
https://github.com/munin-monitoring/contrib.git
synced 2018-11-08 00:59:34 +01:00
48 lines
1.3 KiB
Bash
Executable file
48 lines
1.3 KiB
Bash
Executable file
#!/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"
|