mxschmitt / fritzbox_exporter

Prometheus Exporter for FRITZ!Box (TR64 and UPnP)
https://mxschmitt.github.io/fritzbox_exporter
Apache License 2.0
58 stars 17 forks source link

Collect errors with Fritzbox 6490 with OS version 6.87 #8

Open mgrundkoetter opened 5 years ago

mgrundkoetter commented 5 years ago

I used the docker container, the docker logs gives this:

services loaded
2019/03/11 07:49:12 could not call action: XML syntax error on line 1: element <HR> closed by </BODY>
2019/03/11 08:08:10 could not call action: XML syntax error on line 1: element <HR> closed by </BODY>
2019/03/11 08:09:10 could not call action: XML syntax error on line 1: element <HR> closed by </BODY>
2019/03/11 08:10:10 could not call action: XML syntax error on line 1: element <HR> closed by </BODY>
2019/03/11 08:11:10 could not call action: XML syntax error on line 1: element <HR> closed by </BODY>
2019/03/11 08:12:10 could not call action: XML syntax error on line 1: element <HR> closed by </BODY>
2019/03/11 08:13:10 could not call action: XML syntax error on line 1: element <HR> closed by </BODY>
2019/03/11 08:14:10 could not call action: XML syntax error on line 1: element <HR> closed by </BODY>
2019/03/11 08:15:10 could not call action: XML syntax error on line 1: element <HR> closed by </BODY>
result not found TotalAssociations
2019/03/11 08:17:10 could not call action: XML syntax error on line 1: element <HR> closed by </BODY>
result not found TotalAssociations
result not found TotalAssociations
result not found TotalAssociations
2019/03/11 08:20:10 could not call action: XML syntax error on line 1: element <HR> closed by </BODY>
result not found TotalAssociations

The output of the metrics endpoint is this:

