.gitignore | ||
Changelog.md | ||
CONTRIBUTORS.md | ||
fritzbox_attenuation.py | ||
fritzbox_connection_uptime.py | ||
fritzbox_cpu_temperature.py | ||
fritzbox_cpu_usage.py | ||
fritzbox_helper.py | ||
fritzbox_memory_usage.py | ||
fritzbox_noise_margin.py | ||
fritzbox_power_consumption.py | ||
fritzbox_traffic.py | ||
fritzbox_uptime.py | ||
fritzbox_wifi_devices.py | ||
LICENSE | ||
README.md | ||
requirements.txt |
fritzbox-munin
A collection of munin plugins to monitor your AVM FRITZ!Box router. The scripts have been developed using a FRITZ!Box 7590(Amazon link) running FRITZ!OS 7.25.
If you are using the scripts on a different Fritz!Box model please let me know by
- opening an issue
- submitting a pull request
So far the following models (running FRITZ!OS 06.83) have been confirmed working:
- FRITZ!Box 3370
- FRITZ!Box 5490
- FRITZ!Box 7362 SL
- FRITZ!Box 7390
- FRITZ!Box 7430
- FRITZ!Box 7490
- FRITZ!Box 7530
- FRITZ!Box 7530 AX
- FRITZ!Box 7560
- FRITZ!Box 7580
- FRITZ!Box 7590
If you are still running an older Fritz!OS version check out the releases section.
Introduction
These python scripts are Munin plugins for monitoring the Fritz!Box router by AVM.
fritzbox_traffic
fritzbox_traffic shows you the traffic of the WAN interface (requires fritzconnection)
If you do not want to show the interface maximum values, add the following to your plugin-configuration:
env.traffic_remove_max true
fritzbox_connection_uptime
fritzbox_connection_uptime shows you the connection uptime in days (requires fritzconnection)
fritzbox_cpu_usage
fritzbox_cpu_usage shows you the cpu usage (requires username & password)
fritzbox_cpu_temperature
fritzbox_cpu_temperature shows you the cpu temperature (requires username & password)
fritzbox_memory_usage
fritzbox_memory_usage shows you the memory usage (requires username & password)
fritzbox_power_consumption
fritzbox_power_consumption shows you the power consumption (requires username & password)
fritzbox_uptime
fritzbox_uptime shows you the uptime in days (requires username & password) (language dependant, see below).
fritzbox_wifi_devices
fritzbox_wifi_devices shows you the number of connected wifi clients (requires username & password) (language dependant, see below).
Installation & Configuration
-
Pre-requesites for the fritzbox_traffic and fritzbox_uptime plugins are the fritzconnection and requests package. To install it
pip install -r requirements.txt
fritzconnection requires python3. Make sure python --version is >= 3.6.
-
Make sure the FritzBox has UPnP status information enabled. (German interface: Heimnetz > Heimnetzübersicht > Netzwerkeinstellungen > Statusinformationen über UPnP übertragen)
-
Copy all the scripts to
/usr/share/munin/plugins
-
Create entry in
/etc/munin/plugin-conf.d/munin-node
:[fritzbox_*] env.fritzbox_ip <ip_address_to_your_fritzbox> env.fritzbox_username <fritzbox_username> env.fritzbox_password <fritzbox_password> env.traffic_remove_max true # if you do not want the possible max values host_name fritzbox
-
Create symbolic links to
/etc/munin/plugins
. -
Restart the munin-node daemon:
/etc/init.d/munin-node restart
. -
Done. You should now start to see the charts on the Munin pages.
Localization
Two scripts depend on the language selected in your fritzbox: the uptime and wifi_devices. Currently, two locales are supported:
- German:
de
(default) - English:
en
You can change the used locale by setting an environment variable in your plugin configuration:
env.locale en
Different hosts for the fritzbox and your system
You can split the graphs of your fritzbox 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
-
Add the following to your munin-node configuration
env.host_name fritzbox
-
Restart your munin-node:
systemctl restart munin-node
Environment Settings
Do not forget to restart the munin-node daemon as described in step 3 of the installation instructions above.