#standwithukraine

Fritzbox Trafficauswertungen mit MRTG unter Windows

fritzmrtg

Auch, wenn einem der Name MRTG nicht geläufig ist, eine dieser Grafiken hat eigentlich jeder schon einmal irgendwo gesehen. MRTG, der Multi Router Traffic Grapher,  wertet Traffic (und zich andere Sachen) über SNMP aus und erstellt hübsche Grafiken.

Was liegt also näher, als MRTG auf meine Fritzbox Fon WLAN 7270 anzusetzen? Die Fritzbox unterstützt kein SNMP! Allerdings kann sie Universal Plug and Play (UPnP). Über diesen Ansatz fand ich zu einer Anleitung, die UPnP zusammen MRTG benutzt, um den Traffic einer Fritzbox auszuwerten. Genau das wollte ich ja. Dort wurde  ein Perl-Script namens upnp2mrtg verwendet, um UPnP für MRTG lesbar zu machen. Leider hat diese Anleitung bei mir nicht funktioniert. Allerdings fand ich einen Blogeintrag zu einem Port des Scripts in Python. Und siehe da, dieses Script funktionierte bei mir!

Doch der Reihe nach:

  1. Benötigt werden: Eine Fritzbox (das Script funktioniert auch bei Netcologne Routern), MRTG für Windows, ActivePerl für Windows, ActivePython für Windows, Cygwin, ng-upnp2mrtg. Mein angepaßtes ng-upnp2mrtg und meine angepaßte mrtg.cfg kannst du direkt hier downloaden.
  2. MRTG für Windows nach c:mrtg entpacken.
  3. ActivePerl nach c:perl installieren.
  4. ActivePython nach c:python installieren.
  5. Cygwin nach c:cygwin installieren.
  6. ng-upnp2mrtg.py und mrtg.cfg nach c:mrtgbin kopieren und ggf. anpassen (Siehe unten).
  7. MRTG und Perl mit c:perlbinwperl.exe mrtg mrtg.cfg im Verzeichnis c:mrtgbin in der DOS-Box („Eingabeaufforderung“, Start -> ausführen -> cmd)  testen.
  8. Python mit ng-upnp2mrtg.py --list im Verzeichnis c:mrtgbin in der DOS-Box testen (Siehe rechts). pythondostest
  9. Wenn alles funktioniert kann das Script mit start /Dc:mrtgbin wperl mrtg --logging=eventlog mrtg.cfg in der DOS-Box in den Hintergrund verbannt werden. Dazu muß  RunAsDaemon: yes in der mrtg.cfg stehen. Gestoppt werden kann das Ganze, indem man den Task wperl über den Taskmanager beendet.
  10. Wenn die HTML Datei und die Grafiken erstellt werden und gut aussehen, dann wars das 😉

Anpassungen:

In der Datei mrtg.cfg muß eigentlich nur WorkDir: angepasst werden. In diesem Verzeichnis landet die HTML-Datei und die Grafiken, die MRTG erstellt. Zusätzlich können natürlich der Titel und die Überschrift geändert werden:

Title[fritzbox]: FritzBox
PageTop[fritzbox]: <H1>FritzBox (192.168.1.1)</H1><:

Außerdem kann die „Höchstgeschwindigkeit“ angegeben werden. Bei mir sind das 32 MBit/2,5 MBit Kabel.

MaxBytes1[fritzbox]: 3500000
MaxBytes2[fritzbox]: 256000

Die Datei ng-upnp2mrtg.py habe ich minimal angepasst und eigentlich muß maximal die IP-Adresse in Zeile 20 geändert werden:
DEFAULT_HOST = "192.168.1.1"
Außerdem habe ich die Ausgabe der Uptime (Zeile 276) mal etwas ansprechender gemacht:
uptime_str = "%s Tagen, %d Stunden, %d Minuten und %02d Sekunden" % dhms(uptime)
Das wars dann. Es sollte es in etwa so aussehen, wie das Bild oben rechts.

links for 2008-11-05