2015-06-02 23:41:15 +02:00
# fritzbox-munin
2015-12-19 11:34:21 +01:00
2020-07-12 21:31:04 +02:00
A collection of munin plugins to monitor your AVM FRITZ!Box router. The scripts have been developed using a [FRITZ!Box 7490 ](http://geni.us/OO2c7S )(Amazon link) running FRITZ!OS 07.12.
2017-06-11 22:23:29 +02:00
If you are using the scripts on a different Fritz!Box model please let me know by
2015-06-02 23:54:35 +02:00
## Introduction
These python scripts are [Munin ](http://munin-monitoring.org ) plugins for monitoring the [Fritz!Box ](http://avm.de/produkte/fritzbox/ ) router by AVM.
2015-06-05 00:26:57 +02:00
## fritzbox\_traffic
2015-06-02 23:54:35 +02:00
2018-09-12 17:07:10 +02:00
fritzbox\_traffic shows you the traffic of the WAN interface (requires fritzconnection)
2015-06-16 23:40:48 +02:00
![http://i.imgur.com/8BwNMOL.png ](http://i.imgur.com/8BwNMOL.png )
2017-09-06 21:35:23 +02:00
If you do not want to show the interface maximum values, add the following to your plugin-configuration:
env.traffic_remove_max true
2018-09-12 17:07:10 +02:00
2015-06-05 09:18:06 +02:00
## fritzbox\_connection\_uptime
2015-06-04 23:05:16 +02:00
2018-09-12 17:07:10 +02:00
fritzbox\_connection\_uptime shows you the connection uptime in days (requires fritzconnection)
2015-06-16 23:40:48 +02:00
![http://i.imgur.com/8oE1OYL.png ](http://i.imgur.com/8oE1OYL.png )
2018-09-12 17:07:10 +02:00
2015-06-04 23:05:16 +02:00
## fritzbox\_cpu\_usage
2015-06-04 22:23:00 +02:00
2018-09-12 17:07:10 +02:00
fritzbox\_cpu\_usage shows you the cpu usage (requires password)
2015-06-16 23:40:48 +02:00
![http://i.imgur.com/A9uGvWP.png ](http://i.imgur.com/A9uGvWP.png )
2015-06-05 00:15:19 +02:00
## fritzbox\_cpu\_temperature
2018-09-12 17:07:10 +02:00
fritzbox\_cpu\_temperature shows you the cpu temperature (requires password)
2015-06-16 23:40:48 +02:00
![http://i.imgur.com/duHYhw6.png ](http://i.imgur.com/duHYhw6.png )
2018-09-12 17:07:10 +02:00
2015-06-04 23:38:39 +02:00
## fritzbox\_memory\_usage
2018-09-12 17:07:10 +02:00
fritzbox\_memory\_usage shows you the memory usage (requires password)
2015-06-16 23:40:48 +02:00
![http://i.imgur.com/WhxrINK.png ](http://i.imgur.com/WhxrINK.png )
2015-06-02 23:54:35 +02:00
2015-06-04 23:53:58 +02:00
## fritzbox\_power\_consumption
2018-09-12 17:07:10 +02:00
fritzbox\_power\_consumption shows you the power consumption (requires password)
2015-06-16 23:40:48 +02:00
![http://i.imgur.com/a7uQzn6.png ](http://i.imgur.com/a7uQzn6.png )
2015-06-05 09:18:06 +02:00
## fritzbox\_uptime
2017-09-06 21:57:40 +02:00
fritzbox\_uptime shows you the uptime in days (requires password) (language dependant, see below).
2015-06-17 20:17:26 +02:00
![http://i.imgur.com/Jr8OibH.png ](http://i.imgur.com/Jr8OibH.png )
2015-06-05 09:18:06 +02:00
## fritzbox\_wifi\_devices
2017-09-06 21:57:40 +02:00
fritzbox\_wifi\_devices shows you the number of connected wifi clients (requires password) (language dependant, see below).
2015-06-16 23:40:48 +02:00
![http://i.imgur.com/lqvK1b2.png ](http://i.imgur.com/lqvK1b2.png )
2015-06-04 23:53:58 +02:00
2018-09-12 17:07:10 +02:00
## Installation & Configuration
1. Pre-requesites for the fritzbox\_traffic and fritzbox\_uptime plugins are the [fritzconnection ](https://pypi.python.org/pypi/fritzconnection ) and [requests ](https://pypi.python.org/pypi/requests ) package. To install it
2015-06-02 23:54:35 +02:00
2015-06-16 23:46:24 +02:00
pip install fritzconnection
2020-07-11 18:00:44 +02:00
pip install lxml
2015-06-05 00:26:57 +02:00
2018-09-12 17:07:10 +02:00
2. Make sure the FritzBox has UPnP status information enabled. (German interface: Heimnetz > Heimnetzübersicht > Netzwerkeinstellungen > Statusinformationen über UPnP übertragen)
2017-10-13 20:29:05 +02:00
2020-07-12 21:17:00 +02:00
3. Copy all the scripts (*.py) to `/usr/share/munin/plugins`
2015-06-02 23:54:35 +02:00
2020-07-12 21:17:00 +02:00
4. Make all the scripts execute able (chmod 755 /usr/share/munin/plugins.*py)
2015-06-02 23:54:35 +02:00
2020-07-12 21:17:00 +02:00
5. Create entry in `/etc/munin/plugin-conf.d/munin-node` :
2020-07-12 21:34:28 +02:00
1. only one fritzbox or all fritz boxes use the same password:
2020-07-12 21:17:00 +02:00
2020-07-12 21:34:28 +02:00
[fritzbox_*]
env.fritzbox_password < fritzbox_password >
env.traffic_remove_max true # if you do not want the possible max values
2020-07-12 21:31:04 +02:00
2020-07-12 21:34:28 +02:00
2. multiple fritz boxes:
2020-07-12 21:31:04 +02:00
2020-07-12 21:34:28 +02:00
[fritzbox_< fqdn1 > _*]
env.fritzbox_password < fritzbox_password >
env.traffic_remove_max true # if you do not want the possible max values
2020-07-12 21:17:00 +02:00
2020-07-12 21:34:28 +02:00
[fritzbox_< fqdn2 > _*]
env.fritzbox_password < fritzbox_password >
env.traffic_remove_max true # if you do not want the possible max values
2020-07-12 21:17:00 +02:00
6. Create symbolic link in `/etc/munin/plugins` for `fritzbox_helper.py` .
2020-07-12 21:31:04 +02:00
cd /etc/munin/plugins
ln -d /usr/share/munin/plugins/fritzbox_helper.py fritzbox_helper.py
2020-07-12 21:17:00 +02:00
2020-07-12 21:31:04 +02:00
7. Create symbolic link in `/etc/munin/plugins` for probes.
link `/usr/share/munin/plugins/fritzbox__<probe>.py` to `fritzbox_<fqdn>_<probe>`
example
cd /etc/munin/plugins
ln -d /usr/share/munin/plugins/fritzbox__cpu_usage.py fritzbox_fritz.box_cpu_usage
ln -d /usr/share/munin/plugins/fritzbox__cpu_temperature.py fritzbox_fritz.box_cpu_temperature
...
2020-07-12 21:34:28 +02:00
if you have multiple fritz box just create multiple sets of links with a different fqdn or ip.
2020-07-12 21:31:04 +02:00
example
cd /etc/munin/plugins
ln -d /usr/share/munin/plugins/fritzbox__cpu_usage.py fritzbox_fritz.box_cpu_usage
ln -d /usr/share/munin/plugins/fritzbox__cpu_usage.py fritzbox_box2.fritz.box_cpu_usage
ln -d /usr/share/munin/plugins/fritzbox__cpu_usage.py fritzbox_192.168.100.1_cpu_usage
ln -d /usr/share/munin/plugins/fritzbox__cpu_temperature.py fritzbox_box2.fritz.box_cpu_temperature
ln -d /usr/share/munin/plugins/fritzbox__cpu_temperature.py fritzbox_box2.fritz.box_cpu_temperature
ln -d /usr/share/munin/plugins/fritzbox__cpu_temperature.py fritzbox_192.168.100.1_cpu_temperature
...
2020-07-12 21:17:00 +02:00
8. Restart the munin-node daemon: `systemctl restart munin-node` .
9. Done. You should now start to see the charts on the Munin pages.
2015-06-02 23:54:35 +02:00
2017-09-06 21:57:40 +02:00
## Localization
Two scripts depend on the language selected in your fritzbox: the uptime and wifi\_devices. Currently, two locales are
supported:
1. German: `de` (default)
2. English: `en`
You can change the used locale by setting an environment variable in your plugin configuration:
env.locale en
2020-07-12 21:17:00 +02:00
## Set a group for your fritz boxes
2017-09-06 21:15:13 +02:00
2020-07-12 21:17:00 +02:00
You can group the graphs of your fritzbox:
2017-09-06 21:15:13 +02:00
2020-07-12 21:17:00 +02:00
1. Use the following as your host configuration in `/etc/munin/munin.conf` or by creating a file in `/etc/munin/munin-conf.d`
2017-09-06 21:15:13 +02:00
2020-07-12 21:17:00 +02:00
[< groupname > ;< fqdn > ]
2017-09-06 23:42:55 +02:00
address 127.0.0.1
2020-07-12 21:17:00 +02:00
use_node_name no
2018-09-12 17:07:10 +02:00
2020-07-12 21:17:00 +02:00
example:
[Network;fritz.box]
2017-09-06 23:42:55 +02:00
address 127.0.0.1
use_node_name no
2017-09-06 21:15:13 +02:00
2020-07-12 21:17:00 +02:00
2. Restart your munin-node: `systemctl restart munin-node`
2017-09-06 21:15:13 +02:00
2015-06-02 23:54:35 +02:00
## Environment Settings
2018-09-12 17:07:10 +02:00
2017-06-11 22:16:29 +02:00
Do not forget to restart the munin-node daemon as described in step 3 of the installation instructions above.