Monitoring einer FRITZ!Box 7390 mit check_nwc_health

Posted on January 22nd, 2013 by lausser

Mittlerweile ist check_nwc_health recht verbreitet und wird von vielen Admins dem Sammelsurium von Plugins vorgezogen, das man früher einsetzen musste, um unterschiedliche Typen von Netzwerkkomponenten zu überwachen. Doch nicht nur für die grossen Kisten kann man check_nwc_health einsetzen. Am Wochenende habe ich mir meine FRITZ!Box genauer angesehen.

Unverständlicherweise spricht die FRITZ!Box nicht SNMP, jedenfalls nicht im Originalzustand. Eine alternative Firmware, die das kann, wollte ich mir auch nicht installieren. Daher habe ich check_nwc_health beigebracht, über das UPnP-Protokoll (für interface-usage und uptime) und HTTP (für cpu-load und memory-usage) mit der FRITZ!Box zu kommunizieren und sich so die gewünschten Messwerte zu besorgen.

Herausgekommen ist die Version 1.9, mit der folgende Abfragen möglich sind:

check_nwc_health --hostname 192.168.1.1 --port 49000 --mode uptime 
OK - device is up since 146 minutes | 'uptime'=146.02;15:;5: 

check_nwc_health --hostname 192.168.1.1 --port 49000 --mode interface-usage
OK - interface WAN usage is in:0.08% (0.23KB/s) out:0.51% (0.28KB/s) | 'WAN_usage_in'=0.08%;80;90 'WAN_usage_out'=0.51%;80;90 'WAN_traffic_in'=0.23KB 'WAN_traffic_out'=0.28KB 

check_nwc_health --hostname 192.168.1.1 --port 49000 --mode cpu-load --community gehe1m
OK - cpu usage is 8.00% | 'cpu_usage'=8%;40;60 

check_nwc_health --hostname 192.168.1.1 --port 49000 --mode memory-usage --community gehe1m
OK - memory usage is 65.00% | 'memory_usage'=65%;80;90 


Zu beachten ist hier, dass –port 49000 angegeben wird. Auf diesem Port lauscht der UPnP-Server. Das Passwort der FRITZ!Box wird benötigt, um an die HTML-Seite mit CPU- und Memory-Messwerten zu kommen. Dafür wird der Parameter –community missbraucht.

Und so sieht’s dann in Thruk aus: service_detail_s

 

 

 

 

 

Achtung: das Plugin funktioniert hier bei mir mit einer FRITZ!Box Fon WLAN 7390 mit Firmware-Version 84.05.50
Andere Modelle oder ältere Firmwarestände werden nicht unterstützt.

Filed under Uncategorized |

6 Responses to “Monitoring einer FRITZ!Box 7390 mit check_nwc_health”

  1. Lars Urban Says:
    January 27th, 2013 at 16:33

    Danke schön für das Plugin ;-)

    Einen Fehler habe ich gehabt / gefunden

    Der uptime Befehl funktioniert nicht da die IP wohl Hardcoded ist. Meine Box hat 192.168.178.1, das gleiche beim interface-usage

    Habe es im Script angepasst, seitdem funktionierte es ;-)

    Kleiner Hint noch, damit es fehlerfrei funktioniert musste ich noch unter Debian folgende Pakete installieren:

    libsoap-lite-perl libxml-libxml-perl

    Danke schön !

    [Reply]

    lausser Reply:

    Danke, hab’s in https://github.com/lausser/check_nwc_health korrigiert.

    [Reply]

  2. Stef' Says:
    February 1st, 2013 at 16:08

    Hallo,

    erstmal DANKE für das coole Plugin! Hab’ mir eben die aktuelle Version vom git gezogen (-master als .zip) und gesehen, daß “interface-usage” für die Fritzbox 7390 immernoch hardcoded eine IP drinstehen hat, nur so zur Info…

    Grüße…

    [Reply]

    lausser Reply:

    Danke! Ich hab’s gerade zu github gepusht und jetzt sind meine IPs endgültig raus.

    [Reply]

  3. Mark Says:
    March 10th, 2013 at 17:46

    Trying … but cant get it to work ….

    /check_nwc_health –hostname 192.168.178.1 –port 49000 –mode interface-usage

    Can’t locate XML/LibXML.pm in @INC (@INC contains: /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl /usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/5.8.8 .) at ./check_nwc_health line 786.

    what am I doing wrong here?

    [Reply]

  4. Mark Says:
    March 10th, 2013 at 18:41

    On step further …

    /check_nwc_health –hostname 192.168.178.1 –port 49000 –mode interface-usage CRITICAL – Can’t locate object method “new” via package “XML::LibXML::XPathContext” (perhaps you forgot to load “XML::LibXML::XPathContext”?) at ./check_nwc_health line 798.

    sigh ;)

    [Reply]

Leave a Reply