|
|
|
# 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 7490 and software version 06.51.
|
|
|
|
|
|
|
|
## Building
|
|
|
|
|
|
|
|
go get github.com/ndecker/fritzbox_exporter/
|
|
|
|
cd $GOPATH/src/github.com/ndecker/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-address string
|
|
|
|
The URL of the upnp service (default "fritz.box")
|
|
|
|
-gateway-port int
|
|
|
|
The URL of the upnp service (default 49000)
|
|
|
|
-listen-address string
|
|
|
|
The address to listen on for HTTP requests. (default ":9133")
|
|
|
|
-test
|
|
|
|
print all available metrics to stdout
|
|
|
|
|
|
|
|
## Exported metrics
|
|
|
|
|
|
|
|
These metrics are exported:
|
|
|
|
|
|
|
|
# HELP fritzbox_exporter_collect_errors Number of collection errors.
|
|
|
|
# TYPE fritzbox_exporter_collect_errors counter
|
|
|
|
fritzbox_exporter_collect_errors 0
|
|
|
|
# HELP gateway_wan_bytes_received bytes received on gateway WAN interface
|
|
|
|
# TYPE gateway_wan_bytes_received counter
|
|
|
|
gateway_wan_bytes_received{gateway="fritz.box"} 5.037749914e+09
|
|
|
|
# HELP gateway_wan_bytes_sent bytes sent on gateway WAN interface
|
|
|
|
# TYPE gateway_wan_bytes_sent counter
|
|
|
|
gateway_wan_bytes_sent{gateway="fritz.box"} 2.55707479e+08
|
|
|
|
# HELP gateway_wan_connection_status WAN connection status (Connected = 1)
|
|
|
|
# TYPE gateway_wan_connection_status gauge
|
|
|
|
gateway_wan_connection_status{gateway="fritz.box"} 1
|
|
|
|
# HELP gateway_wan_connection_uptime_seconds WAN connection uptime
|
|
|
|
# TYPE gateway_wan_connection_uptime_seconds gauge
|
|
|
|
gateway_wan_connection_uptime_seconds{gateway="fritz.box"} 65259
|
|
|
|
# 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"} 1.286e+07
|
|
|
|
# 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"} 1
|
|
|
|
# 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"} 1.148e+06
|
|
|
|
# HELP gateway_wan_packets_received packets received on gateway WAN interface
|
|
|
|
# TYPE gateway_wan_packets_received counter
|
|
|
|
gateway_wan_packets_received{gateway="fritz.box"} 1.346625e+06
|
|
|
|
# HELP gateway_wan_packets_sent packets sent on gateway WAN interface
|
|
|
|
# TYPE gateway_wan_packets_sent counter
|
|
|
|
gateway_wan_packets_sent{gateway="fritz.box"} 3.05051e+06
|
|
|
|
|
|
|
|
|
|
|
|
## 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
|
|
|
|
|
|
|
|
Name: urn:schemas-any-com:service:Any:1
|
|
|
|
WANDevice - FRITZ!Box 7490: urn:schemas-upnp-org:service:WANCommonInterfaceConfig:1
|
|
|
|
GetCommonLinkProperties
|
|
|
|
WANAccessType: DSL
|
|
|
|
Layer1UpstreamMaxBitRate: 1148000
|
|
|
|
Layer1DownstreamMaxBitRate: 12860000
|
|
|
|
PhysicalLinkStatus: Up
|
|
|
|
GetTotalBytesSent
|
|
|
|
TotalBytesSent: 255710914
|
|
|
|
GetTotalBytesReceived
|
|
|
|
TotalBytesReceived: 5037753042
|
|
|
|
GetTotalPacketsSent
|
|
|
|
TotalPacketsSent: 3050536
|
|
|
|
GetTotalPacketsReceived
|
|
|
|
TotalPacketsReceived: 1346651
|
|
|
|
GetAddonInfos
|
|
|
|
ByteSendRate: 0
|
|
|
|
ByteReceiveRate: 0
|
|
|
|
PacketSendRate: 0
|
|
|
|
PacketReceiveRate: 0
|
|
|
|
TotalBytesSent: 255710914
|
|
|
|
TotalBytesReceived: 5037753042
|
|
|
|
AutoDisconnectTime: 0
|
|
|
|
IdleDisconnectTime: 10
|
|
|
|
DNSServer1: 1.1.1.1
|
|
|
|
DNSServer2: 2.2.2.2
|
|
|
|
VoipDNSServer1: 1.1.1.1
|
|
|
|
VoipDNSServer2: 2.2.2.2
|
|
|
|
UpnpControlEnabled: false
|
|
|
|
RoutedBridgedModeBoth: 1
|
|
|
|
WANConnectionDevice - FRITZ!Box 7490: urn:schemas-upnp-org:service:WANDSLLinkConfig:1
|
|
|
|
GetDSLLinkInfo
|
|
|
|
LinkType: PPPoE
|
|
|
|
LinkStatus: Up
|
|
|
|
GetModulationType
|
|
|
|
ModulationType: ADSL G.lite
|
|
|
|
GetDestinationAddress
|
|
|
|
DestinationAddress: NONE
|
|
|
|
GetATMEncapsulation
|
|
|
|
ATMEncapsulation: LLC
|
|
|
|
GetFCSPreserved
|
|
|
|
FCSPreserved: true
|
|
|
|
GetAutoConfig
|
|
|
|
AutoConfig: true
|
|
|
|
WANConnectionDevice - FRITZ!Box 7490: urn:schemas-upnp-org:service:WANIPConnection:1
|
|
|
|
X_AVM_DE_GetDNSServer
|
|
|
|
IPv4DNSServer1: 1.1.1.1
|
|
|
|
IPv4DNSServer2: 2.2.2.2
|
|
|
|
GetAutoDisconnectTime
|
|
|
|
AutoDisconnectTime: 0
|
|
|
|
GetIdleDisconnectTime
|
|
|
|
IdleDisconnectTime: 0
|
|
|
|
X_AVM_DE_GetExternalIPv6Address
|
|
|
|
ExternalIPv6Address:
|
|
|
|
PrefixLength: 0
|
|
|
|
ValidLifetime: 0
|
|
|
|
PreferedLifetime: 0
|
|
|
|
GetNATRSIPStatus
|
|
|
|
RSIPAvailable: false
|
|
|
|
NATEnabled: true
|
|
|
|
GetExternalIPAddress
|
|
|
|
ExternalIPAddress: 1.1.1.1
|
|
|
|
X_AVM_DE_GetIPv6Prefix
|
|
|
|
IPv6Prefix:
|
|
|
|
PrefixLength: 0
|
|
|
|
ValidLifetime: 0
|
|
|
|
PreferedLifetime: 0
|
|
|
|
X_AVM_DE_GetIPv6DNSServer
|
|
|
|
IPv6DNSServer1:
|
|
|
|
ValidLifetime1: 2002000000
|
|
|
|
IPv6DNSServer2:
|
|
|
|
ValidLifetime2: 199800000
|
|
|
|
GetConnectionTypeInfo
|
|
|
|
ConnectionType: IP_Routed
|
|
|
|
PossibleConnectionTypes: IP_Routed
|
|
|
|
GetStatusInfo
|
|
|
|
ConnectionStatus: Connected
|
|
|
|
LastConnectionError: ERROR_NONE
|
|
|
|
Uptime: 65386
|
|
|
|
WANConnectionDevice - FRITZ!Box 7490: urn:schemas-upnp-org:service:WANIPv6FirewallControl:1
|
|
|
|
GetFirewallStatus
|
|
|
|
FirewallEnabled: true
|
|
|
|
InboundPinholeAllowed: false
|
|
|
|
|