# HELP fritzbox_exporter_collect_errors Number of collection errors.
# TYPE fritzbox_exporter_collect_errors counter
fritzbox_exporter_collect_errors 18
# HELP gateway_wan_bytes_receive_rate byte receive rate on gateway WAN interface
# TYPE gateway_wan_bytes_receive_rate gauge
gateway_wan_bytes_receive_rate{gateway="fritz.box"} 18065
# HELP gateway_wan_bytes_received bytes received on gateway WAN interface
# TYPE gateway_wan_bytes_received counter
gateway_wan_bytes_received{gateway="fritz.box"} 0
# HELP gateway_wan_bytes_send_rate byte send rate on gateway WAN interface
# TYPE gateway_wan_bytes_send_rate gauge
gateway_wan_bytes_send_rate{gateway="fritz.box"} 9596
# HELP gateway_wan_bytes_sent bytes sent on gateway WAN interface
# TYPE gateway_wan_bytes_sent counter
gateway_wan_bytes_sent{gateway="fritz.box"} 0
# HELP gateway_wan_connection_status WAN connection status (Connected = 1)
# TYPE gateway_wan_connection_status gauge
gateway_wan_connection_status{gateway="fritz.box"} 0
# HELP gateway_wan_connection_uptime_seconds WAN connection uptime
# TYPE gateway_wan_connection_uptime_seconds gauge
gateway_wan_connection_uptime_seconds{gateway="fritz.box"} 0
# HELP gateway_wan_layer1_downstream_max_bitrate Layer1 downstream max bitrate
# TYPE gateway_wan_layer1_downstream_max_bitrate gauge
gateway_wan_layer1_downstream_max_bitrate{gateway="fritz.box"} 2.12e+08
# HELP gateway_wan_layer1_link_status Status of physical link (Up = 1)
# TYPE gateway_wan_layer1_link_status gauge
gateway_wan_layer1_link_status{gateway="fritz.box"} 0
# HELP gateway_wan_layer1_upstream_max_bitrate Layer1 upstream max bitrate
# TYPE gateway_wan_layer1_upstream_max_bitrate gauge
gateway_wan_layer1_upstream_max_bitrate{gateway="fritz.box"} 2.65e+07
# HELP gateway_wan_packets_received packets received on gateway WAN interface
# TYPE gateway_wan_packets_received counter
gateway_wan_packets_received{gateway="fritz.box"} 0
# HELP gateway_wan_packets_sent packets sent on gateway WAN interface
# TYPE gateway_wan_packets_sent counter
gateway_wan_packets_sent{gateway="fritz.box"} 0
# HELP go_gc_duration_seconds A summary of the GC invocation durations.
# TYPE go_gc_duration_seconds summary
go_gc_duration_seconds{quantile="0"} 5.9123e-05
go_gc_duration_seconds{quantile="0.25"} 7.4359e-05
go_gc_duration_seconds{quantile="0.5"} 9.0119e-05
go_gc_duration_seconds{quantile="0.75"} 0.000175396
go_gc_duration_seconds{quantile="1"} 0.000209894
go_gc_duration_seconds_sum 0.002493336
go_gc_duration_seconds_count 22
# HELP go_goroutines Number of goroutines that currently exist.
# TYPE go_goroutines gauge
go_goroutines 11
# HELP go_info Information about the Go environment.
# TYPE go_info gauge
go_info{version="go1.11.1"} 1
# HELP go_memstats_alloc_bytes Number of bytes allocated and still in use.
# TYPE go_memstats_alloc_bytes gauge
go_memstats_alloc_bytes 1.931904e+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 3.1779736e+07
# 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.452059e+06
# HELP go_memstats_frees_total Total number of frees.
# TYPE go_memstats_frees_total counter
go_memstats_frees_total 181837
# 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 3.510988517134665e-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 2.371584e+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 1.931904e+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 6.201344e+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 4.407296e+06
# HELP go_memstats_heap_objects Number of allocated objects.
# TYPE go_memstats_heap_objects gauge
go_memstats_heap_objects 12389
# 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 0
# 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.6420736e+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.5522925301405578e+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 194226
# 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 6912
# 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 16384
# 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 71136
# 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 81920
# 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 4.194304e+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 1.253597e+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 688128
# 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 688128
# HELP go_memstats_sys_bytes Number of bytes obtained from system.
# TYPE go_memstats_sys_bytes gauge
go_memstats_sys_bytes 7.2284408e+07
# HELP go_threads Number of OS threads created.
# TYPE go_threads gauge
go_threads 10
# HELP http_request_duration_microseconds The HTTP request latencies in microseconds.
# TYPE http_request_duration_microseconds summary
http_request_duration_microseconds{handler="prometheus",quantile="0.5"} 856764.708
http_request_duration_microseconds{handler="prometheus",quantile="0.9"} 859527.022
http_request_duration_microseconds{handler="prometheus",quantile="0.99"} 859601.168
http_request_duration_microseconds_sum{handler="prometheus"} 1.5437948359000001e+07
http_request_duration_microseconds_count{handler="prometheus"} 18
# HELP http_request_size_bytes The HTTP request sizes in bytes.
# TYPE http_request_size_bytes summary
http_request_size_bytes{handler="prometheus",quantile="0.5"} 216
http_request_size_bytes{handler="prometheus",quantile="0.9"} 415
http_request_size_bytes{handler="prometheus",quantile="0.99"} 415
http_request_size_bytes_sum{handler="prometheus"} 4498
http_request_size_bytes_count{handler="prometheus"} 18
# HELP http_requests_total Total number of HTTP requests made.
# TYPE http_requests_total counter
http_requests_total{code="200",handler="prometheus",method="get"} 18
# HELP http_response_size_bytes The HTTP response sizes in bytes.
# TYPE http_response_size_bytes summary
http_response_size_bytes{handler="prometheus",quantile="0.5"} 1946
http_response_size_bytes{handler="prometheus",quantile="0.9"} 1960
http_response_size_bytes{handler="prometheus",quantile="0.99"} 1961
http_response_size_bytes_sum{handler="prometheus"} 34876
http_response_size_bytes_count{handler="prometheus"} 18
# HELP process_cpu_seconds_total Total user and system CPU time spent in seconds.
# TYPE process_cpu_seconds_total counter
process_cpu_seconds_total 0.41
# HELP process_max_fds Maximum number of open file descriptors.
# TYPE process_max_fds gauge
process_max_fds 1.048576e+06
# HELP process_open_fds Number of open file descriptors.
# TYPE process_open_fds gauge
process_open_fds 9
# HELP process_resident_memory_bytes Resident memory size in bytes.
# TYPE process_resident_memory_bytes gauge
process_resident_memory_bytes 1.4073856e+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.55229042655e+09
# HELP process_virtual_memory_bytes Virtual memory size in bytes.
# TYPE process_virtual_memory_bytes gauge
process_virtual_memory_bytes 1.13967104e+08
# 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
mxschmitt commented 5 years ago

Hi, sorry for the delayed response. I also have a Fritz Box 6490 but with FritzOS 07.02. This OS is working fine, so I can't reproduce it unfortunately.

khanku commented 2 years ago

Late to the party but I've been seeing the same error message with a FRITZ!Box 6490 Cable running FRITZ!OS: 07.29. I found out GET /tr64desc.xml is the request that fails. And sure enough I had enabled UPnP as per the README but not TR-064 (the checkbox just above). I have commented out the call to loadTr64() in fritzboxmetrics.go and the exporter now works (but returns less metrics obviously). I'll try enabling TR-064 at some point (it requires a reboot) and report back.