171 lines
8.0 KiB
Go
171 lines
8.0 KiB
Go
package unidev
|
|
|
|
import (
|
|
"strconv"
|
|
"time"
|
|
|
|
influx "github.com/influxdata/influxdb/client/v2"
|
|
)
|
|
|
|
// Points generates a device's datapoints for InfluxDB.
|
|
func (u UAP) Points() (points []*influx.Point, err error) {
|
|
tags := map[string]string{
|
|
"id": u.ID,
|
|
"mac": u.Mac,
|
|
"device_type": u.Stat.O,
|
|
"device_oid": u.Stat.Oid,
|
|
"device_ap": u.Stat.Ap,
|
|
"site_id": u.SiteID,
|
|
"name": u.Name,
|
|
"addopted": strconv.FormatBool(u.Adopted),
|
|
"bandsteering_mode": u.BandsteeringMode,
|
|
"board_rev": strconv.Itoa(u.BoardRev),
|
|
"cfgversion": u.Cfgversion,
|
|
"config_network_ip": u.ConfigNetwork.IP,
|
|
"config_network_type": u.ConfigNetwork.Type,
|
|
"connect_request_ip": u.ConnectRequestIP,
|
|
"connect_request_port": u.ConnectRequestPort,
|
|
"default": strconv.FormatBool(u.Default),
|
|
"device_id": u.DeviceID,
|
|
"discovered_via": u.DiscoveredVia,
|
|
"fw_caps": strconv.Itoa(u.FwCaps),
|
|
"guest-num_sta": strconv.Itoa(u.GuestNumSta),
|
|
"guest_token": u.GuestToken,
|
|
"has_eth1": strconv.FormatBool(u.HasEth1),
|
|
"has_speaker": strconv.FormatBool(u.HasSpeaker),
|
|
"inform_ip": u.InformIP,
|
|
"isolated": strconv.FormatBool(u.Isolated),
|
|
"last_seen": strconv.Itoa(u.LastSeen),
|
|
"last_uplink_mac": u.LastUplink.UplinkMac,
|
|
"last_uplink_remote_port": strconv.Itoa(u.LastUplink.UplinkRemotePort),
|
|
"known_cfgversion": u.KnownCfgversion,
|
|
"led_override": u.LedOverride,
|
|
"locating": strconv.FormatBool(u.Locating),
|
|
"model": u.Model,
|
|
"outdoor_mode_override": u.OutdoorModeOverride,
|
|
"serial": u.Serial,
|
|
"type": u.Type,
|
|
"version_incompatible": strconv.FormatBool(u.VersionIncompatible),
|
|
"vwireEnabled": strconv.FormatBool(u.VwireEnabled),
|
|
"wifi_caps": strconv.Itoa(u.WifiCaps),
|
|
}
|
|
fields := map[string]interface{}{
|
|
"ip": u.IP,
|
|
"bytes": u.Bytes,
|
|
"bytes_d": u.BytesD,
|
|
"bytes_r": u.BytesR,
|
|
"last_seen": u.LastSeen,
|
|
"rx_bytes": u.RxBytes,
|
|
"rx_bytes-d": u.RxBytesD,
|
|
"tx_bytes": u.TxBytes,
|
|
"tx_bytes-d": u.TxBytesD,
|
|
"uptime": u.Uptime,
|
|
"considered_lost_at": u.ConsideredLostAt,
|
|
"next_heartbeat_at": u.NextHeartbeatAt,
|
|
"scanning": u.Scanning,
|
|
"spectrum_scanning": u.SpectrumScanning,
|
|
"roll_upgrade": u.Rollupgrade,
|
|
"state": u.State,
|
|
"upgradable": u.Upgradable,
|
|
"user-num_sta": u.UserNumSta,
|
|
"version": u.Version,
|
|
"loadavg_1": u.SysStats.Loadavg1,
|
|
"loadavg_5": u.SysStats.Loadavg5,
|
|
"loadavg_15": u.SysStats.Loadavg15,
|
|
"mem_buffer": u.SysStats.MemBuffer,
|
|
"mem_total": u.SysStats.MemTotal,
|
|
"cpu": u.SystemStats.CPU,
|
|
"mem": u.SystemStats.Mem,
|
|
"system_uptime": u.SystemStats.Uptime,
|
|
"stat_bytes": u.Stat.Bytes,
|
|
"stat_duration": u.Stat.Duration,
|
|
"stat_guest-rx_bytes": u.Stat.RxBytes,
|
|
"stat_guest-rx_crypts": u.Stat.RxCrypts,
|
|
"stat_guest-rx_dropped": u.Stat.RxDropped,
|
|
"stat_guest-rx_errors": u.Stat.RxErrors,
|
|
"stat_guest-rx_frags": u.Stat.RxFrags,
|
|
"stat_guest-rx_packets": u.Stat.RxPackets,
|
|
"stat_guest-tx_bytes": u.Stat.TxBytes,
|
|
"stat_guest-tx_dropped": u.Stat.TxDropped,
|
|
"stat_guest-tx_errors": u.Stat.TxErrors,
|
|
"stat_guest-tx_packets": u.Stat.TxPackets,
|
|
"stat_guest-tx_retries": u.Stat.TxRetries,
|
|
"stat_port_1-rx_broadcast": u.Stat.Port1RxBroadcast,
|
|
"stat_port_1-rx_bytes": u.Stat.Port1RxBytes,
|
|
"stat_port_1-rx_multicast": u.Stat.Port1RxMulticast,
|
|
"stat_port_1-rx_packets": u.Stat.Port1RxPackets,
|
|
"stat_port_1-tx_broadcast": u.Stat.Port1TxBroadcast,
|
|
"stat_port_1-tx_bytes": u.Stat.Port1TxBytes,
|
|
"stat_port_1-tx_multicast": u.Stat.Port1TxMulticast,
|
|
"stat_port_1-tx_packets": u.Stat.Port1TxPackets,
|
|
"stat_rx_bytes": u.Stat.RxBytes,
|
|
"stat_rx_crypts": u.Stat.RxCrypts,
|
|
"stat_rx_dropped": u.Stat.RxDropped,
|
|
"stat_rx_errors": u.Stat.RxErrors,
|
|
"stat_rx_frags": u.Stat.RxFrags,
|
|
"stat_rx_packets": u.Stat.TxPackets,
|
|
"stat_tx_bytes": u.Stat.TxBytes,
|
|
"stat_tx_dropped": u.Stat.TxDropped,
|
|
"stat_tx_errors": u.Stat.TxErrors,
|
|
"stat_tx_packets": u.Stat.TxPackets,
|
|
"stat_tx_retries": u.Stat.TxRetries,
|
|
"stat_user-rx_bytes": u.Stat.UserRxBytes,
|
|
"stat_user-rx_crypts": u.Stat.UserRxCrypts,
|
|
"stat_user-rx_dropped": u.Stat.UserRxDropped,
|
|
"stat_user-rx_errors": u.Stat.UserRxErrors,
|
|
"stat_user-rx_frags": u.Stat.UserRxFrags,
|
|
"stat_user-rx_packets": u.Stat.UserRxPackets,
|
|
"stat_user-tx_bytes": u.Stat.UserTxBytes,
|
|
"stat_user-tx_dropped": u.Stat.UserTxDropped,
|
|
"stat_user-tx_errors": u.Stat.UserTxErrors,
|
|
"stat_user-tx_packets": u.Stat.UserTxPackets,
|
|
"stat_user-tx_retries": u.Stat.UserTxRetries,
|
|
"stat_user-wifi0-rx_bytes": u.Stat.UserWifi0RxBytes,
|
|
"stat_user-wifi0-rx_crypts": u.Stat.UserWifi0RxCrypts,
|
|
"stat_user-wifi0-rx_dropped": u.Stat.UserWifi0RxDropped,
|
|
"stat_user-wifi0-rx_errors": u.Stat.UserWifi0RxErrors,
|
|
"stat_user-wifi0-rx_frags": u.Stat.UserWifi0RxFrags,
|
|
"stat_user-wifi0-rx_packets": u.Stat.UserWifi0RxPackets,
|
|
"stat_user-wifi0-tx_bytes": u.Stat.UserWifi0TxBytes,
|
|
"stat_user-wifi0-tx_dropped": u.Stat.UserWifi0TxDropped,
|
|
"stat_user-wifi0-tx_errors": u.Stat.UserWifi0TxErrors,
|
|
"stat_user-wifi0-tx_packets": u.Stat.UserWifi0TxPackets,
|
|
"stat_user-wifi0-tx_retries": u.Stat.UserWifi0TxRetries,
|
|
"stat_user-wifi1-rx_bytes": u.Stat.UserWifi1RxBytes,
|
|
"stat_user-wifi1-rx_crypts": u.Stat.UserWifi1RxCrypts,
|
|
"stat_user-wifi1-rx_dropped": u.Stat.UserWifi1RxDropped,
|
|
"stat_user-wifi1-rx_errors": u.Stat.UserWifi1RxErrors,
|
|
"stat_user-wifi1-rx_frags": u.Stat.UserWifi1RxFrags,
|
|
"stat_user-wifi1-rx_packets": u.Stat.UserWifi1RxPackets,
|
|
"stat_user-wifi1-tx_bytes": u.Stat.UserWifi1TxBytes,
|
|
"stat_user-wifi1-tx_dropped": u.Stat.UserWifi1TxDropped,
|
|
"stat_user-wifi1-tx_errors": u.Stat.UserWifi1TxErrors,
|
|
"stat_user-wifi1-tx_packets": u.Stat.UserWifi1TxPackets,
|
|
"stat_user-wifi1-tx_retries": u.Stat.UserWifi1TxRetries,
|
|
"stat_wifi0-rx_bytes": u.Stat.Wifi0RxBytes,
|
|
"stat_wifi0-rx_crypts": u.Stat.Wifi0RxCrypts,
|
|
"stat_wifi0-rx_dropped": u.Stat.Wifi0RxDropped,
|
|
"stat_wifi0-rx_errors": u.Stat.Wifi0RxErrors,
|
|
"stat_wifi0-rx_frags": u.Stat.Wifi0RxFrags,
|
|
"stat_wifi0-rx_packets": u.Stat.Wifi0RxPackets,
|
|
"stat_wifi0-tx_bytes": u.Stat.Wifi0TxBytes,
|
|
"stat_wifi0-tx_dropped": u.Stat.Wifi0TxDropped,
|
|
"stat_wifi0-tx_errors": u.Stat.Wifi0TxErrors,
|
|
"stat_wifi0-tx_packets": u.Stat.Wifi0TxPackets,
|
|
"stat_wifi0-tx_retries": u.Stat.Wifi0TxRetries,
|
|
"stat_wifi1-rx_bytes": u.Stat.Wifi1RxBytes,
|
|
"stat_wifi1-rx_crypts": u.Stat.Wifi1RxCrypts,
|
|
"stat_wifi1-rx_dropped": u.Stat.Wifi1RxDropped,
|
|
"stat_wifi1-rx_errors": u.Stat.Wifi1RxErrors,
|
|
"stat_wifi1-rx_frags": u.Stat.Wifi1RxFrags,
|
|
"stat_wifi1-rx_packets": u.Stat.Wifi1RxPackets,
|
|
"stat_wifi1-tx_bytes": u.Stat.Wifi1TxBytes,
|
|
"stat_wifi1-tx_dropped": u.Stat.Wifi1TxDropped,
|
|
"stat_wifi1-tx_errors": u.Stat.Wifi1TxErrors,
|
|
"stat_wifi1-tx_packets": u.Stat.Wifi1TxPackets,
|
|
"stat_wifi1-tx_retries": u.Stat.Wifi1TxRetries,
|
|
}
|
|
points[0], err = influx.NewPoint("uap", tags, fields, time.Now())
|
|
return
|
|
}
|