Munin

[ munin ] Fritzbox traffic monitoring über die Fernwartungsschnittstelle

NetzwerkIch hatte ja bereits hier ein kleines Plugin für munin veröffentlicht, dass es ermöglicht den Datentransfer der Fritzbox in munin zu visualisieren.

Das Plugin ist soweit ganz nett,
es hat nur einen kleinen Haken:

Es funktioniert nur aus dem Fritzbox eigenen Netz.

Da nicht jeder einen Sever an der passenden Stelle stehen hat, oder man auch mal mehrere Fritzboxen mit einem Munin visualisieren möchte, habe ich das Plugin so modifiziert, dass es über die Fernwartungsschnittstelle der Fritzbox ebenfalls zugreifen kann.

Hier die neue Version:

More ...

[ munin ] Fritzbox traffic monitoring

Wann benötige ich wieviel Traffic,
so hier,
so von meinem DSL?

Diese Frage kam mir, und der Wunsch den Traffic den ich über meine Fritzbox ins Internet blase mal Mengenmäßig zu erfassen.

Also musste ein Munin Script her, welches die entsprechenden Werte aus der Fritzbox Admininterface herrauszulesen.

Hier kommts :

#!/bin/sh
# 
# Plugin to monitor the fritzbox traffic

#%# family=auto
#%# capabilities=autoconf

# If run with the "autoconf"-parameter, give our opinion on wether we
# should be run on this system or not. This is optinal, and only used by
# munin-config. In the case of this plugin, we should most probably
# always be included.

if [ "$1" = "autoconf" ]; then
        echo yes
        exit 0
fi

# If run with the "config"-parameter, give out information on how the
# graphs should look. 
 
if [ "$1" = "config" ]; then
#        LOAD_WARN=${load_warn:-10}
#        LOAD_CRIT=${load_crit:-120}
#
#       # The title of the graph
        echo 'graph_title fritz.box dayly traffic'
#       # Arguments to "rrdtool graph". In this case, tell it that the
        # lower limit of the graph is '0', and that 1k=1000 (not 1024)
        echo 'graph_args --base 1000 -l 0'
        # The Y-axis label
        echo 'graph_vlabel Data'
        # Graph category. Defaults to 'other'
        echo 'graph_category network'
        # The fields. "label" is used in the legend. "label" is the only
        # required subfield. 
        echo 'load.label traffic'
        # These two are optional. They are only used if you have
        # configured your munin to tell a Nagios-server about any
        # problems
        #echo "load.warning $LOAD_WARN"
        #echo "load.critical $LOAD_CRIT"
        # This one is purely to add an explanation to the web page. The first
        # one is for the graph itself, while the second one is for the field
        # "load".
        echo 'graph_info The load average of the machine describes how many processes are in the run-queue (scheduled to run "immediately").'
        echo 'load.info Average load for the five minutes.'

        # Last, if run with the "config"-parameter, quit here (don't
        # display any data)
        exit 0
fi

# If not run with any parameters at all (or only unknown ones), do the
# real work - i.e. display the data. Almost always this will be
# "value" subfield for every data field.

###############################
#
# Change password here
#
###############################

FRITZBOX_ADMIN_PASSWORD='PASSWORD123' # Hier password ersetzen

################################
#
# End change password
#
################################


echo -n "load.value "
VAR=`wget -qO- --post-data "getpage=../html/de/menus/menu2.html&var:pagename=inetstat&var:menu=internet&var:lang=de&errorpage=../html/index.html&login:command/password=$FRITZBOX_ADMIN_PASSWORD" http://fritz.box/cgi-bin/webcm | cat`;
INL=`echo "$VAR" | grep  "var inl = " |  sed 's/[a-zA-Z =]*\([0-9]*\).*/\1/'`;
OUT=`echo "$VAR" | grep "var outl = " | sed 's/[a-zA-Z =]*\([0-9]*\).*/\1/'`;
let RES=$INL+$OUT;
echo $RES;

Enjoy using it.

More ...

Archiv