Files
unpoller-unpoller-3/pkg/influxunifi/integration_test_expectations.yaml
Cody Lee c61d2651a2 Enhance InfluxDB and Datadog UBB outputs with comprehensive metrics
This change significantly expands the metrics exported for UBB devices
to InfluxDB and Datadog, matching the comprehensive coverage added to
the Prometheus output.

Changes to InfluxDB (pkg/influxunifi/ubb.go):
- Added batchUBBstats() to export comprehensive statistics separated
  by radio (total, wifi0, terra2, user-wifi0, user-terra2)
- Added VAP table export via processVAPTable()
- Added Radio table export via processRadTable()
- Added P2P stats (rx_rate, tx_rate, throughput)
- Added link quality metrics (link_quality, link_quality_current,
  link_capacity)
- Comprehensive stats exported to new "ubb_stats" table with full
  breakdown of traffic per radio

Changes to Datadog (pkg/datadogunifi/ubb.go):
- Added batchUBBstats() to export comprehensive statistics separated
  by radio (total, wifi0, terra2, user-wifi0, user-terra2)
- Added VAP table export via processVAPTable()
- Added Radio table export via processRadTable()
- Added P2P stats (rx_rate, tx_rate, throughput)
- Added link quality metrics (link_quality, link_quality_current,
  link_capacity)
- Comprehensive stats exported with namespace "ubb.stats"

All implementations now fully support:
- 5GHz radio (wifi0) metrics
- 60GHz radio (terra2/ad) metrics - Full 802.11ad support!
- Per-radio RX/TX packets, bytes, errors, dropped, retries
- User-specific metrics for each radio
- Interface-specific metrics (ath0 for 5GHz, wlan0 for 60GHz)
- Point-to-point link statistics and quality metrics

Fixes: #409

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-09 11:04:35 -06:00

917 lines
21 KiB
YAML

