A collection of munin plugins to monitor your AVM FRITZ!Box router. The scripts have been developed using a FRITZ!Box 7590 running FRITZ!OS 7.50 and a FRITZ!WLAN Repeater 1750E running FRITZ!OS 7.27.
If you are using the scripts on a different FRITZ!Box model please let me know by
These python scripts are Munin plugins for monitoring the FRITZ!Box router by AVM.
The scripts are build upon the original fritzbox-munin with the goal to make use of the modern APIs that FRITZ!OS 7 provides.
The main differences to the original version are:
Plugin: fritzbox_connection_uptime.py
Shows the WAN connection uptime.
Plugin: fritzbox_dsl.py
Multigraph plugin, showing:
Plugin: fritzbox_ecostat.py
Multigraph plugin, showing:
Plugin: fritzbox_smart_home_temperature.py
Plugin: fritzbox_energy.py
Multigraph plugin, showing:
Plugin: fritzbox_link_saturation.py
Multigraph plugin, showing saturation of WAN uplink and downlink by QoS priority
Plugin: fritzbox_traffic.py
Similar to fritzbox_link_saturation, but single-graph and without QoS monitoring.
Plugin: fritzbox_wifi_load.py
Multigraph plugin, showing for 2.4GHz and 5GHz
Pre-requisites for the fritzbox_traffic
and fritzbox_connection_uptime
plugins are the fritzconnection and requests package. To install run
pip install -r requirements.txt
Make sure the FRITZ!Box has UPnP status information enabled. (web interface: Home Network > Network > Network Settings > Universal Plug & Play (UPnP))
Copy all the scripts from src/
folder to /usr/share/munin/plugins
(optional) If you want to connect to FRITZ!Box using SSL, download the Fritz certificate (web interface: Internet > Freigaben > FritzBox Dienste > Zertifikat > Zertifikat herunterladen) and save it to /etc/munin/box.cer
.
Create entry in /etc/munin/plugin-conf.d/munin-node
:
[fritzbox_*]
env.fritzbox_password <fritzbox_password>
env.fritzbox_user <fritzbox_user>
env.fritzbox_use_tls true
host_name fritzbox
See the plugin files for plugin-specific configuration options.
For each plugin you want to activate, create a symbolic link to /etc/munin/plugins
, e.g.:
ln -s fritzbox_dsl.py /etc/munin/plugins/fritzbox_dsl.py
Restart the munin-node daemon: service munin-node restart
.
Done. You should now start to see the charts on the Munin pages!
The fritzbox_energy
script depends on the language selected in your FRITZ!Box. Currently, two locales are
supported:
de
(default)en
You can change the used locale by setting an environment variable in your plugin configuration:
env.locale en
You can split the graphs of your FRITZ!Box from the localhost graphs by following the next steps:
Use the following as your host configuration in /etc/munin/munin.conf
[home.yourhost.net;server]
address 127.0.0.1
use_node_name yes
[home.yourhost.net;fritzbox]
address 127.0.0.1
use_node_name no
Restart your munin-node: service munin-node restart
To test a plugin use
munin-run --debug fritzbox_connection_uptime.py