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
Metric  | 
Type  | 
Description  | 
|---|---|---|
faucet_pbr_version  | 
gauge  | 
Faucet PBR version  | 
ryu_config  | 
gauge  | 
ryu configuration option  | 
faucet_stack_root_dpid  | 
gauge  | 
set to current stack root DPID  | 
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_config_hash  | 
info  | 
file hashes for last successful config  | 
faucet_config_hash_func  | 
gauge  | 
algorithm used to compute config hashes  | 
faucet_config_applied  | 
gauge  | 
fraction of DPs that we have tried to apply config to  | 
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 unknown VLAN)  | 
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  | 
learned_l2_port  | 
gauge  | 
learned port of l2 entries  | 
port_lacp_role  | 
gauge  | 
LACP role of a port  | 
port_lacp_state  | 
gauge  | 
state of LACP on a port  | 
dp_status  | 
gauge  | 
status of datapaths  | 
dp_root_hop_port  | 
gauge  | 
port that leads to stack root DP  | 
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  | 
is_dp_stack_root  | 
gauge  | 
bool indicating if dp is stack root  | 
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  | 
lacp_port_id  | 
gauge  | 
lacp port ID for for port  | 
port_stack_state_change_count_total  | 
counter  | 
number of changes in port stack state  | 
port_lacp_state_change_count_total  | 
counter  | 
number of changes in port lacp state  | 
stack_root_change_count_total  | 
counter  | 
number of changes in stack root  | 
Exported by gauge
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_tx_errors  | 
gauge  | 
|
of_port_rx_errors  | 
gauge  | 
|
of_port_reason  | 
gauge  | 
|
of_port_state  | 
gauge  | 
|
of_port_curr_speed  | 
gauge  | 
|
of_port_max_speed  | 
gauge  | 
|
of_meter_flow_count  | 
gauge  | 
|
of_meter_byte_in_count  | 
gauge  | 
|
of_meter_packet_in_count  | 
gauge  | 
|
of_meter_byte_band_count  | 
gauge  | 
|
of_meter_packet_band_count  | 
gauge  |