munin | Tag | ohneKontur - der Blog https://www.ohnekontur.de ohne Linien und Kanten und trotzdem gefangen Fri, 28 Nov 2014 09:55:39 +0000 en-US hourly 1 https://wordpress.org/?v=6.4.5 [ munin ] Fritzbox traffic monitoring über die Fernwartungsschnittstelle https://www.ohnekontur.de/2010/08/29/munin-fritzbox-traffic-monitoring-uber-die-fernwartungsschnittstelle/ https://www.ohnekontur.de/2010/08/29/munin-fritzbox-traffic-monitoring-uber-die-fernwartungsschnittstelle/#comments Sun, 29 Aug 2010 16:44:26 +0000 http://www.ohnekontur.de/?p=1062 Ich 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 … Continue reading

The post [ munin ] Fritzbox traffic monitoring über die Fernwartungsschnittstelle first appeared on ohneKontur - der Blog.]]>
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:

#!/bin/sh
# 
# Plugin to monitor the load average on a system.
#
# Usage: Link or copy into /etc/munin/node.d/
#
# Parameters
#     env.load_warn < warning load >
#     env.load_crit < critical load >
#
# Magic markers (optional - only used by munin-config and some
# installation scripts):
#
#%# 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 host name this plugin is for. (Can be overridden to have
#       # one machine answer for several)
#
#       # 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'
        # We want Cur/Min/Avg/Max unscaled (i.e. 0.42 load instead of
        # 420 milliload)
        #echo 'graph_scale no'
        # 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 DATA here
#
###############################

FRITZBOX_FERNWARTUNG_NAME=''; #Benutzername für den Fernzugriff (ansonsten leer lassen)
FRITZBOX_FERNWARTUNG_PASSWORT=''; #Passwort für den Fernzugriff (ansonsten leer lassen)
FRITZBOX_PORT='80'; #Port eintragen (nur bei benutzung über Fernwartung ändern)
FRITZBOX_PROTOKOLL='http'; #bei Fernzugriff in https ändern
FRITZBOX_DOMAIN_NAME='fritz.box'; #Hier den Domain namen der Fritzbox eintragen
FRITZBOX_ADMIN_PASSWORD='pw'; # Hier Admin Password ersetzen, mit dem man sich unter fritz.box anmeldet

################################
#
# End change
#
################################
FRITZBOX_URL="$FRITZBOX_PROTOKOLL://";
if  [ "$FRITZBOX_FERNWARTUNG_NAME" != "" ]; then
        FRITZBOX_URL="$FRITZBOX_URL$FRITZBOX_FERNWARTUNG_NAME:$FRITZBOX_FERNWARTUNG_PASSWORT@";
fi
FRITZBOX_URL="$FRITZBOX_URL$FRITZBOX_DOMAIN_NAME:$FRITZBOX_PORT";


echo -n "load.value "
VAR=`wget -qO-  --no-check-certificate --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" $FRITZBOX_URL/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;

So wie das Script da steht ist es für den Einsatz im Lokalennetz konfiguriert,
für den Einsatz über die Fernwartungsschnittstelle müssen die Werte zwischen “Change DATA here” und “End change” geändert werden.

Eine Beispielconfig für Fernzugriff sähe so aus:

FRITZBOX_FERNWARTUNG_NAME='admin'; #Benutzername für den Fernzugriff (ansonsten leer lassen)
FRITZBOX_FERNWARTUNG_PASSWORT='geheim'; #Passwort für den Fernzugriff (ansonsten leer lassen)
FRITZBOX_PORT='443'; #Port eintragen (nur bei benutzung über Fernwartung ändern)
FRITZBOX_PROTOKOLL='https'; #bei Fernzugriff in https ändern
FRITZBOX_DOMAIN_NAME='fritzbox.dyn-dns-server.org'; #Hier den Domain namen der Fritzbox eintragen
FRITZBOX_ADMIN_PASSWORD='pw'; # Hier Admin Password ersetzen, mit dem man sich unter fritz.box anmeldet

Das wars auch schon,
viel Spaß damit :)

The post [ munin ] Fritzbox traffic monitoring über die Fernwartungsschnittstelle first appeared on ohneKontur - der Blog.]]>
https://www.ohnekontur.de/2010/08/29/munin-fritzbox-traffic-monitoring-uber-die-fernwartungsschnittstelle/feed/ 1
[ munin ] Fritzbox traffic monitoring https://www.ohnekontur.de/2010/02/20/munin-fritzbox-traffic-monitoring/ https://www.ohnekontur.de/2010/02/20/munin-fritzbox-traffic-monitoring/#comments Sat, 20 Feb 2010 03:30:05 +0000 https://www.ohnekontur.de/?p=744 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 … Continue reading

The post [ munin ] Fritzbox traffic monitoring first appeared on ohneKontur - der Blog.]]>
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

The post [ munin ] Fritzbox traffic monitoring first appeared on ohneKontur - der Blog.]]>
https://www.ohnekontur.de/2010/02/20/munin-fritzbox-traffic-monitoring/feed/ 4