[ 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.

Einziger Bug den ich bisher kenne,
bei mehr als 4GB traffic an einem Tag dropt irgendwie die Statistik irgendwie müsste mal herrausfinden woran das liegt.

[UPDATE]
Geänderte Version mit der Möglichkeit der Fernabfrage der Fritzbox gibts hier

This entry was posted in Pastes, Technik, Uncategorized and tagged , , , , , , . Bookmark the permalink.

4 Responses to [ munin ] Fritzbox traffic monitoring

  1. Pingback: [ munin ] Fritzbox traffic monitoring über die Fernwartungsschnittstelle | ohneKontur - der Blog

Leave a Reply

Your email address will not be published. Required fields are marked *