adds device uplink stats for issue #585
This commit is contained in:
parent
7a4ba7e4a2
commit
4da299ff46
|
|
@ -45,13 +45,17 @@ func (u *DatadogUnifi) batchUBB(r report, s *unifi.UBB) { // nolint: funlen
|
||||||
data := CombineFloat64(
|
data := CombineFloat64(
|
||||||
u.batchSysStats(sysStats, systemStats),
|
u.batchSysStats(sysStats, systemStats),
|
||||||
map[string]float64{
|
map[string]float64{
|
||||||
"bytes": s.Bytes.Val,
|
"bytes": s.Bytes.Val,
|
||||||
"last_seen": s.LastSeen.Val,
|
"last_seen": s.LastSeen.Val,
|
||||||
"rx_bytes": s.RxBytes.Val,
|
"rx_bytes": s.RxBytes.Val,
|
||||||
"tx_bytes": s.TxBytes.Val,
|
"tx_bytes": s.TxBytes.Val,
|
||||||
"uptime": s.Uptime.Val,
|
"uptime": s.Uptime.Val,
|
||||||
"state": s.State.Val,
|
"state": s.State.Val,
|
||||||
"user_num_sta": s.UserNumSta.Val,
|
"user_num_sta": s.UserNumSta.Val,
|
||||||
|
"uplink_speed": s.Uplink.Speed.Val,
|
||||||
|
"uplink_max_speed": s.Uplink.MaxSpeed.Val,
|
||||||
|
"uplink_latency": s.Uplink.Latency.Val,
|
||||||
|
"uplink_uptime": s.Uplink.Uptime.Val,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -64,6 +64,8 @@ func (u *DatadogUnifi) batchUSGstats(ss unifi.SpeedtestStatus, gw *unifi.Gw, ul
|
||||||
return map[string]float64{
|
return map[string]float64{
|
||||||
"uplink_latency": ul.Latency.Val,
|
"uplink_latency": ul.Latency.Val,
|
||||||
"uplink_speed": ul.Speed.Val,
|
"uplink_speed": ul.Speed.Val,
|
||||||
|
"uplink_max_speed": ul.MaxSpeed.Val,
|
||||||
|
"uplink_uptime": ul.Uptime.Val,
|
||||||
"speedtest_status_latency": ss.Latency.Val,
|
"speedtest_status_latency": ss.Latency.Val,
|
||||||
"speedtest_status_runtime": ss.Runtime.Val,
|
"speedtest_status_runtime": ss.Runtime.Val,
|
||||||
"speedtest_status_rundate": ss.Rundate.Val,
|
"speedtest_status_rundate": ss.Rundate.Val,
|
||||||
|
|
|
||||||
|
|
@ -40,6 +40,10 @@ func (u *DatadogUnifi) batchUSW(r report, s *unifi.USW) {
|
||||||
"state": s.State.Val,
|
"state": s.State.Val,
|
||||||
"user_num_sta": s.UserNumSta.Val,
|
"user_num_sta": s.UserNumSta.Val,
|
||||||
"upgradeable": boolToFloat64(s.Upgradeable.Val),
|
"upgradeable": boolToFloat64(s.Upgradeable.Val),
|
||||||
|
"uplink_speed": s.Uplink.Speed.Val,
|
||||||
|
"uplink_max_speed": s.Uplink.MaxSpeed.Val,
|
||||||
|
"uplink_latency": s.Uplink.Latency.Val,
|
||||||
|
"uplink_uptime": s.Uplink.Uptime.Val,
|
||||||
})
|
})
|
||||||
|
|
||||||
r.addCount(uswT)
|
r.addCount(uswT)
|
||||||
|
|
|
||||||
|
|
@ -43,17 +43,21 @@ func (u *DatadogUnifi) batchUXG(r report, s *unifi.UXG) { // nolint: funlen
|
||||||
u.batchUSGstats(s.SpeedtestStatus, gw, s.Uplink),
|
u.batchUSGstats(s.SpeedtestStatus, gw, s.Uplink),
|
||||||
u.batchSysStats(s.SysStats, s.SystemStats),
|
u.batchSysStats(s.SysStats, s.SystemStats),
|
||||||
map[string]float64{
|
map[string]float64{
|
||||||
"bytes": s.Bytes.Val,
|
"bytes": s.Bytes.Val,
|
||||||
"last_seen": s.LastSeen.Val,
|
"last_seen": s.LastSeen.Val,
|
||||||
"guest_num_sta": s.GuestNumSta.Val,
|
"guest_num_sta": s.GuestNumSta.Val,
|
||||||
"rx_bytes": s.RxBytes.Val,
|
"rx_bytes": s.RxBytes.Val,
|
||||||
"tx_bytes": s.TxBytes.Val,
|
"tx_bytes": s.TxBytes.Val,
|
||||||
"uptime": s.Uptime.Val,
|
"uptime": s.Uptime.Val,
|
||||||
"state": s.State.Val,
|
"state": s.State.Val,
|
||||||
"user_num_sta": s.UserNumSta.Val,
|
"user_num_sta": s.UserNumSta.Val,
|
||||||
"num_desktop": s.NumDesktop.Val,
|
"num_desktop": s.NumDesktop.Val,
|
||||||
"num_handheld": s.NumHandheld.Val,
|
"num_handheld": s.NumHandheld.Val,
|
||||||
"num_mobile": s.NumMobile.Val,
|
"num_mobile": s.NumMobile.Val,
|
||||||
|
"uplink_speed": s.Uplink.Speed.Val,
|
||||||
|
"uplink_max_speed": s.Uplink.MaxSpeed.Val,
|
||||||
|
"uplink_latency": s.Uplink.Latency.Val,
|
||||||
|
"uplink_uptime": s.Uplink.Uptime.Val,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -43,17 +43,21 @@ func (u *InfluxUnifi) batchUBB(r report, s *unifi.UBB) { // nolint: funlen
|
||||||
fields := Combine(
|
fields := Combine(
|
||||||
u.batchSysStats(sysStats, systemStats),
|
u.batchSysStats(sysStats, systemStats),
|
||||||
map[string]any{
|
map[string]any{
|
||||||
"source": s.SourceName,
|
"source": s.SourceName,
|
||||||
"ip": s.IP,
|
"ip": s.IP,
|
||||||
"bytes": s.Bytes.Val,
|
"bytes": s.Bytes.Val,
|
||||||
"last_seen": s.LastSeen.Val,
|
"last_seen": s.LastSeen.Val,
|
||||||
"license_state": s.LicenseState,
|
"license_state": s.LicenseState,
|
||||||
"rx_bytes": s.RxBytes.Val,
|
"rx_bytes": s.RxBytes.Val,
|
||||||
"tx_bytes": s.TxBytes.Val,
|
"tx_bytes": s.TxBytes.Val,
|
||||||
"uptime": s.Uptime.Val,
|
"uptime": s.Uptime.Val,
|
||||||
"state": s.State.Val,
|
"state": s.State.Val,
|
||||||
"user-num_sta": s.UserNumSta.Val,
|
"user-num_sta": s.UserNumSta.Val,
|
||||||
"version": s.Version,
|
"version": s.Version,
|
||||||
|
"uplink_speed": s.Uplink.Speed.Val,
|
||||||
|
"uplink_max_speed": s.Uplink.MaxSpeed.Val,
|
||||||
|
"uplink_latency": s.Uplink.Latency.Val,
|
||||||
|
"uplink_uptime": s.Uplink.Uptime.Val,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -63,6 +63,8 @@ func (u *InfluxUnifi) batchUSGstats(ss unifi.SpeedtestStatus, gw *unifi.Gw, ul u
|
||||||
"uplink_name": ul.Name,
|
"uplink_name": ul.Name,
|
||||||
"uplink_latency": ul.Latency.Val,
|
"uplink_latency": ul.Latency.Val,
|
||||||
"uplink_speed": ul.Speed.Val,
|
"uplink_speed": ul.Speed.Val,
|
||||||
|
"uplink_max_speed": ul.MaxSpeed.Val,
|
||||||
|
"uplink_uptime": ul.Uptime.Val,
|
||||||
"uplink_type": ul.Type,
|
"uplink_type": ul.Type,
|
||||||
"speedtest-status_latency": ss.Latency.Val,
|
"speedtest-status_latency": ss.Latency.Val,
|
||||||
"speedtest-status_runtime": ss.Runtime.Val,
|
"speedtest-status_runtime": ss.Runtime.Val,
|
||||||
|
|
|
||||||
|
|
@ -40,6 +40,10 @@ func (u *InfluxUnifi) batchUSW(r report, s *unifi.USW) {
|
||||||
"state": s.State.Val,
|
"state": s.State.Val,
|
||||||
"user-num_sta": s.UserNumSta.Val,
|
"user-num_sta": s.UserNumSta.Val,
|
||||||
"upgradeable": s.Upgradable.Val,
|
"upgradeable": s.Upgradable.Val,
|
||||||
|
"uplink_speed": s.Uplink.Speed.Val,
|
||||||
|
"uplink_max_speed": s.Uplink.MaxSpeed.Val,
|
||||||
|
"uplink_latency": s.Uplink.Latency.Val,
|
||||||
|
"uplink_uptime": s.Uplink.Uptime.Val,
|
||||||
})
|
})
|
||||||
|
|
||||||
r.addCount(uswT)
|
r.addCount(uswT)
|
||||||
|
|
|
||||||
|
|
@ -32,6 +32,8 @@ type usg struct {
|
||||||
Latency *prometheus.Desc
|
Latency *prometheus.Desc
|
||||||
UplinkLatency *prometheus.Desc
|
UplinkLatency *prometheus.Desc
|
||||||
UplinkSpeed *prometheus.Desc
|
UplinkSpeed *prometheus.Desc
|
||||||
|
UplinkMaxSpeed *prometheus.Desc
|
||||||
|
UplinkUptime *prometheus.Desc
|
||||||
Runtime *prometheus.Desc
|
Runtime *prometheus.Desc
|
||||||
Rundate *prometheus.Desc
|
Rundate *prometheus.Desc
|
||||||
XputDownload *prometheus.Desc
|
XputDownload *prometheus.Desc
|
||||||
|
|
@ -65,6 +67,8 @@ func descUSG(ns string) *usg {
|
||||||
LanTxBytes: prometheus.NewDesc(ns+"lan_transmit_bytes_total", "LAN Transmit Bytes Total", labels, nil),
|
LanTxBytes: prometheus.NewDesc(ns+"lan_transmit_bytes_total", "LAN Transmit Bytes Total", labels, nil),
|
||||||
UplinkLatency: prometheus.NewDesc(ns+"uplink_latency_seconds", "Uplink Latency", labels, nil),
|
UplinkLatency: prometheus.NewDesc(ns+"uplink_latency_seconds", "Uplink Latency", labels, nil),
|
||||||
UplinkSpeed: prometheus.NewDesc(ns+"uplink_speed_mbps", "Uplink Speed", labels, nil),
|
UplinkSpeed: prometheus.NewDesc(ns+"uplink_speed_mbps", "Uplink Speed", labels, nil),
|
||||||
|
UplinkMaxSpeed: prometheus.NewDesc(ns+"uplink_max_speed_mbps", "Uplink Max Speed", labels, nil),
|
||||||
|
UplinkUptime: prometheus.NewDesc(ns+"uplink_uptime_seconds", "Uplink Uptime", labels, nil),
|
||||||
Latency: prometheus.NewDesc(ns+"speedtest_latency_seconds", "Speedtest Latency", labels, nil),
|
Latency: prometheus.NewDesc(ns+"speedtest_latency_seconds", "Speedtest Latency", labels, nil),
|
||||||
Runtime: prometheus.NewDesc(ns+"speedtest_runtime_seconds", "Speedtest Run Time", labels, nil),
|
Runtime: prometheus.NewDesc(ns+"speedtest_runtime_seconds", "Speedtest Run Time", labels, nil),
|
||||||
Rundate: prometheus.NewDesc(ns+"speedtest_rundate_seconds", "Speedtest Run Date", labels, nil),
|
Rundate: prometheus.NewDesc(ns+"speedtest_rundate_seconds", "Speedtest Run Date", labels, nil),
|
||||||
|
|
@ -132,6 +136,8 @@ func (u *promUnifi) exportUSGstats(r report, labels []string, gw *unifi.Gw, st u
|
||||||
{u.USG.LanRxDropped, counter, gw.LanRxDropped, labelLan},
|
{u.USG.LanRxDropped, counter, gw.LanRxDropped, labelLan},
|
||||||
{u.USG.UplinkLatency, gauge, ul.Latency.Val / 1000, labelWan},
|
{u.USG.UplinkLatency, gauge, ul.Latency.Val / 1000, labelWan},
|
||||||
{u.USG.UplinkSpeed, gauge, ul.Speed, labelWan},
|
{u.USG.UplinkSpeed, gauge, ul.Speed, labelWan},
|
||||||
|
{u.USG.UplinkMaxSpeed, gauge, ul.MaxSpeed, labelWan},
|
||||||
|
{u.USG.UplinkUptime, gauge, ul.Uptime, labelWan},
|
||||||
// Speed Test Stats
|
// Speed Test Stats
|
||||||
{u.USG.Latency, gauge, st.Latency.Val / 1000, labelWan},
|
{u.USG.Latency, gauge, st.Latency.Val / 1000, labelWan},
|
||||||
{u.USG.Runtime, gauge, st.Runtime, labelWan},
|
{u.USG.Runtime, gauge, st.Runtime, labelWan},
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue