FritzBox Exporter Grafana / Prometheus
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

68 lines
2.5 KiB

# Fritz!Box Upnp statistics exporter for prometheus
This exporter exports some variables from an
[AVM Fritzbox](http://avm.de/produkte/fritzbox/)
to prometheus.
This exporter is tested with a Fritzbox 7590 software version 07.12.
This is a fork from:
https://github.com/123Haynes/fritzbox_exporter
which is forked from:
https://github.com/ndecker/fritzbox_exporter
The goal of the fork is:
4 years ago
- [x] allow passing of username / password using evironment variable
- [x] use https instead of http for communitcation with fritz.box
- [x] move config of metrics to be exported to config file rather then code
- [x] add config for additional metrics to collect (especially from TR-064 API)
- [x] create a grafana dashboard consuming the additional metrics
## Building
go get github.com/sberk42/fritzbox_exporter/
cd $GOPATH/src/github.com/sberk42/fritzbox_exporter
go install
## Running
In the configuration of the Fritzbox the option "Statusinformationen über UPnP übertragen" in the dialog "Heimnetz >
Heimnetzübersicht > Netzwerkeinstellungen" has to be enabled.
Usage:
$GOPATH/bin/fritzbox_exporter -h
Usage of ./fritzbox_exporter:
-gateway-url string
The URL of the FRITZ!Box (default "http://fritz.box:49000")
-listen-address string
The address to listen on for HTTP requests. (default "127.0.0.1:9042")
-metrics-file string
The JSON file with the metric definitions. (default "metrics.json")
-password string
The password for the FRITZ!Box UPnP service
-test
print all available metrics to stdout
-username string
The user for the FRITZ!Box UPnP service
The password (needed for metrics from TR-064 API) can be passed over environment variables to test in shell:
read -rs PASSWORD && ./fritzbox_exporter -username <user> -test; unset PASSWORD
## Exported metrics
start exporter and run
curl -s http://127.0.0.1:9042/metrics
## Output of -test
The exporter prints all available Variables to stdout when called with the -test option.
These values are determined by parsing all services from http://fritz.box:49000/igddesc.xml and http://fritzbox:49000/tr64desc.xml (for TR64 username and password is needed!!!)
## Customizing metrics
The metrics to collect are no longer hard coded, but have been moved to the metrics.json file, so just adjust to your needs.
For a list of all the available metrics just execute the exporter with -test (username and password are needed for the TR-064 API!)