sberk42 / fritzbox_exporter Goto Github PK
View Code? Open in Web Editor NEWThis project forked from 123haynes/fritzbox_exporter
Fritz!Box Upnp statistics exporter for prometheus
License: Apache License 2.0
This project forked from 123haynes/fritzbox_exporter
Fritz!Box Upnp statistics exporter for prometheus
License: Apache License 2.0
I might need help adding more metrics to the exporter.
Especially i want to collect the errors that are dsl related like crc, fixed and unfixed dtu's ...
I found the metrics i need for example:
{ "service": "urn:dslforum-org:service:WANDSLInterfaceConfig:1", "action": "GetStatisticsTotal", "result": "Stats.Total.CRCErrors" },
and i tried adding this to the metrics.json with the following:
{ "service": "urn:dslforum-org:service:WANDSLInterfaceConfig:1", "action": "GetStatisticsTotal", "result": "Stats.Total.CRCErrors", "promDesc": { "fqName": "gateway_errors_crc", "varLabels": [ "gateway" ] } },
Then i created the image again with
docker build --no-cache --tag fritzbox-prometheus-exporter:latest .
and then ran it.
The container runs again, but i can't see the added metrics
What am i missing or what could i do different?
I've just tried "upgrading" from ndecker/fritzbox_exporter to this fork. Thanks for the work!
Unfortunately, running the binary produces an error for me:
$ ./fritzbox_exporter -gateway-url=http://192.168.0.1 -username=fritzuser -password=fritzpass -test=true
panic: XML syntax error on line 4: unquoted or missing attribute value in element
goroutine 1 [running]:
main.test()
/home/myuser/go/pkg/mod/github.com/sberk42/[email protected]/main.go:544 +0xc16
main.main()
/home/myuser/go/pkg/mod/github.com/sberk42/[email protected]/main.go:680 +0x4c6
I've installed fritzbox exporter via go install github.com/sberk42/fritzbox_exporter@latest
, which seemd to run fine.
Any help highly appreciated, not sure if I'm doing something stupid maybe? From a quick glance at the code it seems like something with the UPNP connection goes wrong, as the panic points at a failed upnp.LoadServices call.
The same error also appears to happen when called without the test parameter.
What am I doing wrong here? What XML is the program talking about here?
Hey,
I receive the following when I try the docker
i ran it with:
docker run -e 'USERNAME=myUsername'
-e 'PASSWORD=myPassword'
-e 'GATEWAY_URL="http://192.168.178.1:49000"'
-e 'LISTEN_ADDRESS="0.0.0.0:9042"'
fritzbox-prometheus-exporter:latest
an get:
time="2022-03-05T16:25:05Z" level=error msg="invalid URL:%!(EXTRA *url.Error=parse "\"http://192.168.178.1:49000\\\"\": first path segment in URL cannot contain colon)"
From time to time I see on the logs this error:
level=error msg="Can not get result for %s: %sGetGenericHostEntryGetGenericHostEntry: SAOPFault: UPnPError 713 (SpecifiedArrayIndexInvalid)
I would like to know if this can be related to the fact that on the Grafana Dashboard I can see part of the graphs without informations as in the image attached.
Do you have any idea to solve this issue?
Hi,
I'm building the docker-image using the (current) commit 6b8ced0 and am collecting metrics from my FRITZ!Box 7590 v. 7.29
Everything works fine with the "default" metrics.json: the container runs smoothly, prometheus is collecting metrics and the grafana dashboard provides a nice overview!
When I switch (i.e. copy over) from the "default" metrics.json: file to any of the all_available_metrics_7590*.json: files I get the following error:
panic: descriptor Desc{fqName: "", help: "", constLabels: {}, variableLabels: []} is invalid: "" is not a valid metric name [62/1624]
goroutine 1 [running]:
github.com/prometheus/client_golang/prometheus.(*Registry).MustRegister(0xc000028013?, {0xc0002b6d60?, 0x1, 0x0?})
/go/pkg/mod/github.com/prometheus/[email protected]/prometheus/registry.go:403 +0x7f
github.com/prometheus/client_golang/prometheus.MustRegister(...)
/go/pkg/mod/github.com/prometheus/[email protected]/prometheus/registry.go:178
main.main()
/go/pkg/mod/github.com/sberk42/[email protected]/main.go:842 +0x130c
The "default" metrics.json: file appears to be mostly fine but is missing some fields which are used in the grafana dashboard (e.g. gateway_device_modelname:, gateway_uptime_seconds:).
Is there some misunderstanding on my side (how metrics.json: should be handled / overwritten) or anything else going on?
Hi, amazing work!
Is it posible to add wireless signal strength on the wireless objects?
Data is published on every wireless connected device:
So it would be really nice to graph it so we can find zones with bad signal
FROM:
gateway_host_active{gateway="172.18.124.1",hostname="biglamp",interfacetype="802.11",ipaddress="172.18.124.25",macaddress="xx:xx:xx:xx:xx:xx"} 1
TO:
gateway_host_active{gateway="172.18.124.1",hostname="biglamp",interfacetype="802.11",signalstrength="-51",ipaddress="172.18.124.25",macaddress="xx:xx:xx:xx:xx:xx"} 1
I built the docker image and then tried to run the container with
docker run --dns 192.168.178.1 \ -e 'USERNAME=prometheus' \ -e 'PASSWORD=hidden' \ -e 'GATEWAY_URL="http://192.168.178.1:49000"' \ -e 'LISTEN_ADDRESS="0.0.0.0:9042"' \ fritzbox-prometheus-exporter:latest
But i got a URL error:
time="2022-02-21T10:49:42Z" level=error msg="invalid URL:%!(EXTRA *url.Error=parse \"\\\"192.168.178.1:49000\\\"\": first path segment in URL cannot contain colon)"
Any info on how to fix that?
EDIT: I tried with docker-compose, that seems to work
When you have the following Configuration on your WiFi:
Only the directly Connected WiFi Devices will be "exported".
In my Case only
9 for 5.0Ghz
and
2 for 2.4Ghz
But my WiFi Network is much larger because of the Mesh Repeater which are handling most of the Network.
Metrics which get Exportet:
# HELP fritzbox_exporter_collectErrors Number of collection errors.
# TYPE fritzbox_exporter_collectErrors counter
fritzbox_exporter_collectErrors 6341
# HELP fritzbox_exporter_luaCollectErrors Number of lua collection errors.
# TYPE fritzbox_exporter_luaCollectErrors counter
fritzbox_exporter_luaCollectErrors 9423
# HELP fritzbox_exporter_results_cached Number of results taken from cache.
# TYPE fritzbox_exporter_results_cached counter
fritzbox_exporter_results_cached{Cache="LUA"} 259818
fritzbox_exporter_results_cached{Cache="UPNP"} 525168
# HELP fritzbox_exporter_results_loaded Number of results loaded from fritzbox.
# TYPE fritzbox_exporter_results_loaded counter
fritzbox_exporter_results_loaded{Cache="LUA"} 13889
fritzbox_exporter_results_loaded{Cache="UPNP"} 2.172327e+06
# HELP gateway_connection_max_bitrate connection max bitrate
# TYPE gateway_connection_max_bitrate gauge
gateway_connection_max_bitrate{connection="PPP",direction="Down",gateway="fritz.box",interface="WAN"} 4.9643334e+07
gateway_connection_max_bitrate{connection="PPP",direction="Up",gateway="fritz.box",interface="WAN"} 4.0569962e+07
# HELP gateway_connection_status Connection status (Connected = 1)
# TYPE gateway_connection_status gauge
gateway_connection_status{connection="IP",gateway="fritz.box",interface="WAN"} 1
gateway_connection_status{connection="Physical Link",gateway="fritz.box",interface="DSL"} 1
gateway_connection_status{connection="Physical Link",gateway="fritz.box",interface="WAN"} 1
# HELP gateway_connection_uptime_seconds Connection uptime
# TYPE gateway_connection_uptime_seconds gauge
gateway_connection_uptime_seconds{connection="IP",gateway="fritz.box",interface="WAN"} 12603
gateway_connection_uptime_seconds{connection="PPP",gateway="fritz.box",interface="WAN"} 12603
# HELP gateway_data_ecostat_cputemp cpu temperature from data.lua?page=ecoStat
# TYPE gateway_data_ecostat_cputemp gauge
gateway_data_ecostat_cputemp{gateway="fritz.box"} 55
# HELP gateway_data_ecostat_cpuutil percentage of cpu utilization from data.lua?page=ecoStat
# TYPE gateway_data_ecostat_cpuutil gauge
gateway_data_ecostat_cpuutil{gateway="fritz.box"} 64
# HELP gateway_data_ecostat_ramusage percentage of RAM utilization from data.lua?page=energy
# TYPE gateway_data_ecostat_ramusage gauge
gateway_data_ecostat_ramusage{gateway="fritz.box",ram_type="Dynamic"} 49.1
gateway_data_ecostat_ramusage{gateway="fritz.box",ram_type="Fixed"} 32.4
gateway_data_ecostat_ramusage{gateway="fritz.box",ram_type="Free"} 18.5
# HELP gateway_data_energy_consumption percentage of energy consumed from data.lua?page=energy
# TYPE gateway_data_energy_consumption gauge
gateway_data_energy_consumption{gateway="fritz.box",name="CPU"} 81
gateway_data_energy_consumption{gateway="fritz.box",name="DSL"} 100
gateway_data_energy_consumption{gateway="fritz.box",name="Phone"} 0
gateway_data_energy_consumption{gateway="fritz.box",name="System"} 54
gateway_data_energy_consumption{gateway="fritz.box",name="USB"} 0
gateway_data_energy_consumption{gateway="fritz.box",name="WLAN"} 100
# HELP gateway_data_energy_lan_status status of LAN connection from data.lua?page=energy (1 = up)
# TYPE gateway_data_energy_lan_status gauge
gateway_data_energy_lan_status{gateway="fritz.box",name="LAN 1"} 1
gateway_data_energy_lan_status{gateway="fritz.box",name="LAN 2"} 1
gateway_data_energy_lan_status{gateway="fritz.box",name="LAN 3"} 0
gateway_data_energy_lan_status{gateway="fritz.box",name="LAN 4"} 0
# HELP gateway_data_usb_storage_total total storage in bytes from data.lua?page=usbOv
# TYPE gateway_data_usb_storage_total gauge
gateway_data_usb_storage_total{devicename="Internal eStorage",devicetype="INTERNAL_STORAGE",gateway="fritz.box"} 4.25721856e+08
# HELP gateway_data_usb_storage_used used storage in bytes from data.lua?page=usbOv
# TYPE gateway_data_usb_storage_used gauge
gateway_data_usb_storage_used{devicename="Internal eStorage",devicetype="INTERNAL_STORAGE",gateway="fritz.box"} 3.018752e+06
# HELP gateway_dect_active is dect device currently active
# TYPE gateway_dect_active gauge
gateway_dect_active{gateway="fritz.box",id="1",model="FRITZ!Fon C5",name=" "} 0
# HELP gateway_device_modelname gateway device model name
# TYPE gateway_device_modelname gauge
gateway_device_modelname{description="FRITZ!Box 7490 113.07.29",gateway="fritz.box",hardwareversion="FRITZ!Box 7490",modelname="FRITZ!Box 7490",productclass="FRITZ!Box",softwareversion="113.07.29"} 0
# HELP gateway_host_active is host currently active
# TYPE gateway_host_active gauge
gateway_host_active{gateway="fritz.box",hostname="amazon-dfb7475e1",interfacetype="802.11",ipaddress="192.168.178.49",macaddress="90:23:5b:3d:c2:8b"} 1
gateway_host_active{gateway="fritz.box",hostname="android-8f3324f3210d9174",interfacetype="",ipaddress="192.168.178.48",macaddress="e4:04:39:d9:35:a8"} 0
gateway_host_active{gateway="fritz.box",hostname="annabells-air",interfacetype="",ipaddress="192.168.178.28",macaddress="9c:f3:87:ac:5e:30"} 0
gateway_host_active{gateway="fritz.box",hostname="arlo-babycam",interfacetype="802.11",ipaddress="192.168.178.44",macaddress="08:02:8e:2c:25:e4"} 1
gateway_host_active{gateway="fritz.box",hostname="bellas-iphone",interfacetype="",ipaddress="192.168.178.23",macaddress="be:e3:02:e0:03:e4"} 0
gateway_host_active{gateway="fritz.box",hostname="bellas-iphone",interfacetype="",ipaddress="192.168.178.42",macaddress="dc:9b:9c:c1:3e:13"} 0
gateway_host_active{gateway="fritz.box",hostname="buro-eg",interfacetype="802.11",ipaddress="192.168.178.29",macaddress="58:d3:49:00:cc:d7"} 1
gateway_host_active{gateway="fritz.box",hostname="camera-hub-g3-cfb0",interfacetype="802.11",ipaddress="192.168.178.93",macaddress="54:ef:44:38:cf:b0"} 1
gateway_host_active{gateway="fritz.box",hostname="docker-pi-2",interfacetype="802.11",ipaddress="192.168.178.32",macaddress="e4:5f:01:85:96:e5"} 1
gateway_host_active{gateway="fritz.box",hostname="epson53423a",interfacetype="",ipaddress="192.168.178.35",macaddress="e0:bb:9e:53:42:3a"} 0
gateway_host_active{gateway="fritz.box",hostname="esp-70c003",interfacetype="802.11",ipaddress="192.168.178.51",macaddress="84:0d:8e:70:c0:03"} 1
gateway_host_active{gateway="fritz.box",hostname="esplesekopf-251aa4-6820",interfacetype="802.11",ipaddress="192.168.178.76",macaddress="8c:ce:4e:25:1a:a4"} 1
gateway_host_active{gateway="fritz.box",hostname="espresense-buero-eg",interfacetype="",ipaddress="192.168.178.43",macaddress="08:b6:1f:38:1a:b8"} 0
gateway_host_active{gateway="fritz.box",hostname="fb-buero",interfacetype="802.11",ipaddress="192.168.178.54",macaddress="c2:39:6f:9d:75:fe"} 1
gateway_host_active{gateway="fritz.box",hostname="fb-flur",interfacetype="802.11",ipaddress="192.168.178.46",macaddress="dc:39:6f:82:ce:0d"} 1
gateway_host_active{gateway="fritz.box",hostname="fb-kinderzimmer",interfacetype="802.11",ipaddress="192.168.178.61",macaddress="42:49:79:e9:71:f0"} 1
gateway_host_active{gateway="fritz.box",hostname="fb-kueche",interfacetype="802.11",ipaddress="192.168.178.65",macaddress="12:72:74:a0:8d:9a"} 1
gateway_host_active{gateway="fritz.box",hostname="filebrowser",interfacetype="",ipaddress="192.168.178.4",macaddress="02:42:c0:a8:b2:04"} 0
gateway_host_active{gateway="fritz.box",hostname="fritz.box",interfacetype="",ipaddress="192.168.178.1",macaddress="38:10:d5:a4:1b:08"} 1
gateway_host_active{gateway="fritz.box",hostname="garagentor",interfacetype="802.11",ipaddress="192.168.178.80",macaddress="c4:5b:be:5f:d8:b0"} 1
gateway_host_active{gateway="fritz.box",hostname="homeassistant",interfacetype="Ethernet",ipaddress="192.168.178.53",macaddress="52:54:00:57:8d:47"} 1
gateway_host_active{gateway="fritz.box",hostname="hs100",interfacetype="802.11",ipaddress="192.168.178.58",macaddress="d8:47:32:a3:e1:2e"} 1
gateway_host_active{gateway="fritz.box",hostname="ipad-von-klaus-2",interfacetype="",ipaddress="192.168.178.47",macaddress="ee:84:f1:2f:eb:98"} 0
gateway_host_active{gateway="fritz.box",hostname="ipad-von-stefan",interfacetype="802.11",ipaddress="192.168.178.59",macaddress="ae:3e:63:d7:75:26"} 1
gateway_host_active{gateway="fritz.box",hostname="iphone-x",interfacetype="802.11",ipaddress="192.168.178.34",macaddress="02:63:38:b9:7e:7b"} 1
gateway_host_active{gateway="fritz.box",hostname="iphone11promax",interfacetype="802.11",ipaddress="192.168.178.111",macaddress="d0:3f:aa:b2:50:06"} 1
gateway_host_active{gateway="fritz.box",hostname="jarvis",interfacetype="Ethernet",ipaddress="192.168.178.30",macaddress="00:11:32:61:c8:1f"} 1
gateway_host_active{gateway="fritz.box",hostname="kp115",interfacetype="802.11",ipaddress="192.168.178.75",macaddress="b0:a7:b9:c5:28:b5"} 1
gateway_host_active{gateway="fritz.box",hostname="linux",interfacetype="802.11",ipaddress="192.168.178.57",macaddress="f0:81:73:7a:59:2c"} 1
gateway_host_active{gateway="fritz.box",hostname="macbookonstefan",interfacetype="",ipaddress="192.168.178.50",macaddress="00:23:6c:8a:2a:96"} 0
gateway_host_active{gateway="fritz.box",hostname="nb-ts-r0-939",interfacetype="",ipaddress="192.168.178.25",macaddress="a4:34:d9:cd:39:b7"} 0
gateway_host_active{gateway="fritz.box",hostname="nb-ts-r0-939",interfacetype="Ethernet",ipaddress="192.168.178.37",macaddress="84:7b:eb:0c:50:50"} 1
gateway_host_active{gateway="fritz.box",hostname="nginxproxymanager",interfacetype="Ethernet",ipaddress="192.168.178.5",macaddress="02:42:c0:a8:b2:05"} 1
gateway_host_active{gateway="fritz.box",hostname="none-5",interfacetype="802.11",ipaddress="192.168.178.78",macaddress="7c:d5:66:8c:56:2e"} 1
gateway_host_active{gateway="fritz.box",hostname="p110",interfacetype="802.11",ipaddress="192.168.178.33",macaddress="14:eb:b6:c1:45:ba"} 1
gateway_host_active{gateway="fritz.box",hostname="p110",interfacetype="802.11",ipaddress="192.168.178.36",macaddress="14:eb:b6:c1:45:51"} 1
gateway_host_active{gateway="fritz.box",hostname="p110",interfacetype="802.11",ipaddress="192.168.178.39",macaddress="34:60:f9:56:97:11"} 1
gateway_host_active{gateway="fritz.box",hostname="pc-192-168-178-20",interfacetype="802.11",ipaddress="192.168.178.20",macaddress="32:e1:39:07:90:25"} 1
gateway_host_active{gateway="fritz.box",hostname="pc-192-168-178-41",interfacetype="802.11",ipaddress="192.168.178.41",macaddress="00:25:29:24:f5:1b"} 1
gateway_host_active{gateway="fritz.box",hostname="pc-192-168-178-45",interfacetype="",ipaddress="192.168.178.45",macaddress="86:e1:bd:29:04:19"} 0
gateway_host_active{gateway="fritz.box",hostname="pc-192-168-178-64",interfacetype="802.11",ipaddress="192.168.178.64",macaddress="d4:ad:fc:25:18:03"} 1
gateway_host_active{gateway="fritz.box",hostname="pc-192-168-178-84",interfacetype="802.11",ipaddress="192.168.178.84",macaddress="84:2e:14:ee:34:b6"} 1
gateway_host_active{gateway="fritz.box",hostname="pi-hole",interfacetype="Ethernet",ipaddress="192.168.178.3",macaddress="02:42:c0:a8:b2:03"} 1
gateway_host_active{gateway="fritz.box",hostname="rk3308-robot32",interfacetype="802.11",ipaddress="192.168.178.79",macaddress="f0:c8:14:37:62:0a"} 1
gateway_host_active{gateway="fritz.box",hostname="samsung-the-frame",interfacetype="802.11",ipaddress="192.168.178.22",macaddress="7c:0a:3f:72:be:70"} 1
gateway_host_active{gateway="fritz.box",hostname="shelly1-e8db84acb65d",interfacetype="802.11",ipaddress="192.168.178.69",macaddress="e8:db:84:ac:b6:5d"} 1
gateway_host_active{gateway="fritz.box",hostname="shellyht-762587",interfacetype="",ipaddress="192.168.178.21",macaddress="c4:5b:be:76:25:87"} 0
gateway_host_active{gateway="fritz.box",hostname="smuehlendick",interfacetype="",ipaddress="192.168.178.204",macaddress=""} 0
gateway_host_active{gateway="fritz.box",hostname="toniebox",interfacetype="802.11",ipaddress="192.168.178.27",macaddress="68:47:49:28:0a:5b"} 0
gateway_host_active{gateway="fritz.box",hostname="tower",interfacetype="Ethernet",ipaddress="192.168.178.2",macaddress="00:d8:61:a6:dd:3f"} 1
gateway_host_active{gateway="fritz.box",hostname="tower",interfacetype="Ethernet",ipaddress="192.168.178.2",macaddress="22:b8:ea:ac:32:e6"} 1
gateway_host_active{gateway="fritz.box",hostname="tower",interfacetype="Ethernet",ipaddress="192.168.178.2",macaddress="6a:4d:40:e4:4c:f6"} 0
gateway_host_active{gateway="fritz.box",hostname="unraid",interfacetype="",ipaddress="192.168.178.2",macaddress="1c:83:41:29:25:69"} 0
gateway_host_active{gateway="fritz.box",hostname="valhalla",interfacetype="Ethernet",ipaddress="192.168.178.31",macaddress="a8:a1:59:1a:1d:3b"} 0
gateway_host_active{gateway="fritz.box",hostname="vmb3010",interfacetype="Ethernet",ipaddress="192.168.178.68",macaddress="9c:3d:cf:3d:bf:27"} 1
gateway_host_active{gateway="fritz.box",hostname="watermeter",interfacetype="",ipaddress="192.168.178.24",macaddress="30:c6:f7:22:1d:b4"} 0
gateway_host_active{gateway="fritz.box",hostname="watermeter-reed",interfacetype="",ipaddress="192.168.178.26",macaddress="08:b6:1f:35:05:f0"} 0
gateway_host_active{gateway="fritz.box",hostname="wonderwall-smart-bueroeg",interfacetype="802.11",ipaddress="192.168.178.88",macaddress="d8:1f:12:fb:dc:4d"} 1
# HELP gateway_max_bitrate max bitrate on gateway interface
# TYPE gateway_max_bitrate gauge
gateway_max_bitrate{direction="Down",gateway="fritz.box",interface="DSL"} 1.43949e+08
gateway_max_bitrate{direction="Down",gateway="fritz.box",interface="WAN"} 1.1411e+08
gateway_max_bitrate{direction="Up",gateway="fritz.box",interface="DSL"} 4.4796e+07
gateway_max_bitrate{direction="Up",gateway="fritz.box",interface="WAN"} 4.1486e+07
# HELP gateway_traffic traffic on gateway interface
# TYPE gateway_traffic counter
gateway_traffic{direction="Received",gateway="fritz.box",interface="DSL",unit="Packets"} 117803
gateway_traffic{direction="Received",gateway="fritz.box",interface="LAN",unit="Bytes"} 2.542578392e+09
gateway_traffic{direction="Received",gateway="fritz.box",interface="WAN",unit="Bytes"} 2.540815994e+09
gateway_traffic{direction="Received",gateway="fritz.box",interface="WAN",unit="Packets"} 117803
gateway_traffic{direction="Sent",gateway="fritz.box",interface="DSL",unit="Packets"} 328163
gateway_traffic{direction="Sent",gateway="fritz.box",interface="LAN",unit="Bytes"} 2.932797116e+09
gateway_traffic{direction="Sent",gateway="fritz.box",interface="WAN",unit="Bytes"} 7.13684903e+08
gateway_traffic{direction="Sent",gateway="fritz.box",interface="WAN",unit="Packets"} 328074
# HELP gateway_traffic_rate traffic rate on gateway interface
# TYPE gateway_traffic_rate gauge
gateway_traffic_rate{direction="Received",gateway="fritz.box",interface="WAN",unit="Bytes"} 3440
gateway_traffic_rate{direction="Sent",gateway="fritz.box",interface="WAN",unit="Bytes"} 2585
# HELP gateway_uptime_seconds gateway uptime
# TYPE gateway_uptime_seconds gauge
gateway_uptime_seconds{description="FRITZ!Box 7490 113.07.29",gateway="fritz.box"} 445992
# HELP gateway_wan_connection_status WAN Connection status (Connected = 1)
# TYPE gateway_wan_connection_status gauge
gateway_wan_connection_status{connection="PPP",connectiontype="IP_Routed",externalipaddress="79.233.135.93",gateway="fritz.box",interface="WAN",macaddress="38:10:d5:a4:1b:0c"} 1
# HELP gateway_wlan_current_connections current WLAN connections
# TYPE gateway_wlan_current_connections gauge
gateway_wlan_current_connections{gateway="fritz.box",wlan="2.4 GHz"} 9
gateway_wlan_current_connections{gateway="fritz.box",wlan="5 Ghz"} 2
# HELP gateway_wlan_status WLAN status (Enabled = 1)
# TYPE gateway_wlan_status gauge
gateway_wlan_status{gateway="fritz.box",wlan="2.4 Ghz"} 1
gateway_wlan_status{gateway="fritz.box",wlan="5 Ghz"} 1
# HELP go_gc_duration_seconds A summary of the pause duration of garbage collection cycles.
# TYPE go_gc_duration_seconds summary
go_gc_duration_seconds{quantile="0"} 3.125e-05
go_gc_duration_seconds{quantile="0.25"} 4.238e-05
go_gc_duration_seconds{quantile="0.5"} 4.784e-05
go_gc_duration_seconds{quantile="0.75"} 7.6931e-05
go_gc_duration_seconds{quantile="1"} 0.00017346
go_gc_duration_seconds_sum 0.453172652
go_gc_duration_seconds_count 7607
# HELP go_goroutines Number of goroutines that currently exist.
# TYPE go_goroutines gauge
go_goroutines 12
# HELP go_info Information about the Go environment.
# TYPE go_info gauge
go_info{version="go1.16.3"} 1
# HELP go_memstats_alloc_bytes Number of bytes allocated and still in use.
# TYPE go_memstats_alloc_bytes gauge
go_memstats_alloc_bytes 8.083848e+06
# HELP go_memstats_alloc_bytes_total Total number of bytes allocated, even if freed.
# TYPE go_memstats_alloc_bytes_total counter
go_memstats_alloc_bytes_total 2.901196468e+10
# HELP go_memstats_buck_hash_sys_bytes Number of bytes used by the profiling bucket hash table.
# TYPE go_memstats_buck_hash_sys_bytes gauge
go_memstats_buck_hash_sys_bytes 1.677464e+06
# HELP go_memstats_frees_total Total number of frees.
# TYPE go_memstats_frees_total counter
go_memstats_frees_total 2.32893148e+08
# HELP go_memstats_gc_cpu_fraction The fraction of this program's available CPU time used by the GC since the program started.
# TYPE go_memstats_gc_cpu_fraction gauge
go_memstats_gc_cpu_fraction 4.176786513288098e-06
# HELP go_memstats_gc_sys_bytes Number of bytes used for garbage collection system metadata.
# TYPE go_memstats_gc_sys_bytes gauge
go_memstats_gc_sys_bytes 5.749184e+06
# HELP go_memstats_heap_alloc_bytes Number of heap bytes allocated and still in use.
# TYPE go_memstats_heap_alloc_bytes gauge
go_memstats_heap_alloc_bytes 8.083848e+06
# HELP go_memstats_heap_idle_bytes Number of heap bytes waiting to be used.
# TYPE go_memstats_heap_idle_bytes gauge
go_memstats_heap_idle_bytes 5.431296e+07
# HELP go_memstats_heap_inuse_bytes Number of heap bytes that are in use.
# TYPE go_memstats_heap_inuse_bytes gauge
go_memstats_heap_inuse_bytes 1.1583488e+07
# HELP go_memstats_heap_objects Number of allocated objects.
# TYPE go_memstats_heap_objects gauge
go_memstats_heap_objects 44014
# HELP go_memstats_heap_released_bytes Number of heap bytes released to OS.
# TYPE go_memstats_heap_released_bytes gauge
go_memstats_heap_released_bytes 5.3026816e+07
# HELP go_memstats_heap_sys_bytes Number of heap bytes obtained from system.
# TYPE go_memstats_heap_sys_bytes gauge
go_memstats_heap_sys_bytes 6.5896448e+07
# HELP go_memstats_last_gc_time_seconds Number of seconds since 1970 of last garbage collection.
# TYPE go_memstats_last_gc_time_seconds gauge
go_memstats_last_gc_time_seconds 1.6806195308395948e+09
# HELP go_memstats_lookups_total Total number of pointer lookups.
# TYPE go_memstats_lookups_total counter
go_memstats_lookups_total 0
# HELP go_memstats_mallocs_total Total number of mallocs.
# TYPE go_memstats_mallocs_total counter
go_memstats_mallocs_total 2.32937162e+08
# HELP go_memstats_mcache_inuse_bytes Number of bytes in use by mcache structures.
# TYPE go_memstats_mcache_inuse_bytes gauge
go_memstats_mcache_inuse_bytes 19200
# HELP go_memstats_mcache_sys_bytes Number of bytes used for mcache structures obtained from system.
# TYPE go_memstats_mcache_sys_bytes gauge
go_memstats_mcache_sys_bytes 32768
# HELP go_memstats_mspan_inuse_bytes Number of bytes in use by mspan structures.
# TYPE go_memstats_mspan_inuse_bytes gauge
go_memstats_mspan_inuse_bytes 309808
# HELP go_memstats_mspan_sys_bytes Number of bytes used for mspan structures obtained from system.
# TYPE go_memstats_mspan_sys_bytes gauge
go_memstats_mspan_sys_bytes 704512
# HELP go_memstats_next_gc_bytes Number of heap bytes when next garbage collection will take place.
# TYPE go_memstats_next_gc_bytes gauge
go_memstats_next_gc_bytes 9.043472e+06
# HELP go_memstats_other_sys_bytes Number of bytes used for other system allocations.
# TYPE go_memstats_other_sys_bytes gauge
go_memstats_other_sys_bytes 3.649968e+06
# HELP go_memstats_stack_inuse_bytes Number of bytes in use by the stack allocator.
# TYPE go_memstats_stack_inuse_bytes gauge
go_memstats_stack_inuse_bytes 1.212416e+06
# HELP go_memstats_stack_sys_bytes Number of bytes obtained from system for stack allocator.
# TYPE go_memstats_stack_sys_bytes gauge
go_memstats_stack_sys_bytes 1.212416e+06
# HELP go_memstats_sys_bytes Number of bytes obtained from system.
# TYPE go_memstats_sys_bytes gauge
go_memstats_sys_bytes 7.892276e+07
# HELP go_threads Number of OS threads created.
# TYPE go_threads gauge
go_threads 21
# HELP process_cpu_seconds_total Total user and system CPU time spent in seconds.
# TYPE process_cpu_seconds_total counter
process_cpu_seconds_total 377.1
# HELP process_max_fds Maximum number of open file descriptors.
# TYPE process_max_fds gauge
process_max_fds 40960
# HELP process_open_fds Number of open file descriptors.
# TYPE process_open_fds gauge
process_open_fds 12
# HELP process_resident_memory_bytes Resident memory size in bytes.
# TYPE process_resident_memory_bytes gauge
process_resident_memory_bytes 4.0562688e+07
# HELP process_start_time_seconds Start time of the process since unix epoch in seconds.
# TYPE process_start_time_seconds gauge
process_start_time_seconds 1.68016248053e+09
# HELP process_virtual_memory_bytes Virtual memory size in bytes.
# TYPE process_virtual_memory_bytes gauge
process_virtual_memory_bytes 2.052722688e+09
# HELP process_virtual_memory_max_bytes Maximum amount of virtual memory available in bytes.
# TYPE process_virtual_memory_max_bytes gauge
process_virtual_memory_max_bytes 1.8446744073709552e+19
# HELP promhttp_metric_handler_requests_in_flight Current number of scrapes being served.
# TYPE promhttp_metric_handler_requests_in_flight gauge
promhttp_metric_handler_requests_in_flight 1
# HELP promhttp_metric_handler_requests_total Total number of scrapes by HTTP status code.
# TYPE promhttp_metric_handler_requests_total counter
promhttp_metric_handler_requests_total{code="200"} 30429
promhttp_metric_handler_requests_total{code="500"} 0
promhttp_metric_handler_requests_total{code="503"} 0
When running on a Fritz!Box 7530 I get a lot of 401s.
% ./fritzbox_exporter -gateway-luaurl="http://192.168.178.1/" -gateway-url="http://192.168.178.1:49000/" -username=metrics -password=(password) -collect
INFO[0005] services loaded
INFO[0005] collecting metrics via http
WARN[0005] can not collect metrics: GetTotalPacketsReceived: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] can not collect metrics: GetTotalPacketsSent: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] can not collect metrics: GetAddonInfos: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] can not collect metrics: GetAddonInfos: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] can not collect metrics: GetAddonInfos: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] can not collect metrics: GetAddonInfos: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] can not collect metrics: GetCommonLinkProperties: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] can not collect metrics: GetCommonLinkProperties: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] can not collect metrics: GetCommonLinkProperties: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] can not collect metrics: GetTotalPacketsReceived: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] can not collect metrics: GetTotalPacketsSent: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] can not collect metrics: GetCommonLinkProperties: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] can not collect metrics: GetCommonLinkProperties: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] can not collect metrics: GetCommonLinkProperties: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] can not collect metrics: GetStatusInfo: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] can not collect metrics: GetStatusInfo: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] can not collect metrics: GetInfo: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] can not collect metrics: GetInfo: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] can not collect metrics: GetInfo: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] can not collect metrics: GetInfo: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] can not collect metrics: GetTotalAssociations: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] can not collect metrics: GetTotalAssociations: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] can not collect metrics: GetInfo: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] can not collect metrics: GetInfo: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] can not collect metrics: GetInfo: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] can not collect metrics: GetInfo: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] can not collect metrics: GetStatistics: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] can not collect metrics: GetStatistics: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] Error getting provider action GetHostNumberOfEntries result for urn:dslforum-org:service:Hosts:1.GetGenericHostEntry: GetHostNumberOfEntries: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] Error getting provider action GetNumberOfDectEntries result for urn:dslforum-org:service:X_AVM-DE_Dect:1.GetGenericDectEntry: GetNumberOfDectEntries: SAOPFault: UPnPError 401 (Invalid Action)
INFO[0009] Response:
# HELP fritzbox_exporter_collectErrors Number of collection errors.
# TYPE fritzbox_exporter_collectErrors counter
fritzbox_exporter_collectErrors 0
# HELP fritzbox_exporter_luaCollectErrors Number of lua collection errors.
# TYPE fritzbox_exporter_luaCollectErrors counter
fritzbox_exporter_luaCollectErrors 0
# HELP gateway_data_ecostat_cputemp cpu temperature from data.lua?page=ecoStat
# TYPE gateway_data_ecostat_cputemp gauge
gateway_data_ecostat_cputemp{gateway="192.168.178.1"} 63
# HELP gateway_data_ecostat_cpuutil percentage of cpu utilization from data.lua?page=ecoStat
# TYPE gateway_data_ecostat_cpuutil gauge
gateway_data_ecostat_cpuutil{gateway="192.168.178.1"} 4
# HELP gateway_data_ecostat_ramusage percentage of RAM utilization from data.lua?page=energy
# TYPE gateway_data_ecostat_ramusage gauge
gateway_data_ecostat_ramusage{gateway="192.168.178.1",ram_type="Dynamic"} 55.9
gateway_data_ecostat_ramusage{gateway="192.168.178.1",ram_type="Fixed"} 27
gateway_data_ecostat_ramusage{gateway="192.168.178.1",ram_type="Free"} 17.1
# HELP gateway_data_energy_consumption percentage of energy consumed from data.lua?page=energy
# TYPE gateway_data_energy_consumption gauge
gateway_data_energy_consumption{gateway="192.168.178.1",name="CPU"} 67
gateway_data_energy_consumption{gateway="192.168.178.1",name="DSL"} 0
gateway_data_energy_consumption{gateway="192.168.178.1",name="Phone"} 0
gateway_data_energy_consumption{gateway="192.168.178.1",name="System"} 35
gateway_data_energy_consumption{gateway="192.168.178.1",name="USB"} 0
gateway_data_energy_consumption{gateway="192.168.178.1",name="Wi-Fi"} 88
# HELP gateway_data_energy_lan_status status of LAN connection from data.lua?page=energy (1 = up)
# TYPE gateway_data_energy_lan_status gauge
gateway_data_energy_lan_status{gateway="192.168.178.1",name="LAN 1"} 1
gateway_data_energy_lan_status{gateway="192.168.178.1",name="LAN 2"} 0
gateway_data_energy_lan_status{gateway="192.168.178.1",name="LAN 3"} 0
gateway_data_energy_lan_status{gateway="192.168.178.1",name="LAN 4"} 0
# HELP gateway_data_usb_storage_total total storage in bytes from data.lua?page=usbOv
# TYPE gateway_data_usb_storage_total gauge
gateway_data_usb_storage_total{devicename="Memoria del FRITZ!Box 7530",devicetype="INTERNAL_STORAGE",gateway="192.168.178.1"} 1.0215424e+07
# HELP gateway_data_usb_storage_used used storage in bytes from data.lua?page=usbOv
# TYPE gateway_data_usb_storage_used gauge
gateway_data_usb_storage_used{devicename="Memoria del FRITZ!Box 7530",devicetype="INTERNAL_STORAGE",gateway="192.168.178.1"} 610304
# HELP go_gc_duration_seconds A summary of the pause duration of garbage collection cycles.
# TYPE go_gc_duration_seconds summary
go_gc_duration_seconds{quantile="0"} 5.795e-05
(go metrics redacted)
And running test:
% ./fritzbox_exporter -gateway-luaurl="http://192.168.178.1/" -gateway-url="http://192.168.178.1:49000/" -username=metrics -password=(password) -test
INFO[0004] Service: urn:dslforum-org:service:DeviceConfig:1 (Url: /upnp/control/deviceconfig)
WARN[0004] FAILED:ConfigurationFinished: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0004] FAILED:GetPersistentData: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0004] FAILED:X_AVM-DE_CreateUrlSID: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0004] FAILED:X_AVM-DE_GetSupportDataEnable: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0004] FAILED:X_AVM-DE_GetSupportDataInfo: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0004] FAILED:X_GenerateUUID: SAOPFault: UPnPError 401 (Invalid Action)
INFO[0004] Service: urn:dslforum-org:service:DeviceInfo:1 (Url: /upnp/control/deviceinfo)
WARN[0004] FAILED:GetDeviceLog: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0004] FAILED:GetInfo: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0004] FAILED:GetSecurityPort: SAOPFault: UPnPError 401 (Invalid Action)
INFO[0004] Service: urn:dslforum-org:service:Hosts:1 (Url: /upnp/control/hosts)
WARN[0004] FAILED:GetHostNumberOfEntries: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0004] FAILED:X_AVM-DE_GetChangeCounter: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0004] FAILED:X_AVM-DE_GetFriendlyName: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0004] FAILED:X_AVM-DE_GetHostListPath: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0004] FAILED:X_AVM-DE_GetInfo: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0004] FAILED:X_AVM-DE_GetMeshListPath: SAOPFault: UPnPError 401 (Invalid Action)
INFO[0004] Service: urn:dslforum-org:service:LANConfigSecurity:1 (Url: /upnp/control/lanconfigsecurity)
WARN[0004] FAILED:GetInfo: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0004] FAILED:X_AVM-DE_GetAnonymousLogin: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0004] FAILED:X_AVM-DE_GetCurrentUser: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0004] FAILED:X_AVM-DE_GetUserList: SAOPFault: UPnPError 401 (Invalid Action)
INFO[0004] Service: urn:dslforum-org:service:LANEthernetInterfaceConfig:1 (Url: /upnp/control/lanethernetifcfg)
WARN[0004] FAILED:GetInfo: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0004] FAILED:GetStatistics: SAOPFault: UPnPError 401 (Invalid Action)
INFO[0004] Service: urn:dslforum-org:service:LANHostConfigManagement:1 (Url: /upnp/control/lanhostconfigmgm)
WARN[0004] FAILED:GetAddressRange: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0004] FAILED:GetDNSServers: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0004] FAILED:GetIPInterfaceNumberOfEntries: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0004] FAILED:GetIPRoutersList: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetInfo: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetSubnetMask: SAOPFault: UPnPError 401 (Invalid Action)
INFO[0005] Service: urn:dslforum-org:service:Layer3Forwarding:1 (Url: /upnp/control/layer3forwarding)
WARN[0005] FAILED:GetDefaultConnectionService: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetForwardNumberOfEntries: SAOPFault: UPnPError 401 (Invalid Action)
INFO[0005] Service: urn:dslforum-org:service:ManagementServer:1 (Url: /upnp/control/mgmsrv)
WARN[0005] FAILED:GetInfo: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:X_AVM-DE_GetTR069FirmwareDownloadEnabled: SAOPFault: UPnPError 401 (Invalid Action)
INFO[0005] Service: urn:dslforum-org:service:Time:1 (Url: /upnp/control/time)
WARN[0005] FAILED:GetInfo: SAOPFault: UPnPError 401 (Invalid Action)
INFO[0005] Service: urn:dslforum-org:service:UserInterface:1 (Url: /upnp/control/userif)
WARN[0005] FAILED:GetInfo: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:X_AVM-DE_DoPrepareCGI: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:X_AVM-DE_DoUpdate: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:X_AVM-DE_GetInfo: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:X_AVM-DE_GetInternationalConfig: SAOPFault: UPnPError 401 (Invalid Action)
INFO[0005] Service: urn:dslforum-org:service:WANCommonInterfaceConfig:1 (Url: /upnp/control/wancommonifconfig1)
WARN[0005] FAILED:GetCommonLinkProperties: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetTotalBytesReceived: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetTotalBytesSent: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetTotalPacketsReceived: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetTotalPacketsSent: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:X_AVM-DE_GetActiveProvider: SAOPFault: UPnPError 401 (Invalid Action)
INFO[0005] Service: urn:dslforum-org:service:WANDSLInterfaceConfig:1 (Url: /upnp/control/wandslifconfig1)
WARN[0005] FAILED:GetInfo: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetStatisticsTotal: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:X_AVM-DE_GetDSLDiagnoseInfo: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:X_AVM-DE_GetDSLInfo: SAOPFault: UPnPError 401 (Invalid Action)
INFO[0005] Service: urn:dslforum-org:service:WANDSLLinkConfig:1 (Url: /upnp/control/wandsllinkconfig1)
WARN[0005] FAILED:GetATMEncapsulation: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetAutoConfig: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetDSLLinkInfo: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetDestinationAddress: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetInfo: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetStatistics: SAOPFault: UPnPError 401 (Invalid Action)
INFO[0005] Service: urn:dslforum-org:service:WANEthernetLinkConfig:1 (Url: /upnp/control/wanethlinkconfig1)
WARN[0005] FAILED:GetEthernetLinkStatus: SAOPFault: UPnPError 401 (Invalid Action)
INFO[0005] Service: urn:dslforum-org:service:WANIPConnection:1 (Url: /upnp/control/wanipconnection1)
WARN[0005] FAILED:GetConnectionTypeInfo: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetExternalIPAddress: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetInfo: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetNATRSIPStatus: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetPortMappingNumberOfEntries: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetStatusInfo: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:X_GetDNSServers: SAOPFault: UPnPError 401 (Invalid Action)
INFO[0005] Service: urn:dslforum-org:service:WANPPPConnection:1 (Url: /upnp/control/wanpppconn1)
WARN[0005] FAILED:GetConnectionTypeInfo: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetExternalIPAddress: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetInfo: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetLinkLayerMaxBitRates: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetNATRSIPStatus: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetPortMappingNumberOfEntries: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetStatusInfo: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetUserName: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:X_AVM-DE_GetAutoDisconnectTimeSpan: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:X_GetDNSServers: SAOPFault: UPnPError 401 (Invalid Action)
INFO[0005] Service: urn:dslforum-org:service:WLANConfiguration:1 (Url: /upnp/control/wlanconfig1)
WARN[0005] FAILED:GetBSSID: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetBasBeaconSecurityProperties: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetBeaconAdvertisement: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetBeaconType: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetChannelInfo: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetDefaultWEPKeyIndex: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetInfo: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetPacketStatistics: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetSSID: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetSecurityKeys: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetStatistics: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetTotalAssociations: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:X_AVM-DE_GetIPTVOptimized: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:X_AVM-DE_GetNightControl: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:X_AVM-DE_GetWLANConnectionInfo: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:X_AVM-DE_GetWLANDeviceListPath: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:X_AVM-DE_GetWLANExtInfo: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:X_AVM-DE_GetWLANHybridMode: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:X_AVM-DE_GetWPSInfo: SAOPFault: UPnPError 401 (Invalid Action)
INFO[0005] Service: urn:dslforum-org:service:WLANConfiguration:2 (Url: /upnp/control/wlanconfig2)
WARN[0005] FAILED:GetBSSID: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetBasBeaconSecurityProperties: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetBeaconAdvertisement: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetBeaconType: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetChannelInfo: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetDefaultWEPKeyIndex: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetInfo: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetPacketStatistics: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetSSID: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetSecurityKeys: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetStatistics: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetTotalAssociations: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:X_AVM-DE_GetIPTVOptimized: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:X_AVM-DE_GetNightControl: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:X_AVM-DE_GetWLANConnectionInfo: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:X_AVM-DE_GetWLANDeviceListPath: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:X_AVM-DE_GetWLANExtInfo: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:X_AVM-DE_GetWLANHybridMode: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:X_AVM-DE_GetWPSInfo: SAOPFault: UPnPError 401 (Invalid Action)
INFO[0005] Service: urn:dslforum-org:service:WLANConfiguration:3 (Url: /upnp/control/wlanconfig3)
WARN[0005] FAILED:GetBSSID: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetBasBeaconSecurityProperties: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetBeaconAdvertisement: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetBeaconType: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetChannelInfo: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetDefaultWEPKeyIndex: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetInfo: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetPacketStatistics: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetSSID: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetSecurityKeys: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetStatistics: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetTotalAssociations: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:X_AVM-DE_GetIPTVOptimized: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:X_AVM-DE_GetNightControl: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:X_AVM-DE_GetWLANConnectionInfo: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:X_AVM-DE_GetWLANDeviceListPath: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:X_AVM-DE_GetWLANExtInfo: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:X_AVM-DE_GetWLANHybridMode: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:X_AVM-DE_GetWPSInfo: SAOPFault: UPnPError 401 (Invalid Action)
INFO[0005] Service: urn:dslforum-org:service:X_AVM-DE_AppSetup:1 (Url: /upnp/control/x_appsetup)
WARN[0005] FAILED:GetAppRemoteInfo: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetConfig: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetInfo: SAOPFault: UPnPError 401 (Invalid Action)
INFO[0005] Service: urn:dslforum-org:service:X_AVM-DE_Auth:1 (Url: /upnp/control/x_auth)
WARN[0005] FAILED:GetInfo: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetState: SAOPFault: UPnPError 401 (Invalid Action)
INFO[0005] Service: urn:dslforum-org:service:X_AVM-DE_Dect:1 (Url: /upnp/control/x_dect)
WARN[0005] FAILED:GetDectListPath: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetNumberOfDectEntries: SAOPFault: UPnPError 401 (Invalid Action)
INFO[0005] Service: urn:dslforum-org:service:X_AVM-DE_Filelinks:1 (Url: /upnp/control/x_filelinks)
WARN[0005] FAILED:GetFilelinkListPath: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0005] FAILED:GetNumberOfFilelinkEntries: SAOPFault: UPnPError 401 (Invalid Action)
INFO[0005] Service: urn:dslforum-org:service:X_AVM-DE_Homeauto:1 (Url: /upnp/control/x_homeauto)
WARN[0006] FAILED:GetInfo: SAOPFault: UPnPError 401 (Invalid Action)
INFO[0006] Service: urn:dslforum-org:service:X_AVM-DE_Homeplug:1 (Url: /upnp/control/x_homeplug)
WARN[0006] FAILED:GetNumberOfDeviceEntries: SAOPFault: UPnPError 401 (Invalid Action)
INFO[0006] Service: urn:dslforum-org:service:X_AVM-DE_HostFilter:1 (Url: /upnp/control/x_hostfilter)
WARN[0006] FAILED:MarkTicket: SAOPFault: UPnPError 401 (Invalid Action)
INFO[0006] Service: urn:dslforum-org:service:X_AVM-DE_MyFritz:1 (Url: /upnp/control/x_myfritz)
WARN[0006] FAILED:GetInfo: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0006] FAILED:GetNumberOfServices: SAOPFault: UPnPError 401 (Invalid Action)
INFO[0006] Service: urn:dslforum-org:service:X_AVM-DE_OnTel:1 (Url: /upnp/control/x_contact)
WARN[0006] FAILED:GetCallBarringList: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0006] FAILED:GetCallList: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0006] FAILED:GetDECTHandsetList: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0006] FAILED:GetDeflections: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0006] FAILED:GetInfo: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0006] FAILED:GetNumberOfDeflections: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0006] FAILED:GetNumberOfEntries: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0006] FAILED:GetPhonebookList: SAOPFault: UPnPError 401 (Invalid Action)
INFO[0006] Service: urn:dslforum-org:service:X_AVM-DE_RemoteAccess:1 (Url: /upnp/control/x_remote)
WARN[0006] FAILED:GetDDNSInfo: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0006] FAILED:GetDDNSProviders: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0006] FAILED:GetInfo: SAOPFault: UPnPError 401 (Invalid Action)
INFO[0006] Service: urn:dslforum-org:service:X_AVM-DE_Speedtest:1 (Url: /upnp/control/x_speedtest)
WARN[0006] FAILED:GetInfo: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0006] FAILED:GetStatistics: SAOPFault: UPnPError 401 (Invalid Action)
INFO[0006] Service: urn:dslforum-org:service:X_AVM-DE_Storage:1 (Url: /upnp/control/x_storage)
WARN[0006] FAILED:GetInfo: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0006] FAILED:GetUserInfo: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0006] FAILED:RequestFTPServerWAN: SAOPFault: UPnPError 401 (Invalid Action)
INFO[0006] Service: urn:dslforum-org:service:X_AVM-DE_TAM:1 (Url: /upnp/control/x_tam)
WARN[0006] FAILED:GetList: SAOPFault: UPnPError 401 (Invalid Action)
INFO[0006] Service: urn:dslforum-org:service:X_AVM-DE_UPnP:1 (Url: /upnp/control/x_upnp)
WARN[0006] FAILED:GetInfo: SAOPFault: UPnPError 401 (Invalid Action)
INFO[0006] Service: urn:dslforum-org:service:X_AVM-DE_USPController:1 (Url: /upnp/control/x_uspcontroller)
WARN[0006] FAILED:GetInfo: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0006] FAILED:GetUSPControllerNumberOfEntries: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0006] FAILED:GetUSPMyFRITZEnable: SAOPFault: UPnPError 401 (Invalid Action)
INFO[0006] Service: urn:dslforum-org:service:X_AVM-DE_WANMobileConnection:1 (Url: /upnp/control/x_wanmobileconn)
WARN[0006] FAILED:GetAccessTechnology: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0006] FAILED:GetBandCapabilities: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0006] FAILED:GetEnabledBandCapabilities: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0006] FAILED:GetInfo: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0006] FAILED:GetInfoEx: SAOPFault: UPnPError 401 (Invalid Action)
INFO[0006] Service: urn:dslforum-org:service:X_AVM-DE_WebDAVClient:1 (Url: /upnp/control/x_webdav)
WARN[0006] FAILED:GetInfo: SAOPFault: UPnPError 401 (Invalid Action)
INFO[0006] Service: urn:dslforum-org:service:X_VoIP:1 (Url: /upnp/control/x_voip)
WARN[0006] FAILED:GetExistingVoIPNumbers: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0006] FAILED:GetInfo: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0006] FAILED:GetInfoEx: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0006] FAILED:GetMaxVoIPNumbers: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0006] FAILED:GetVoIPCommonAreaCode: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0006] FAILED:GetVoIPCommonCountryCode: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0006] FAILED:X_AVM-DE_DialGetConfig: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0006] FAILED:X_AVM-DE_GetClients: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0006] FAILED:X_AVM-DE_GetNumberOfAlarmClocks: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0006] FAILED:X_AVM-DE_GetNumberOfClients: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0006] FAILED:X_AVM-DE_GetNumberOfNumbers: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0006] FAILED:X_AVM-DE_GetNumbers: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0006] FAILED:X_AVM-DE_GetVoIPAccounts: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0006] FAILED:X_AVM-DE_GetVoIPCommonAreaCode: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0006] FAILED:X_AVM-DE_GetVoIPCommonCountryCode: SAOPFault: UPnPError 401 (Invalid Action)
INFO[0006] Service: urn:schemas-any-com:service:Any:1 (Url: /igdupnp/control/any)
INFO[0006] Service: urn:schemas-upnp-org:service:WANCommonInterfaceConfig:1 (Url: /igdupnp/control/WANCommonIFC1)
WARN[0006] FAILED:GetAddonInfos: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0006] FAILED:GetCommonLinkProperties: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0006] FAILED:GetTotalBytesReceived: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0006] FAILED:GetTotalBytesSent: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0006] FAILED:GetTotalPacketsReceived: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0006] FAILED:GetTotalPacketsSent: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0006] FAILED:X_AVM_DE_GetDsliteStatus: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0006] FAILED:X_AVM_DE_GetIPTVInfos: SAOPFault: UPnPError 401 (Invalid Action)
INFO[0006] Service: urn:schemas-upnp-org:service:WANDSLLinkConfig:1 (Url: /igdupnp/control/WANDSLLinkC1)
WARN[0006] FAILED:GetATMEncapsulation: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0006] FAILED:GetAutoConfig: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0006] FAILED:GetDSLLinkInfo: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0006] FAILED:GetDestinationAddress: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0006] FAILED:GetFCSPreserved: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0006] FAILED:GetModulationType: SAOPFault: UPnPError 401 (Invalid Action)
INFO[0006] Service: urn:schemas-upnp-org:service:WANIPConnection:1 (Url: /igdupnp/control/WANIPConn1)
WARN[0006] FAILED:GetAutoDisconnectTime: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0006] FAILED:GetConnectionTypeInfo: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0006] FAILED:GetExternalIPAddress: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0006] FAILED:GetIdleDisconnectTime: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0006] FAILED:GetNATRSIPStatus: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0006] FAILED:GetStatusInfo: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0006] FAILED:X_AVM_DE_GetDNSServer: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0006] FAILED:X_AVM_DE_GetExternalIPv6Address: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0006] FAILED:X_AVM_DE_GetIPv6DNSServer: SAOPFault: UPnPError 401 (Invalid Action)
WARN[0006] FAILED:X_AVM_DE_GetIPv6Prefix: SAOPFault: UPnPError 401 (Invalid Action)
INFO[0006] Service: urn:schemas-upnp-org:service:WANIPv6FirewallControl:1 (Url: /igd2upnp/control/WANIPv6Firewall1)
WARN[0006] FAILED:GetFirewallStatus: SAOPFault: UPnPError 401 (Invalid Action)
Did I miss anything obvious, is it normal with a 7530… or how can I help add support for it?
Hi there,
im successfully using this in a docker container.
My question is:
Are there any issues with writing the password to my homerouter in clear text into my docker-compose script?
I didnt find a way to create a user on my fritzbox only for the node exporter and only with access to my data ... or did i miss something?
It feels weird to write the admin-password into some sort of script
... but maybe there is something im missing ...
It's an awesome work I would say. I tried this and everything working but if you try to get the metrics of past 2 days or later, it will eventually fail with the error "Prometheus exceeded maximum resolution of 11,000 points or empty result" for some metrics such as "Total Download" or "Total Upload".
Hi,
first of all: many thanks for this great exporter :)
Since several days I'm facing the following error during docker build after cloning the git repo:
Sending build context to Docker daemon 1.134MB
Step 1/17 : FROM golang:alpine3.15 AS builder
alpine3.15: Pulling from library/golang
dfd6a1b07255: Pulling fs layer
331b3631dc9d: Pulling fs layer
ac904122a781: Pulling fs layer
abd83326c913: Pulling fs layer
c701d215bbd6: Pulling fs layer
abd83326c913: Waiting
c701d215bbd6: Waiting
ac904122a781: Verifying Checksum
ac904122a781: Download complete
331b3631dc9d: Verifying Checksum
331b3631dc9d: Download complete
dfd6a1b07255: Verifying Checksum
dfd6a1b07255: Download complete
c701d215bbd6: Verifying Checksum
c701d215bbd6: Download complete
dfd6a1b07255: Pull complete
331b3631dc9d: Pull complete
ac904122a781: Pull complete
abd83326c913: Verifying Checksum
abd83326c913: Download complete
abd83326c913: Pull complete
c701d215bbd6: Pull complete
Digest: sha256:6fd04df1b7ba6253a09b4bd3f37cc1fb69903a60209ef959485328b1c2902327
Status: Downloaded newer image for golang:alpine3.15
---> e2757ead23b6
Step 2/17 : RUN go get github.com/sberk42/fritzbox_exporter/ && mkdir /app && mv /go/bin/fritzbox_exporter /app
---> Running in 6eac3a97cdc4
go: go.mod file not found in current directory or any parent directory.
'go get' is no longer supported outside a module.
To build and install a command, use 'go install' with a version,
like 'go install example.com/cmd@latest'
For more information, see https://golang.org/doc/go-get-install-deprecation
or run 'go help get' or 'go help install'.
The command '/bin/sh -c go get github.com/sberk42/fritzbox_exporter/ && mkdir /app && mv /go/bin/fritzbox_exporter /app' returned a non-zero code: 1
Could you please fix that ?
Have a day :)
Kind regards
Hi, great project!
I got this to work by building the container myself using the Dockerfile, but is it possible to use a different metrics-lua.json (e.g. the cable version) with docker-compose?
Hey there!
I have been running into an issue with docker on a raspberrypi and the self built image from this repo.
My (v3.7) compose file includes this service definiton:
fritzbox-prometheus-exporter:
hostname: fritzbox-prometheus-exporter
build:
context: ../fritzbox_exporter
dockerfile: Dockerfile
container_name: fritzbox-prometheus-exporter
# for dns issues like "dial tcp: lookup fritz.box on 127.0.0.11:53: no such host"
# uncomment and fill the following line:
dns: 192.168.178.1
ports:
- "9042:9042"
network_mode: "host"
#expose:
# - "9042"
restart: unless-stopped
environment:
USERNAME: removed
PASSWORD: removed
GATEWAY_URL: http://removed:49000
LISTEN_ADDRESS: 0.0.0.0:9042
The build context is a pull of this repo (master).
Fritzbox: 7590 7.29
The software is running on a RaspberryPi 3B
Docker version 20.10.17, build 100c701 (CE)
os-release:
NAME="Ubuntu"
VERSION="20.04.4 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.4 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal`
kernel:
`5.4.0-1065-raspi
After a while of running just fine, the log starts reporting these errors and some data (like CPU utilization and temps) is not reported anymore:
root@raspberrypi:~# docker logs --details fritzbox-prometheus-exporter
time="2022-07-02T19:18:25Z" level=info msg="metrics available at http://0.0.0.0:9042/metrics"
time="2022-07-02T19:18:25Z" level=info msg="readyness check available at http://0.0.0.0:9042/ready"
time="2022-07-02T19:18:25Z" level=info msg="liveness check available at http://0.0.0.0:9042/live"
time="2022-07-02T19:18:26Z" level=info msg="services loaded"
time="2022-07-03T02:32:54Z" level=error msg="Can not get metric values for data.drain.*.actPerc: hash '' has no element 'data'"
time="2022-07-03T02:32:55Z" level=error msg="Can not get metric values for data.drain.*.lan.*.class: hash '' has no element 'data'"
time="2022-07-03T02:32:55Z" level=error msg="Can not get metric values for data.cputemp.series.0.-1: hash '' has no element 'data'"
time="2022-07-03T02:32:56Z" level=error msg="Can not get metric values for data.cpuutil.series.0.-1: hash '' has no element 'data'"
time="2022-07-03T02:32:57Z" level=error msg="Can not get metric values for data.ramusage.series.0.-1: hash '' has no element 'data'"
time="2022-07-03T02:32:57Z" level=error msg="Can not get metric values for data.ramusage.series.1.-1: hash '' has no element 'data'"
time="2022-07-03T02:32:58Z" level=error msg="Can not get metric values for data.ramusage.series.2.-1: hash '' has no element 'data'"
time="2022-07-03T02:32:58Z" level=error msg="Can not get metric values for data.usbOverview.devices.*.partitions.0.totalStorageInBytes: hash '' has no element 'data'"
time="2022-07-03T02:32:59Z" level=error msg="Can not get metric values for data.usbOverview.devices.*.partitions.0.usedStorageInBytes: hash '' has no element 'data'"
time="2022-07-03T02:33:50Z" level=error msg="Can not get metric values for data.drain.*.actPerc: hash '' has no element 'data'"
Restarting the container fixes the issue. All the "lua" stats are also back in the exporter output. Any idea what could cause this?
Thank you!
Hi,
in case this is of interest to someone, this is my metrics-lua.json with some extra metrics on top of those in the generic cable box file:
I get some warnings, but they are because I only get DOCSIS 3.1 downstream (and not upstream, so the array is empty?) and my connection is over IP (no PPP, so the four PPP entries in metrics.json probably trigger the UPnP 401). These shouldn't cause trouble:
time="2024-02-24T12:48:38Z" level=error msg="Can not get metric values for data.channelUs.docsis31..powerLevel: item 'data.channelUs.docsis31.' has no values"
time="2024-02-24T12:48:39Z" level=error msg="Can not get metric values for data.channelUs.docsis31..modulation: item 'data.channelUs.docsis31.' has no values"
time="2024-02-24T12:49:36Z" level=warning msg="can not collect metrics: GetInfo: SAOPFault: UPnPError 401 (Invalid Action)"
time="2024-02-24T12:49:36Z" level=warning msg="can not collect metrics: GetInfo: SAOPFault: UPnPError 401 (Invalid Action)"
time="2024-02-24T12:49:36Z" level=warning msg="can not collect metrics: GetInfo: SAOPFault: UPnPError 401 (Invalid Action)"
time="2024-02-24T12:49:36Z" level=warning msg="can not collect metrics: GetInfo: SAOPFault: UPnPError 401 (Invalid Action)"
hello sberk42, many thanks for the great work and sharing your project. i just wanted to add some info, which might help also others.
i have 2 fritzboxes and i was able to connect to both (2 docker container running). however, the lua info (cpu, temp etc) were always the same.
I found out, that the default lua was taken and so i needed to add gateway-luaurl. Maybe you can add that, so that others can easily find it. Many thanks and have nice day!
Hello,
tried to set up the container via the Dockerfile. The Container creation terminates at step 4:
Step 4/17 : COPY metrics.json metrics-lua.json /app/ ERROR: Service 'fritzbox_exporter' failed to build: COPY failed: file not found in build context or excluded by .dockerignore: stat metrics.json: file does not exist
cmd: -username ${USERNAME} -password ${PASSWORD} -gateway-url ${GATEWAY_URL} -gateway-luaurl ${GATEWAY_LUAURL} -listen-address ${LISTEN_ADDRESS}
time="2023-12-14T20:39:17Z" level=info msg="Ip: 10.0.0.1"
time="2023-12-14T20:39:17Z" level=info msg="metrics available at http://0.0.0.0:9042/metrics"
time="2023-12-14T20:39:17Z" level=info msg="readyness check available at http://0.0.0.0:9042/ready"
time="2023-12-14T20:39:17Z" level=info msg="liveness check available at http://0.0.0.0:9042/live"
time="2023-12-14T20:39:22Z" level=info msg="services loaded"
time="2023-12-14T20:39:55Z" level=warning msg="can not collect metrics: GetInfo: SAOPFault: UPnPError 401 (Invalid Action)"
time="2023-12-14T20:39:55Z" level=warning msg="can not collect metrics: GetInfo: SAOPFault: UPnPError 401 (Invalid Action)"
time="2023-12-14T20:39:55Z" level=warning msg="can not collect metrics: GetInfo: SAOPFault: UPnPError 401 (Invalid Action)"
time="2023-12-14T20:39:55Z" level=warning msg="can not collect metrics: GetInfo: SAOPFault: UPnPError 401 (Invalid Action)"
I get 4 of these error messages every time I try to scrape.
But I get most of the data, I don't know what exactly is going wrong.
Hello there,
have you deployed this nice piece of software to a k3s cluster?
I already have deployed the container to the cluster. That is working:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE ... service/fritzbox-metrics ClusterIP 10.43.44.131 <none> 9042/TCP 14m
In the cluster I can access the URL via curl :
curl -s http://10.43.44.131:9042/metrics
That is working.
But now I want to teach prometheus to collect the available data. How do I get the data collected by prometheus?
To complete the issue, here is my deployment.yml
---
apiVersion: v1
kind: Service
metadata:
namespace: monitoring
name: fritzbox-metrics
labels:
app: fritzbox-metrics
spec:
ports:
- port: 9042
protocol: TCP
selector:
app: fritzboxexporter
---
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: monitoring
name: fritzboxexporter
spec:
selector:
matchLabels:
app: fritzboxexporter
replicas: 1
template:
metadata:
labels:
app: fritzboxexporter
spec:
containers:
- name: fritzboxexporter
image: kehrhardt/fritzbox_exporter
ports:
- containerPort: 9042
env:
- name: USERNAME
value: "MYUSER"
- name: PASSWORD
value: "MYPASSWORD"
- name: GATEWAY_URL
value: "http://192.168.1.1:49000"
I tried a serviceMonitor, but without any results.
Thanks in advance
Michael
Panels for CPU Temp, Utilization and Energy Consumption showing "No Data". all other Panels are Working.
Found out all are Querying "gateway_data_ecostat"
My Setup:
all of the Pods are Running on k3s in the same Namespace.
BR,
Felix
Zunächst danke für dieses tolle Stück Software. Endlich ein variabler Exporter, der so ziemlich alles liefert, das per TR64 oder LUA zugänglich ist. Danach hatte ich schon ewig gesucht.
Ich bin aktuell dabei, die LUA-Konfiguration für eine 6591 Cable hinzubiegen, die über data.lua viele Informationen zur DOCSIS-Verbindung liefert. Die passende JSON-Datei kann ich auf Wunsch gerne zur Verfügung stellen. Leider scheitere ich an der Modulation der DOCSIS3.0 Upstream-Kanäle, denn AVM liefert hier leider statt beispielsweise einer 64 eben 64QAM.
Meine Konfiguration sieht so aus:
{
"path": "data.lua",
"params": "page=docInfo",
"resultPath": "data.channelUs.docsis30.*",
"resultKey": "type",
"promDesc": {
"fqName": "gateway_cable_modulation_upstream",
"help": "docsis 3.0 modulation upstream from data.lua?page=docInfo",
"varLabels": [
"gateway", "frequency"
]
},
"promType": "GaugeValue",
"cacheEntryTTL": 300
}
Das führt dann zum Fehler "Can not get metric values for data.channelUs.docsis30.*.type: strconv.ParseFloat: parsing "64QAM": invalid syntax". Klar, ist ja eben auch ein String und kein Float.
Mache ich sowas
{
"path": "data.lua",
"params": "page=docInfo",
"resultPath": "data.channelUs.docsis30.*",
"resultKey": "powerLevel",
"promDesc": {
"fqName": "gateway_cable_power_upstream",
"help": "docsis 3.0 power upstream from data.lua?page=docInfo",
"varLabels": [
"gateway", "frequency", "type"
]
},
"promType": "GaugeValue",
"cacheEntryTTL": 300
}
steht die Modulation sauber als Label in der Metrik. Und zwar nur als Integer ohne "QAM". Hilft nur leider nicht, da Grafana keine Label-Values als Graphen darstellen kann. Umschreiben per Regex geht auch nicht, da das wohl nur für Labels aber nicht für Keys möglich ist.
Ich bin ein recht passabler Admin, aber meine GO-Skills gehen gegen Null, deshalb bin ich hier wirklich aufgeschmissen, denn dieser Wert ist tatsächlich ein wichtiger Indikator für die Qualität der DOCSIS-Verbindung. Bekommt man das irgendwie hin?
Auf Wunsch kann ich gerne alle relevanten Daten zur Verfügung stellen.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.