A collectd plugin for monitoring AVM FRITZ!Box routers.
Data captured for the FRITZ!Box includes:
- Physical link status
- Connection status
- Online connection uptime
- Maximal bit rates
- Current bit rates
- Total bytes sent and received
- Total bytes send and received on LAN interface (requires Authentication)
Data captured for connected FRITZ!DECT devices:
- Temperature
- Switch status
- Current power
- Energy consumption
- Python 2.7+
- fritzconnection
- collectd 4.9+
pip install fritzcollectd
- Configure the plugin as shown below
- Restart collectd
In order to be able to read the status information the option "Transmit status information over UPnP" has to be enabled in the "Network Settings" menu on the Fritz!BOX. This is exaplained in AVM's Knowledge Base.
Add the following to your collectd config (typically /etc/collectd.conf
):
<LoadPlugin python>
Globals true
</LoadPlugin>
...
<Plugin python>
Import "fritzcollectd"
#<Module fritzcollectd>
# Address "fritz.box"
# Port 49000
# User "dslf-config"
# Password "pass"
# Hostname "FritzBox"
# Instance "1"
# Verbose "False"
#</Module>
</Plugin>
The plugin recognizes several (optional) configuration parameters. In most cases the plugin works without any of these parameters. It might be necessary to specify Address if the router's host name has been changed. Some values require authentication and can only be queried if the router's Password has been configured.
- Address: The network address of the FRITZ!Box.
- Port: The TCP port of the FRITZ!Box.
- User: The login user name on the FRITZ!Box.
- Password: The password on the FRITZ!Box for authentication.
- Instance: Plugin instance that collectd associates with the data.
- Hostname: Hostname that collectd associates with the data (defaults to the host executing this plugin)
- Verbose: Enable verbose logging to ease debugging.
The module block can be repeated to monitor multiple routers.
Please refer to the project announcement blog post for additional information, such as the usage of Grafana for metrics visualization.
This projected is licensed under the terms of the MIT license.