Add radio description to each client

This commit is contained in:
davidnewhall2 2019-09-08 03:00:30 -07:00
parent d18e0aa2b7
commit ced7b2dbd7
3 changed files with 8 additions and 2 deletions

View File

@ -30,11 +30,11 @@
version = "v1.0.3" version = "v1.0.3"
[[projects]] [[projects]]
digest = "1:a286f4321072d1a0f7bb70e676181ced458174dc411da501051f3de1a57fddcc" digest = "1:8b8439a870abfe8df15cd9963fe7702d20fc55cd0f2375304b4eecc955b45902"
name = "golift.io/unifi" name = "golift.io/unifi"
packages = ["."] packages = ["."]
pruneopts = "UT" pruneopts = "UT"
revision = "ea8cff6bbf6180f181671b9725bdfc2fe05bc08a" revision = "a96d3c9d2e02e41013974e6595f7df581cf194dc"
version = "v4.1.2" version = "v4.1.2"
[[projects]] [[projects]]

View File

@ -55,6 +55,7 @@ func ClientPoints(c *unifi.Client, now time.Time) ([]*influx.Point, error) {
"ip": c.IP, "ip": c.IP,
"essid": c.Essid, "essid": c.Essid,
"bssid": c.Bssid, "bssid": c.Bssid,
"radio_desc": c.RadioDescription,
"hostname": c.Hostname, "hostname": c.Hostname,
"dpi_stats_last_updated": c.DpiStatsLastUpdated, "dpi_stats_last_updated": c.DpiStatsLastUpdated,
"last_seen_by_uap": c.LastSeenByUAP, "last_seen_by_uap": c.LastSeenByUAP,

View File

@ -117,8 +117,12 @@ func (u *UnifiPoller) CollectMetrics() (*Metrics, error) {
// This function currently adds parent device names to client metrics. // This function currently adds parent device names to client metrics.
func (u *UnifiPoller) AugmentMetrics(metrics *Metrics) error { func (u *UnifiPoller) AugmentMetrics(metrics *Metrics) error {
devices := make(map[string]string) devices := make(map[string]string)
bssdIDs := make(map[string]string)
for _, r := range metrics.UAPs { for _, r := range metrics.UAPs {
devices[r.Mac] = r.Name devices[r.Mac] = r.Name
for _, v := range r.VapTable {
bssdIDs[v.Bssid] = fmt.Sprintf("%s %s %s:", r.Name, v.Radio, v.RadioName)
}
} }
for _, r := range metrics.USGs { for _, r := range metrics.USGs {
devices[r.Mac] = r.Name devices[r.Mac] = r.Name
@ -134,6 +138,7 @@ func (u *UnifiPoller) AugmentMetrics(metrics *Metrics) error {
metrics.Clients[i].SwName = devices[c.SwMac] metrics.Clients[i].SwName = devices[c.SwMac]
metrics.Clients[i].ApName = devices[c.ApMac] metrics.Clients[i].ApName = devices[c.ApMac]
metrics.Clients[i].GwName = devices[c.GwMac] metrics.Clients[i].GwName = devices[c.GwMac]
metrics.Clients[i].RadioDescription = bssdIDs[metrics.Clients[i].Bssid] + metrics.Clients[i].RadioProto
} }
return nil return nil
} }