Monitoring

Faucet can be monitored in a number of ways. Both the faucet and gauge services export instrumentation data via a built-in Prometheus exporter which can be consumed by Prometheus. By default the Prometheus exporter is available on port 9302, this can be changed with Environment variables (FAUCET_PROMETHEUS_PORT and FAUCET_PROMETHEUS_ADDR).

Gauge also collects conventional switch statistics (port counters, port state, etc) and can export these to a number of different databases (including Prometheus). For information on configuring gauge see the Gauge configuration section.

Prometheus metrics

Below is a list of the metrics exported by faucet and gauge.

Exported by faucet

Faucet prometheus metrics
Metric Type Description
faucet_pbr_version gauge Faucet PBR version
faucet_config_reload_requests_total counter number of config reload requests
faucet_config_load_error gauge 1 if last attempt to re/load config failed
faucet_event_id gauge highest/most recent event ID to be sent
faucet_config_reload_warm_total counter number of warm, differences only config reloads executed
faucet_config_reload_cold_total counter number of cold, complete reprovision config reloads executed
of_ignored_packet_ins_total counter number of OF packet_ins received but ignored from DP (due to rate limiting)
of_unexpected_packet_ins_total counter number of OF packet_ins received that are unexpected from DP (e.g. for VLAN that is not configured)
of_packet_ins_total counter number of OF packet_ins received from DP
of_non_vlan_packet_ins_total counter number of OF packet_ins received from DP, not associated with a FAUCET VLAN
of_vlan_packet_ins_total counter number of OF packet_ins received from DP, associated with a FAUCET VLAN
of_flowmsgs_sent_total counter number of OF flow messages (and packet outs) sent to DP
of_errors_total counter number of OF errors received from DP
of_dp_connections_total counter number of OF connections from a DP
of_dp_disconnections_total counter number of OF connections from a DP
vlan_hosts_learned gauge number of hosts learned on a VLAN
port_vlan_hosts_learned gauge number of hosts learned on a port and VLAN
vlan_neighbors gauge number of L3 neighbors on a VLAN (whether resolved to L2 addresses, or not)
vlan_learn_bans gauge number of times learning was banned on a VLAN
faucet_config_table_names gauge number to names map of FAUCET pipeline tables
faucet_packet_in_secs histogram FAUCET packet in processing time
faucet_valve_service_secs histogram FAUCET valve service processing time
bgp_neighbor_uptime gauge BGP neighbor uptime in seconds
bgp_neighbor_routes gauge BGP neighbor route count
learned_macs gauge MAC address stored as 64bit number to DP ID, port, VLAN, and n (discrete index)
port_status gauge status of switch ports
port_stack_state gauge state of stacking on a port
port_learn_bans gauge number of times learning was banned on a port
port_lacp_status gauge status of LACP on port
dp_status gauge status of datapaths
of_dp_desc_stats gauge DP description (OFPDescStatsReply)
stack_cabling_errors_total counter number of cabling errors detected in all FAUCET stacks
stack_probes_received_total counter number of stacking messages received
dp_dot1x_success_total counter number of successful authentications on dp
dp_dot1x_failure_total counter number of authentications attempts failed on dp
dp_dot1x_logoff_total counter number of eap-logoff events on dp
port_dot1x_success_total counter number of successful authentications on port
port_dot1x_failure_total counter number of authentications attempts failed on port
port_dot1x_logoff_total counter number of eap-logoff events on port

Exported by gauge

Gauge prometheus metrics
Metric Type Description
faucet_pbr_version gauge Faucet PBR version
dp_status gauge status of datapaths
of_port_tx_packets gauge  
of_port_rx_packets gauge  
of_port_tx_bytes gauge  
of_port_rx_bytes gauge  
of_port_tx_dropped gauge  
of_port_rx_dropped gauge  
of_port_rx_errors gauge  
of_port_reason gauge  
of_port_state gauge  
of_port_curr_speed gauge  
of_port_max_speed gauge