databases:
- unpoller
points:
clientdpi:
tags:
- application
- category
- mac
- name
- site_name
- source
fields:
rx_bytes: int
rx_packets: int
tx_bytes: int
tx_packets: int
clients:
tags:
- channel
- dev_cat
- dev_family
- dev_id
- dev_vendor
- fixed_ip
- is_guest
- is_wired
- mac
- name
- os_class
- os_name
- oui
- radio
- radio_name
- radio_proto
- site_name
- source
- sw_port
- use_fixedip
- vlan
fields:
anomalies: int
bssid: string
bytes_r: int
ccq: int
channel: float
essid: string
hostname: string
ip: string
noise: int
note: string
powersave_enabled: string
radio_desc: string
roam_count: int
rssi: int
rx_bytes: int
rx_bytes_r: int
rx_packets: int
rx_rate: int
satisfaction: float
signal: int
tx_bytes: int
tx_bytes_r: int
tx_packets: int
tx_power: int
tx_rate: int
tx_retries: int
uptime: int
wifi_tx_attempts: int
wired-rx_bytes: int
wired-rx_bytes-r: int
wired-rx_packets: int
wired-tx_bytes: int
wired-tx_bytes-r: int
wired-tx_packets: int
pdu:
tags:
- mac
- model
- name
- serial
- site_name
- source
- type
- version
fields:
bytes: float
cpu: float
guest-num_sta: float
ip: string
last_seen: float
loadavg_1: float
loadavg_5: float
loadavg_15: float
mem: float
mem_buffer: float
mem_total: float
mem_used: float
outlet_ac_power_budget: float
outlet_ac_power_consumption: float
outlet_enabled: bool
overheating: bool
power_source: float
rx_bytes: float
stat_bytes: float
stat_rx_bytes: float
stat_rx_crypts: float
stat_rx_dropped: float
stat_rx_errors: float
stat_rx_frags: float
stat_rx_packets: float
stat_tx_bytes: float
stat_tx_dropped: float
stat_tx_errors: float
stat_tx_packets: float
stat_tx_retries: float
state: float
system_uptime: float
temp_cpu: int
temp_memory: int
temp_network: int
temp_probe: int
temp_sys: int
total_max_power: float
tx_bytes: float
upgradeable: bool
uptime: float
user-num_sta: float
pdu.outlet_overrides:
tags:
- ip
- mac
- model
- name
- outlet_index
- outlet_name
- serial
- site_name
- source
- type
- version
fields:
cycle_enabled: bool
relay_state: bool
pdu.outlet_table:
tags:
- ip
- mac
- model
- name
- outlet_index
- outlet_name
- serial
- site_name
- source
- type
- version
fields:
cycle_enabled: bool
outlet_caps: float
outlet_current: float
outlet_power: float
outlet_power_factor: float
outlet_voltage: float
relay_state: bool
sitedpi:
tags:
- application
- category
- site_name
- source
fields:
rx_bytes: int
rx_packets: int
tx_bytes: int
tx_packets: int
subsystems:
tags:
- desc
- gw_name
- lan_ip
- name
- site_name
- source
- status
- subsystem
- wan_ip
fields:
drops: float
gw_cpu: float
gw_mem: float
gw_uptime: float
latency: float
num_adopted: float
num_ap: float
num_disabled: float
num_disconnected: float
num_guest: float
num_gw: float
num_iot: float
num_new_alarms: float
num_pending: float
num_sta: float
num_sw: float
num_user: float
remote_user_num_active: float
remote_user_num_inactive: float
remote_user_rx_bytes: float
remote_user_rx_packets: float
remote_user_tx_bytes: float
remote_user_tx_packets: float
rx_bytes-r: int
speedtest_lastrun: float
speedtest_ping: float
tx_bytes-r: int
uptime: int
wan_ip: string
xput_down: float
xput_up: float
uap:
tags:
- mac
- model
- name
- serial
- site_name
- source
- type
- version
fields:
bytes: float
cpu: float
guest-num_sta: int
ip: string
last_seen: float
loadavg_1: float
loadavg_5: float
loadavg_15: float
mem: float
mem_buffer: float
mem_total: float
mem_used: float
num_sta: float
rx_bytes: float
stat_guest-rx_bytes: float
stat_guest-rx_crypts: float
stat_guest-rx_dropped: float
stat_guest-rx_errors: float
stat_guest-rx_frags: float
stat_guest-rx_packets: float
stat_guest-tx_bytes: float
stat_guest-tx_dropped: float
stat_guest-tx_errors: float
stat_guest-tx_packets: float
stat_guest-tx_retries: float
stat_rx_bytes: float
stat_rx_crypts: float
stat_rx_dropped: float
stat_rx_errors: float
stat_rx_frags: float
stat_rx_packets: float
stat_tx_bytes: float
stat_tx_dropped: float
stat_tx_errors: float
stat_tx_packets: float
stat_user-rx_bytes: float
stat_user-rx_crypts: float
stat_user-rx_dropped: float
stat_user-rx_errors: float
stat_user-rx_frags: float
stat_user-rx_packets: float
stat_user-tx_bytes: float
stat_user-tx_dropped: float
stat_user-tx_errors: float
stat_user-tx_packets: float
stat_user-tx_retries: float
state: string
system_uptime: float
temp_cpu: int
temp_memory: int
temp_network: int
temp_probe: int
temp_sys: int
tx_bytes: float
upgradeable: bool
uptime: float
user-num_sta: int
uap_radios:
tags:
- channel
- device_name
- radio
- site_name
- source
fields:
ast_be_xmit: float
channel: float
cu_self_rx: float
cu_self_tx: float
cu_total: float
current_antenna_gain: float
extchannel: float
gain: float
guest-num_sta: float
ht: string
max_txpower: float
min_txpower: float
nss: float
num_sta: float
radio: string
radio_caps: float
tx_packets: float
tx_power: float
tx_retries: float
user-num_sta: float
uap_rogue:
tags:
- ap_mac
- band
- mac
- name
- oui
- radio
- radio_name
- security
- site_name
- source
fields:
age: float
bw: float
center_freq: float
channel: int
freq: float
noise: float
rssi: float
rssi_age: float
signal: float
uap_vaps:
tags:
- ap_mac
- bssid
- device_name
- essid
- id
- is_guest
- name
- radio
- radio_name
- site_id
- site_name
- source
- state
- usage
fields:
avg_client_signal: float
ccq: int
channel: float
mac_filter_rejections: int
num_satisfaction_sta: float
num_sta: int
rx_bytes: float
rx_crypts: float
rx_dropped: float
rx_errors: float
rx_frags: float
rx_nwids: float
rx_packets: float
rx_tcp_goodbytes: float
rx_tcp_lat_avg: float
rx_tcp_lat_max: float
rx_tcp_lat_min: float
satisfaction: float
satisfaction_now: float
tx_bytes: float
tx_combined_retries: float
tx_data_mpdu_bytes: float
tx_dropped: float
tx_errors: float
tx_packets: float
tx_power: float
tx_retries: float
tx_rts_retries: float
tx_success: float
tx_tcp_goodbytes: float
tx_tcp_lat_avg: float
tx_tcp_lat_max: float
tx_tcp_lat_min: float
tx_total: float
wifi_tx_latency_mov_avg: float
wifi_tx_latency_mov_cuont: float
wifi_tx_latency_mov_max: float
wifi_tx_latency_mov_min: float
wifi_tx_latency_mov_total: float
ubb:
tags:
- mac
- model
- name
- serial
- site_name
- source
- type
- version
fields:
bytes: float
cpu: float
ip: string
last_seen: float
license_state: string
link_capacity: float
link_quality: float
link_quality_current: float
loadavg_1: float
loadavg_5: float
loadavg_15: float
mem: float
mem_buffer: float
mem_total: float
mem_used: float
p2p_rx_rate: float
p2p_throughput: float
p2p_tx_rate: float
rx_bytes: float
source: string
stat_bytes: float
stat_duration: float
stat_mac_filter_rejections: float
stat_rx_bytes: float
stat_rx_crypts: float
stat_rx_dropped: float
stat_rx_errors: float
stat_rx_frags: float
stat_rx_packets: float
stat_terra2-mac_filter_rejections: float
stat_terra2-rx_bytes: float
stat_terra2-rx_crypts: float
stat_terra2-rx_dropped: float
stat_terra2-rx_errors: float
stat_terra2-rx_frags: float
stat_terra2-rx_packets: float
stat_terra2-tx_bytes: float
stat_terra2-tx_dropped: float
stat_terra2-tx_errors: float
stat_terra2-tx_packets: float
stat_terra2-tx_retries: float
stat_terra2-wifi_tx_attempts: float
stat_terra2-wifi_tx_dropped: float
stat_tx_bytes: float
stat_tx_dropped: float
stat_tx_errors: float
stat_tx_packets: float
stat_tx_retries: float
stat_user-mac_filter_rejections: float
stat_user-rx_bytes: float
stat_user-rx_crypts: float
stat_user-rx_dropped: float
stat_user-rx_errors: float
stat_user-rx_frags: float
stat_user-rx_packets: float
stat_user-terra2-mac_filter_rejections: float
stat_user-terra2-rx_bytes: float
stat_user-terra2-rx_crypts: float
stat_user-terra2-rx_dropped: float
stat_user-terra2-rx_errors: float
stat_user-terra2-rx_frags: float
stat_user-terra2-rx_packets: float
stat_user-terra2-tx_bytes: float
stat_user-terra2-tx_dropped: float
stat_user-terra2-tx_errors: float
stat_user-terra2-tx_packets: float
stat_user-terra2-tx_retries: float
stat_user-terra2-wifi_tx_attempts: float
stat_user-terra2-wifi_tx_dropped: float
stat_user-terra2-wlan0-rx_bytes: float
stat_user-terra2-wlan0-rx_errors: float
stat_user-terra2-wlan0-rx_packets: float
stat_user-terra2-wlan0-tx_bytes: float
stat_user-terra2-wlan0-tx_dropped: float
stat_user-terra2-wlan0-tx_errors: float
stat_user-terra2-wlan0-tx_packets: float
stat_user-tx_bytes: float
stat_user-tx_dropped: float
stat_user-tx_errors: float
stat_user-tx_packets: float
stat_user-tx_retries: float
stat_user-wifi0-ath0-rx_bytes: float
stat_user-wifi0-ath0-rx_packets: float
stat_user-wifi0-ath0-tx_bytes: float
stat_user-wifi0-ath0-tx_packets: float
stat_user-wifi0-mac_filter_rejections: float
stat_user-wifi0-rx_bytes: float
stat_user-wifi0-rx_crypts: float
stat_user-wifi0-rx_dropped: float
stat_user-wifi0-rx_errors: float
stat_user-wifi0-rx_frags: float
stat_user-wifi0-rx_packets: float
stat_user-wifi0-tx_bytes: float
stat_user-wifi0-tx_dropped: float
stat_user-wifi0-tx_errors: float
stat_user-wifi0-tx_packets: float
stat_user-wifi0-tx_retries: float
stat_user-wifi0-wifi_tx_attempts: float
stat_user-wifi0-wifi_tx_dropped: float
stat_user-wifi_tx_attempts: float
stat_user-wifi_tx_dropped: float
stat_wifi0-mac_filter_rejections: float
stat_wifi0-rx_bytes: float
stat_wifi0-rx_crypts: float
stat_wifi0-rx_dropped: float
stat_wifi0-rx_errors: float
stat_wifi0-rx_frags: float
stat_wifi0-rx_packets: float
stat_wifi0-tx_bytes: float
stat_wifi0-tx_dropped: float
stat_wifi0-tx_errors: float
stat_wifi0-tx_packets: float
stat_wifi0-tx_retries: float
stat_wifi0-wifi_tx_attempts: float
stat_wifi0-wifi_tx_dropped: float
stat_wifi_tx_attempts: float
stat_wifi_tx_dropped: float
state: float
system_uptime: float
temp_cpu: int
temp_memory: int
temp_network: int
temp_probe: int
temp_sys: int
tx_bytes: float
uplink_latency: float
uplink_max_speed: float
uplink_speed: float
uplink_uptime: float
upgradeable: bool
uptime: float
user-num_sta: float
version: string
uci:
tags:
- mac
- model
- name
- serial
- site_name
- source
- type
- version
fields:
bytes: float
cpu: float
ip: string
last_seen: float
license_state: string
loadavg_1: float
loadavg_5: float
loadavg_15: float
mem: float
mem_buffer: float
mem_total: float
mem_used: float
rx_bytes: float
source: string
stat_bytes: float
stat_rx_bytes: float
stat_rx_crypts: float
stat_rx_dropped: float
stat_rx_errors: float
stat_rx_frags: float
stat_rx_packets: float
stat_tx_bytes: float
stat_tx_dropped: float
stat_tx_errors: float
stat_tx_packets: float
stat_tx_retries: float
state: float
system_uptime: float
temp_cpu: int
temp_memory: int
temp_network: int
temp_probe: int
temp_sys: int
tx_bytes: float
uptime: float
version: string
unifi_alarm:
tags:
- action
- app_proto
- archived
- catname
- event_type
- in_iface
- key
- proto
- site_name
- source
- subsystem
- usgip
fields:
dest_ip: string
dest_port: int
dst_mac: string
dstip_asn: int
dstip_city: string
dstip_continent_code: string
dstip_country_code: string
dstip_country_name: string
dstip_latitude: float
dstip_longitude: float
dstip_organization: string
host: string
msg: string
src_ip: string
src_mac: string
src_port: int
srcip_asn: int
srcip_city: string
srcip_continent_code: string
srcip_country_code: string
srcip_country_name: string
srcip_latitude: float
srcip_longitude: float
srcip_organization: string
unifi_events:
tags:
- action
- admin
- ap
- ap_from
- ap_name
- ap_to
- app_proto
- catname
- channel
- channel_from
- channel_to
- event_type
- gw
- gw_name
- in_iface
- is_admin
- key
- network
- proto
- radio
- radio_from
- radio_to
- site_name
- source
- ssid
- subsystem
- sw
- sw_name
- usgip
fields:
bytes: float
dest_ip: string
dest_port: int
dst_mac: string
dstip_asn: int
dstip_city: string
dstip_continent_code: string
dstip_country_code: string
dstip_country_name: string
dstip_latitude: float
dstip_longitude: float
dstip_organization: string
duration: float
guest: string
host: string
hostname: string
ip: string
msg: string
src_ip: string
src_mac: string
src_port: int
srcip_asn: int
srcip_city: string
srcip_continent_code: string
srcip_country_code: string
srcip_country_name: string
srcip_latitude: float
srcip_longitude: float
srcip_organization: string
user: string
unifi_ids:
tags:
- action
- app_proto
- archived
- catname
- event_type
- in_iface
- key
- proto
- site_name
- source
- subsystem
- usgip
fields:
dest_ip: string
dest_port: string
dst_mac: string
dstip_asn: int
dstip_city: string
dstip_continent_code: string
dstip_country_code: string
dstip_country_name: string
dstip_latitude: float
dstip_longitude: float
dstip_organization: string
host: string
msg: string
src_ip: string
src_mac: string
src_port: string
srcip_asn: int
srcip_city: string
srcip_continent_code: string
srcip_country_code: string
srcip_country_name: string
srcip_latitude: float
srcip_longitude: float
srcip_organization: string
usg:
tags:
- mac
- model
- name
- serial
- site_name
- source
- type
- version
fields:
bytes: float
cpu: float
guest-num_sta: float
ip: string
lan-rx_bytes: float
lan-rx_dropped: float
lan-rx_packets: float
lan-tx_bytes: float
lan-tx_packets: float
last_seen: float
license_state: string
loadavg_1: float
loadavg_5: float
loadavg_15: float
mem: float
mem_buffer: float
mem_total: float
mem_used: float
num_desktop: float
num_handheld: float
num_mobile: float
rx_bytes: float
source: string
speedtest-status_latency: float
speedtest-status_ping: float
speedtest-status_rundate: float
speedtest-status_runtime: float
speedtest-status_xput_download: float
speedtest-status_xput_upload: float
state: float
storage_bar_pct: float
storage_bar_size: float
storage_bar_used: float
storage_foo_pct: float
storage_foo_size: float
storage_foo_used: float
system_uptime: float
temp_cpu: int
temp_memory: int
temp_network: int
temp_probe: int
temp_sys: int
tx_bytes: float
upgradeable: bool
uplink_latency: float
uplink_max_speed: float
uplink_name: string
uplink_speed: float
uplink_type: string
uplink_uptime: float
uptime: float
user-num_sta: float
version: string
usg_networks:
tags:
- device_name
- domain_name
- enabled
- ip
- is_guest
- mac
- name
- purpose
- site_name
- source
- up
fields:
num_sta: float
rx_bytes: float
rx_packets: float
tx_bytes: float
tx_packets: float
usg_wan_ports:
tags:
- device_name
- enabled
- ifname
- ip
- mac
- purpose
- site_name
- source
- type
- up
fields:
bytes-r: float
full_duplex: bool
gateway: string
is_uplink: bool
max_speed: float
rx_broadcast: float
rx_bytes: float
rx_bytes-r: float
rx_dropped: float
rx_errors: float
rx_multicast: float
rx_packets: float
speed: float
tx_broadcast: float
tx_bytes: float
tx_bytes-r: float
tx_dropped: float
tx_errors: float
tx_multicast: float
tx_packets: float
usw:
tags:
- mac
- model
- name
- serial
- site_name
- source
- type
- version
fields:
bytes: float
guest-num_sta: float
ip: string
last_seen: float
rx_bytes: float
stat_bytes: float
stat_rx_bytes: float
stat_rx_crypts: float
stat_rx_dropped: float
stat_rx_errors: float
stat_rx_frags: float
stat_rx_packets: float
stat_tx_bytes: float
stat_tx_dropped: float
stat_tx_errors: float
stat_tx_packets: float
stat_tx_retries: float
tx_bytes: float
upgradeable: bool
uptime: float
usw_ports:
tags:
- device_name
- flowctrl_rx
- flowctrl_tx
- has_sfp
- media
- name
- poe_enable
- poe_mode
- port_id
- port_idx
- port_poe
- sfp_compliance
- sfp_part
- sfp_serial
- sfp_vendor
- site_name
- source
- type
fields:
dbytes_r: float
poe_current: float
poe_power: float
poe_voltage: float
rx_broadcast: float
rx_bytes: float
rx_bytes-r: float
rx_dropped: float
rx_errors: float
rx_multicast: float
rx_packets: float
sfp_current: float
sfp_rxpower: float
sfp_temperature: float
sfp_txpower: float
sfp_voltage: float
speed: float
stp_pathcost: float
tx_broadcast: float
tx_bytes: float
tx_bytes-r: float
tx_dropped: float
tx_errors: float
tx_multicast: float
tx_packets: float