commit
35ee99a79c
|
|
@ -169,7 +169,8 @@ func (u UAP) Points() ([]*influx.Point, error) {
|
||||||
|
|
||||||
tags = make(map[string]string)
|
tags = make(map[string]string)
|
||||||
fields = make(map[string]interface{})
|
fields = make(map[string]interface{})
|
||||||
// Loop each virtual AP (ESSID) and extract data for it from radio_tables and radio_table_stats.
|
// Loop each virtual AP (ESSID) and extract data for it
|
||||||
|
// from radio_tables and radio_table_stats.
|
||||||
for _, s := range u.VapTable {
|
for _, s := range u.VapTable {
|
||||||
tags["device_name"] = u.Name
|
tags["device_name"] = u.Name
|
||||||
tags["device_id"] = u.ID
|
tags["device_id"] = u.ID
|
||||||
|
|
@ -226,6 +227,7 @@ func (u UAP) Points() ([]*influx.Point, error) {
|
||||||
fields["wifi_tx_latency_mov_min"] = s.WifiTxLatencyMov.Min.Val
|
fields["wifi_tx_latency_mov_min"] = s.WifiTxLatencyMov.Min.Val
|
||||||
fields["wifi_tx_latency_mov_total"] = s.WifiTxLatencyMov.Total.Val
|
fields["wifi_tx_latency_mov_total"] = s.WifiTxLatencyMov.Total.Val
|
||||||
fields["wifi_tx_latency_mov_cuont"] = s.WifiTxLatencyMov.TotalCount.Val
|
fields["wifi_tx_latency_mov_cuont"] = s.WifiTxLatencyMov.TotalCount.Val
|
||||||
|
|
||||||
for _, p := range u.RadioTable {
|
for _, p := range u.RadioTable {
|
||||||
if p.Name != s.RadioName {
|
if p.Name != s.RadioName {
|
||||||
continue
|
continue
|
||||||
|
|
@ -242,9 +244,8 @@ func (u UAP) Points() ([]*influx.Point, error) {
|
||||||
fields["radio_caps"] = p.RadioCaps.Val
|
fields["radio_caps"] = p.RadioCaps.Val
|
||||||
fields["tx_power"] = p.TxPower.Val
|
fields["tx_power"] = p.TxPower.Val
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, p := range u.RadioTableStats {
|
for _, p := range u.RadioTableStats {
|
||||||
// This may be a tad slower but it allows putting
|
|
||||||
// all the radio stats into one table.
|
|
||||||
if p.Name != s.RadioName {
|
if p.Name != s.RadioName {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
@ -263,6 +264,7 @@ func (u UAP) Points() ([]*influx.Point, error) {
|
||||||
fields["tx_retries"] = p.TxRetries.Val
|
fields["tx_retries"] = p.TxRetries.Val
|
||||||
fields["user-num_sta"] = p.UserNumSta.Val
|
fields["user-num_sta"] = p.UserNumSta.Val
|
||||||
}
|
}
|
||||||
|
|
||||||
pt, err := influx.NewPoint("uap_vaps", tags, fields, time.Now())
|
pt, err := influx.NewPoint("uap_vaps", tags, fields, time.Now())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return points, err
|
return points, err
|
||||||
|
|
|
||||||
|
|
@ -18,16 +18,10 @@ func (u USW) Points() ([]*influx.Point, error) {
|
||||||
"site_name": u.SiteName,
|
"site_name": u.SiteName,
|
||||||
"name": u.Name,
|
"name": u.Name,
|
||||||
"adopted": u.Adopted.Txt,
|
"adopted": u.Adopted.Txt,
|
||||||
"adopt_ip": u.AdoptIP,
|
|
||||||
"adopt_url": u.AdoptURL,
|
|
||||||
"cfgversion": u.Cfgversion,
|
"cfgversion": u.Cfgversion,
|
||||||
"config_network_ip": u.ConfigNetwork.IP,
|
"config_network_ip": u.ConfigNetwork.IP,
|
||||||
"config_network_type": u.ConfigNetwork.Type,
|
"config_network_type": u.ConfigNetwork.Type,
|
||||||
"connect_request_ip": u.ConnectRequestIP,
|
|
||||||
"connect_request_port": u.ConnectRequestPort,
|
|
||||||
"default": u.Default.Txt,
|
|
||||||
"device_id": u.DeviceID,
|
"device_id": u.DeviceID,
|
||||||
"discovered_via": u.DiscoveredVia,
|
|
||||||
"inform_ip": u.InformIP,
|
"inform_ip": u.InformIP,
|
||||||
"last_uplink_mac": u.LastUplink.UplinkMac,
|
"last_uplink_mac": u.LastUplink.UplinkMac,
|
||||||
"known_cfgversion": u.KnownCfgversion,
|
"known_cfgversion": u.KnownCfgversion,
|
||||||
|
|
@ -37,7 +31,6 @@ func (u USW) Points() ([]*influx.Point, error) {
|
||||||
"outdoor_mode_override": u.OutdoorModeOverride,
|
"outdoor_mode_override": u.OutdoorModeOverride,
|
||||||
"serial": u.Serial,
|
"serial": u.Serial,
|
||||||
"type": u.Type,
|
"type": u.Type,
|
||||||
"version_incompatible": u.VersionIncompatible.Txt,
|
|
||||||
"dot1x_portctrl_enabled": u.Dot1XPortctrlEnabled.Txt,
|
"dot1x_portctrl_enabled": u.Dot1XPortctrlEnabled.Txt,
|
||||||
"flowctrl_enabled": u.FlowctrlEnabled.Txt,
|
"flowctrl_enabled": u.FlowctrlEnabled.Txt,
|
||||||
"has_fan": u.HasFan.Txt,
|
"has_fan": u.HasFan.Txt,
|
||||||
|
|
@ -47,58 +40,56 @@ func (u USW) Points() ([]*influx.Point, error) {
|
||||||
"stp_version": u.StpVersion,
|
"stp_version": u.StpVersion,
|
||||||
}
|
}
|
||||||
fields := map[string]interface{}{
|
fields := map[string]interface{}{
|
||||||
"fw_caps": u.FwCaps,
|
"fw_caps": u.FwCaps.Val,
|
||||||
"guest-num_sta": u.GuestNumSta,
|
"guest-num_sta": u.GuestNumSta.Val,
|
||||||
"ip": u.IP,
|
"ip": u.IP,
|
||||||
"bytes": u.Bytes,
|
"bytes": u.Bytes.Val,
|
||||||
"fan_level": u.FanLevel,
|
"fan_level": u.FanLevel.Val,
|
||||||
"general_temperature": u.GeneralTemperature,
|
"general_temperature": u.GeneralTemperature.Val,
|
||||||
"last_seen": u.LastSeen,
|
"last_seen": u.LastSeen.Val,
|
||||||
"license_state": u.LicenseState,
|
"license_state": u.LicenseState,
|
||||||
"overheating": u.Overheating.Val,
|
"overheating": u.Overheating.Val,
|
||||||
"rx_bytes": u.RxBytes,
|
"rx_bytes": u.RxBytes.Val,
|
||||||
"tx_bytes": u.TxBytes,
|
"tx_bytes": u.TxBytes.Val,
|
||||||
"uptime": u.Uptime,
|
"uptime": u.Uptime.Val,
|
||||||
"considered_lost_at": u.ConsideredLostAt,
|
|
||||||
"next_heartbeat_at": u.NextHeartbeatAt,
|
|
||||||
"roll_upgrade": u.Rollupgrade.Val,
|
"roll_upgrade": u.Rollupgrade.Val,
|
||||||
"state": u.State,
|
"state": u.State.Val,
|
||||||
"upgradable": u.Upgradable.Val,
|
"upgradable": u.Upgradable.Val,
|
||||||
"user-num_sta": u.UserNumSta,
|
"user-num_sta": u.UserNumSta.Val,
|
||||||
"version": u.Version,
|
"version": u.Version,
|
||||||
"loadavg_1": u.SysStats.Loadavg1,
|
"loadavg_1": u.SysStats.Loadavg1.Val,
|
||||||
"loadavg_5": u.SysStats.Loadavg5,
|
"loadavg_5": u.SysStats.Loadavg5.Val,
|
||||||
"loadavg_15": u.SysStats.Loadavg15,
|
"loadavg_15": u.SysStats.Loadavg15.Val,
|
||||||
"mem_buffer": u.SysStats.MemBuffer,
|
"mem_buffer": u.SysStats.MemBuffer.Val,
|
||||||
"mem_used": u.SysStats.MemUsed,
|
"mem_used": u.SysStats.MemUsed.Val,
|
||||||
"mem_total": u.SysStats.MemTotal,
|
"mem_total": u.SysStats.MemTotal.Val,
|
||||||
"cpu": u.SystemStats.CPU,
|
"cpu": u.SystemStats.CPU.Val,
|
||||||
"mem": u.SystemStats.Mem,
|
"mem": u.SystemStats.Mem.Val,
|
||||||
"system_uptime": u.SystemStats.Uptime,
|
"system_uptime": u.SystemStats.Uptime.Val,
|
||||||
"stat_bytes": u.Stat.Bytes,
|
"stat_bytes": u.Stat.Bytes.Val,
|
||||||
"stat_duration": u.Stat.Duration,
|
"stat_duration": u.Stat.Duration.Val,
|
||||||
"stat_guest-rx_bytes": u.Stat.RxBytes,
|
"stat_guest-rx_bytes": u.Stat.RxBytes.Val,
|
||||||
"stat_guest-rx_crypts": u.Stat.RxCrypts,
|
"stat_guest-rx_crypts": u.Stat.RxCrypts.Val,
|
||||||
"stat_guest-rx_dropped": u.Stat.RxDropped,
|
"stat_guest-rx_dropped": u.Stat.RxDropped.Val,
|
||||||
"stat_guest-rx_errors": u.Stat.RxErrors,
|
"stat_guest-rx_errors": u.Stat.RxErrors.Val,
|
||||||
"stat_guest-rx_frags": u.Stat.RxFrags,
|
"stat_guest-rx_frags": u.Stat.RxFrags.Val,
|
||||||
"stat_guest-rx_packets": u.Stat.RxPackets,
|
"stat_guest-rx_packets": u.Stat.RxPackets.Val,
|
||||||
"stat_guest-tx_bytes": u.Stat.TxBytes,
|
"stat_guest-tx_bytes": u.Stat.TxBytes.Val,
|
||||||
"stat_guest-tx_dropped": u.Stat.TxDropped,
|
"stat_guest-tx_dropped": u.Stat.TxDropped.Val,
|
||||||
"stat_guest-tx_errors": u.Stat.TxErrors,
|
"stat_guest-tx_errors": u.Stat.TxErrors.Val,
|
||||||
"stat_guest-tx_packets": u.Stat.TxPackets,
|
"stat_guest-tx_packets": u.Stat.TxPackets.Val,
|
||||||
"stat_guest-tx_retries": u.Stat.TxRetries,
|
"stat_guest-tx_retries": u.Stat.TxRetries.Val,
|
||||||
"stat_rx_bytes": u.Stat.RxBytes,
|
"stat_rx_bytes": u.Stat.RxBytes.Val,
|
||||||
"stat_rx_crypts": u.Stat.RxCrypts,
|
"stat_rx_crypts": u.Stat.RxCrypts.Val,
|
||||||
"stat_rx_dropped": u.Stat.RxDropped,
|
"stat_rx_dropped": u.Stat.RxDropped.Val,
|
||||||
"stat_rx_errors": u.Stat.RxErrors,
|
"stat_rx_errors": u.Stat.RxErrors.Val,
|
||||||
"stat_rx_frags": u.Stat.RxFrags,
|
"stat_rx_frags": u.Stat.RxFrags.Val,
|
||||||
"stat_rx_packets": u.Stat.TxPackets,
|
"stat_rx_packets": u.Stat.TxPackets.Val,
|
||||||
"stat_tx_bytes": u.Stat.TxBytes,
|
"stat_tx_bytes": u.Stat.TxBytes.Val,
|
||||||
"stat_tx_dropped": u.Stat.TxDropped,
|
"stat_tx_dropped": u.Stat.TxDropped.Val,
|
||||||
"stat_tx_errors": u.Stat.TxErrors,
|
"stat_tx_errors": u.Stat.TxErrors.Val,
|
||||||
"stat_tx_packets": u.Stat.TxPackets,
|
"stat_tx_packets": u.Stat.TxPackets.Val,
|
||||||
"stat_tx_retries": u.Stat.TxRetries,
|
"stat_tx_retries": u.Stat.TxRetries.Val,
|
||||||
"uplink_depth": u.UplinkDepth.Txt,
|
"uplink_depth": u.UplinkDepth.Txt,
|
||||||
// Add the port stats too.
|
// Add the port stats too.
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,416 +1,368 @@
|
||||||
package unifi
|
package unifi
|
||||||
|
|
||||||
|
import "time"
|
||||||
|
|
||||||
// USW represents all the data from the Ubiquiti Controller for a Unifi Switch.
|
// USW represents all the data from the Ubiquiti Controller for a Unifi Switch.
|
||||||
type USW struct {
|
type USW struct {
|
||||||
|
SiteName string `json:"-"`
|
||||||
ID string `json:"_id"`
|
ID string `json:"_id"`
|
||||||
UUptime float64 `json:"_uptime"`
|
|
||||||
AdoptIP string `json:"adopt_ip"`
|
|
||||||
AdoptURL string `json:"adopt_url"`
|
|
||||||
Adopted FlexBool `json:"adopted"`
|
Adopted FlexBool `json:"adopted"`
|
||||||
BoardRev float64 `json:"board_rev"`
|
BoardRev FlexInt `json:"board_rev"`
|
||||||
Bytes float64 `json:"bytes"`
|
|
||||||
Cfgversion string `json:"cfgversion"`
|
Cfgversion string `json:"cfgversion"`
|
||||||
ConfigNetwork struct {
|
ConfigNetwork struct {
|
||||||
IP string `json:"ip"`
|
|
||||||
Type string `json:"type"`
|
Type string `json:"type"`
|
||||||
|
IP string `json:"ip"`
|
||||||
} `json:"config_network"`
|
} `json:"config_network"`
|
||||||
ConnectRequestIP string `json:"connect_request_ip"`
|
Dot1XPortctrlEnabled FlexBool `json:"dot1x_portctrl_enabled"`
|
||||||
ConnectRequestPort string `json:"connect_request_port"`
|
EthernetTable []struct {
|
||||||
ConsideredLostAt float64 `json:"considered_lost_at"`
|
|
||||||
Default FlexBool `json:"default"`
|
|
||||||
DeviceID string `json:"device_id"`
|
|
||||||
DhcpServerTable []interface{} `json:"dhcp_server_table"`
|
|
||||||
DiscoveredVia string `json:"discovered_via"`
|
|
||||||
Dot1XPortctrlEnabled FlexBool `json:"dot1x_portctrl_enabled"`
|
|
||||||
DownlinkTable []struct {
|
|
||||||
FullDuplex FlexBool `json:"full_duplex"`
|
|
||||||
Mac string `json:"mac"`
|
|
||||||
PortIdx float64 `json:"port_idx"`
|
|
||||||
Speed float64 `json:"speed"`
|
|
||||||
} `json:"downlink_table"`
|
|
||||||
EthernetTable []struct {
|
|
||||||
Mac string `json:"mac"`
|
Mac string `json:"mac"`
|
||||||
|
NumPort FlexInt `json:"num_port,omitempty"`
|
||||||
Name string `json:"name"`
|
Name string `json:"name"`
|
||||||
NumPort float64 `json:"num_port,omitempty"`
|
|
||||||
} `json:"ethernet_table"`
|
} `json:"ethernet_table"`
|
||||||
FanLevel float64 `json:"fan_level"`
|
FlowctrlEnabled FlexBool `json:"flowctrl_enabled"`
|
||||||
FlowctrlEnabled FlexBool `json:"flowctrl_enabled"`
|
FwCaps FlexInt `json:"fw_caps"`
|
||||||
FwCaps float64 `json:"fw_caps"`
|
HasFan FlexBool `json:"has_fan"`
|
||||||
GeneralTemperature float64 `json:"general_temperature"`
|
HasTemperature FlexBool `json:"has_temperature"`
|
||||||
GuestNumSta float64 `json:"guest-num_sta"`
|
InformIP string `json:"inform_ip"`
|
||||||
HasFan FlexBool `json:"has_fan"`
|
InformURL string `json:"inform_url"`
|
||||||
HasTemperature FlexBool `json:"has_temperature"`
|
IP string `json:"ip"`
|
||||||
InformIP string `json:"inform_ip"`
|
JumboframeEnabled FlexBool `json:"jumboframe_enabled"`
|
||||||
InformURL string `json:"inform_url"`
|
|
||||||
IP string `json:"ip"`
|
|
||||||
JumboframeEnabled FlexBool `json:"jumboframe_enabled"`
|
|
||||||
KnownCfgversion string `json:"known_cfgversion"`
|
|
||||||
LastSeen float64 `json:"last_seen"`
|
|
||||||
LastUplink struct {
|
|
||||||
UplinkMac string `json:"uplink_mac"`
|
|
||||||
} `json:"last_uplink"`
|
|
||||||
LedOverride string `json:"led_override"`
|
LedOverride string `json:"led_override"`
|
||||||
LicenseState string `json:"license_state"`
|
LicenseState string `json:"license_state"`
|
||||||
Locating FlexBool `json:"locating"`
|
|
||||||
Mac string `json:"mac"`
|
Mac string `json:"mac"`
|
||||||
Model string `json:"model"`
|
Model string `json:"model"`
|
||||||
Name string `json:"name"`
|
Name string `json:"name"`
|
||||||
NextHeartbeatAt float64 `json:"next_heartbeat_at"`
|
|
||||||
NumSta float64 `json:"num_sta"`
|
|
||||||
OutdoorModeOverride string `json:"outdoor_mode_override"`
|
OutdoorModeOverride string `json:"outdoor_mode_override"`
|
||||||
Overheating FlexBool `json:"overheating"`
|
|
||||||
PortOverrides []struct {
|
PortOverrides []struct {
|
||||||
Name string `json:"name,omitempty"`
|
Name string `json:"name,omitempty"`
|
||||||
PoeMode string `json:"poe_mode,omitempty"`
|
PoeMode string `json:"poe_mode,omitempty"`
|
||||||
PortIdx float64 `json:"port_idx"`
|
PortIdx FlexInt `json:"port_idx"`
|
||||||
PortconfID string `json:"portconf_id"`
|
PortconfID string `json:"portconf_id"`
|
||||||
} `json:"port_overrides"`
|
} `json:"port_overrides"`
|
||||||
PortTable []struct {
|
PortTable []struct {
|
||||||
AggregatedBy FlexBool `json:"aggregated_by"`
|
PortIdx FlexInt `json:"port_idx"`
|
||||||
Autoneg FlexBool `json:"autoneg"`
|
Media string `json:"media"`
|
||||||
BytesR FlexInt `json:"bytes-r"`
|
PortPoe FlexBool `json:"port_poe"`
|
||||||
Dot1XMode string `json:"dot1x_mode"`
|
PoeCaps FlexInt `json:"poe_caps"`
|
||||||
Dot1XStatus string `json:"dot1x_status"`
|
SpeedCaps FlexInt `json:"speed_caps"`
|
||||||
Enable FlexBool `json:"enable"`
|
OpMode string `json:"op_mode"`
|
||||||
FlowctrlRx FlexBool `json:"flowctrl_rx"`
|
PortconfID string `json:"portconf_id"`
|
||||||
FlowctrlTx FlexBool `json:"flowctrl_tx"`
|
PoeMode string `json:"poe_mode,omitempty"`
|
||||||
FullDuplex FlexBool `json:"full_duplex"`
|
Autoneg FlexBool `json:"autoneg"`
|
||||||
IsUplink FlexBool `json:"is_uplink"`
|
Dot1XMode string `json:"dot1x_mode"`
|
||||||
Jumbo FlexBool `json:"jumbo"`
|
Dot1XStatus string `json:"dot1x_status"`
|
||||||
LldpTable []interface{} `json:"lldp_table"`
|
Enable FlexBool `json:"enable"`
|
||||||
Masked FlexBool `json:"masked"`
|
FlowctrlRx FlexBool `json:"flowctrl_rx"`
|
||||||
Media string `json:"media"`
|
FlowctrlTx FlexBool `json:"flowctrl_tx"`
|
||||||
Name string `json:"name"`
|
FullDuplex FlexBool `json:"full_duplex"`
|
||||||
OpMode string `json:"op_mode"`
|
IsUplink FlexBool `json:"is_uplink"`
|
||||||
PoeCaps FlexInt `json:"poe_caps"`
|
Jumbo FlexBool `json:"jumbo"`
|
||||||
PoeClass string `json:"poe_class,omitempty"`
|
PoeClass string `json:"poe_class,omitempty"`
|
||||||
PoeCurrent FlexInt `json:"poe_current,omitempty"`
|
PoeCurrent FlexInt `json:"poe_current,omitempty"`
|
||||||
PoeEnable FlexBool `json:"poe_enable,omitempty"`
|
PoeEnable FlexBool `json:"poe_enable,omitempty"`
|
||||||
PoeGood FlexBool `json:"poe_good,omitempty"`
|
PoeGood FlexBool `json:"poe_good,omitempty"`
|
||||||
PoeMode string `json:"poe_mode,omitempty"`
|
PoePower FlexInt `json:"poe_power,omitempty"`
|
||||||
PoePower FlexInt `json:"poe_power,omitempty"`
|
PoeVoltage FlexInt `json:"poe_voltage,omitempty"`
|
||||||
PoeVoltage FlexInt `json:"poe_voltage,omitempty"`
|
RxBroadcast FlexInt `json:"rx_broadcast"`
|
||||||
PortIdx FlexInt `json:"port_idx"`
|
RxBytes FlexInt `json:"rx_bytes"`
|
||||||
PortPoe FlexBool `json:"port_poe"`
|
RxDropped FlexInt `json:"rx_dropped"`
|
||||||
PortconfID string `json:"portconf_id"`
|
RxErrors FlexInt `json:"rx_errors"`
|
||||||
RxBroadcast FlexInt `json:"rx_broadcast"`
|
RxMulticast FlexInt `json:"rx_multicast"`
|
||||||
RxBytes FlexInt `json:"rx_bytes"`
|
RxPackets FlexInt `json:"rx_packets"`
|
||||||
RxBytesR FlexInt `json:"rx_bytes-r"`
|
Satisfaction FlexInt `json:"satisfaction"`
|
||||||
RxDropped FlexInt `json:"rx_dropped"`
|
Speed FlexInt `json:"speed"`
|
||||||
RxErrors FlexInt `json:"rx_errors"`
|
StpPathcost FlexInt `json:"stp_pathcost"`
|
||||||
RxMulticast FlexInt `json:"rx_multicast"`
|
StpState string `json:"stp_state"`
|
||||||
RxPackets FlexInt `json:"rx_packets"`
|
TxBroadcast FlexInt `json:"tx_broadcast"`
|
||||||
Speed FlexInt `json:"speed"`
|
TxBytes FlexInt `json:"tx_bytes"`
|
||||||
StpPathcost FlexInt `json:"stp_pathcost"`
|
TxDropped FlexInt `json:"tx_dropped"`
|
||||||
StpState string `json:"stp_state"`
|
TxErrors FlexInt `json:"tx_errors"`
|
||||||
TxBroadcast FlexInt `json:"tx_broadcast"`
|
TxMulticast FlexInt `json:"tx_multicast"`
|
||||||
TxBytes FlexInt `json:"tx_bytes"`
|
TxPackets FlexInt `json:"tx_packets"`
|
||||||
TxBytesR FlexInt `json:"tx_bytes-r"`
|
Up FlexBool `json:"up"`
|
||||||
TxDropped FlexInt `json:"tx_dropped"`
|
TxBytesR FlexInt `json:"tx_bytes-r"`
|
||||||
TxErrors FlexInt `json:"tx_errors"`
|
RxBytesR FlexInt `json:"rx_bytes-r"`
|
||||||
TxMulticast FlexInt `json:"tx_multicast"`
|
BytesR FlexInt `json:"bytes-r"`
|
||||||
TxPackets FlexInt `json:"tx_packets"`
|
Name string `json:"name"`
|
||||||
Up FlexBool `json:"up"`
|
Masked FlexBool `json:"masked"`
|
||||||
SfpFound FlexBool `json:"sfp_found,omitempty"`
|
AggregatedBy FlexBool `json:"aggregated_by"`
|
||||||
|
SfpFound FlexBool `json:"sfp_found,omitempty"`
|
||||||
} `json:"port_table"`
|
} `json:"port_table"`
|
||||||
Rollupgrade FlexBool `json:"rollupgrade"`
|
Serial string `json:"serial"`
|
||||||
RxBytes float64 `json:"rx_bytes"`
|
SiteID string `json:"site_id"`
|
||||||
Serial string `json:"serial"`
|
StpPriority string `json:"stp_priority"`
|
||||||
SiteID string `json:"site_id"`
|
StpVersion string `json:"stp_version"`
|
||||||
SiteName string `json:"-"`
|
Type string `json:"type"`
|
||||||
SSHSessionTable []interface{} `json:"ssh_session_table"`
|
Version string `json:"version"`
|
||||||
|
RequiredVersion string `json:"required_version"`
|
||||||
Stat struct {
|
SwitchCaps struct {
|
||||||
Bytes float64 `json:"bytes"`
|
FeatureCaps FlexInt `json:"feature_caps"`
|
||||||
Datetime string `json:"datetime"`
|
MaxMirrorSessions FlexInt `json:"max_mirror_sessions"`
|
||||||
Duration float64 `json:"duration"`
|
MaxAggregateSessions FlexInt `json:"max_aggregate_sessions"`
|
||||||
O string `json:"o"`
|
} `json:"switch_caps"`
|
||||||
Oid string `json:"oid"`
|
HwCaps FlexInt `json:"hw_caps"`
|
||||||
Port1RxBroadcast float64 `json:"port_1-rx_broadcast"`
|
Unsupported FlexBool `json:"unsupported"`
|
||||||
Port1RxBytes float64 `json:"port_1-rx_bytes"`
|
UnsupportedReason FlexInt `json:"unsupported_reason"`
|
||||||
Port1RxDropped float64 `json:"port_1-rx_dropped"`
|
SysErrorCaps FlexInt `json:"sys_error_caps"`
|
||||||
Port1RxMulticast float64 `json:"port_1-rx_multicast"`
|
DeviceID string `json:"device_id"`
|
||||||
Port1RxPackets float64 `json:"port_1-rx_packets"`
|
State FlexInt `json:"state"`
|
||||||
Port1TxBroadcast float64 `json:"port_1-tx_broadcast"`
|
LastSeen FlexInt `json:"last_seen"`
|
||||||
Port1TxBytes float64 `json:"port_1-tx_bytes"`
|
Upgradable FlexBool `json:"upgradable"`
|
||||||
Port1TxMulticast float64 `json:"port_1-tx_multicast"`
|
AdoptableWhenUpgraded FlexBool `json:"adoptable_when_upgraded"`
|
||||||
Port1TxPackets float64 `json:"port_1-tx_packets"`
|
Rollupgrade FlexBool `json:"rollupgrade"`
|
||||||
Port2RxBroadcast float64 `json:"port_2-rx_broadcast"`
|
KnownCfgversion string `json:"known_cfgversion"`
|
||||||
Port2RxBytes float64 `json:"port_2-rx_bytes"`
|
Uptime FlexInt `json:"uptime"`
|
||||||
Port2RxDropped float64 `json:"port_2-rx_dropped"`
|
Locating FlexBool `json:"locating"`
|
||||||
Port2RxMulticast float64 `json:"port_2-rx_multicast"`
|
ConnectRequestIP string `json:"connect_request_ip"`
|
||||||
Port2RxPackets float64 `json:"port_2-rx_packets"`
|
ConnectRequestPort string `json:"connect_request_port"`
|
||||||
Port2TxBroadcast float64 `json:"port_2-tx_broadcast"`
|
SysStats struct {
|
||||||
Port2TxBytes float64 `json:"port_2-tx_bytes"`
|
Loadavg1 FlexInt `json:"loadavg_1"`
|
||||||
Port2TxMulticast float64 `json:"port_2-tx_multicast"`
|
Loadavg15 FlexInt `json:"loadavg_15"`
|
||||||
Port2TxPackets float64 `json:"port_2-tx_packets"`
|
Loadavg5 FlexInt `json:"loadavg_5"`
|
||||||
Port3RxBroadcast float64 `json:"port_3-rx_broadcast"`
|
MemBuffer FlexInt `json:"mem_buffer"`
|
||||||
Port3RxBytes float64 `json:"port_3-rx_bytes"`
|
MemTotal FlexInt `json:"mem_total"`
|
||||||
Port3RxDropped float64 `json:"port_3-rx_dropped"`
|
MemUsed FlexInt `json:"mem_used"`
|
||||||
Port3RxMulticast float64 `json:"port_3-rx_multicast"`
|
|
||||||
Port3RxPackets float64 `json:"port_3-rx_packets"`
|
|
||||||
Port3TxBroadcast float64 `json:"port_3-tx_broadcast"`
|
|
||||||
Port3TxBytes float64 `json:"port_3-tx_bytes"`
|
|
||||||
Port3TxMulticast float64 `json:"port_3-tx_multicast"`
|
|
||||||
Port3TxPackets float64 `json:"port_3-tx_packets"`
|
|
||||||
Port4RxBroadcast float64 `json:"port_4-rx_broadcast"`
|
|
||||||
Port4RxBytes float64 `json:"port_4-rx_bytes"`
|
|
||||||
Port4RxDropped float64 `json:"port_4-rx_dropped"`
|
|
||||||
Port4RxMulticast float64 `json:"port_4-rx_multicast"`
|
|
||||||
Port4RxPackets float64 `json:"port_4-rx_packets"`
|
|
||||||
Port4TxBroadcast float64 `json:"port_4-tx_broadcast"`
|
|
||||||
Port4TxBytes float64 `json:"port_4-tx_bytes"`
|
|
||||||
Port4TxMulticast float64 `json:"port_4-tx_multicast"`
|
|
||||||
Port4TxPackets float64 `json:"port_4-tx_packets"`
|
|
||||||
Port5RxBroadcast float64 `json:"port_5-rx_broadcast"`
|
|
||||||
Port5RxBytes float64 `json:"port_5-rx_bytes"`
|
|
||||||
Port5RxDropped float64 `json:"port_5-rx_dropped"`
|
|
||||||
Port5RxMulticast float64 `json:"port_5-rx_multicast"`
|
|
||||||
Port5RxPackets float64 `json:"port_5-rx_packets"`
|
|
||||||
Port5TxBroadcast float64 `json:"port_5-tx_broadcast"`
|
|
||||||
Port5TxBytes float64 `json:"port_5-tx_bytes"`
|
|
||||||
Port5TxMulticast float64 `json:"port_5-tx_multicast"`
|
|
||||||
Port5TxPackets float64 `json:"port_5-tx_packets"`
|
|
||||||
Port6RxBroadcast float64 `json:"port_6-rx_broadcast"`
|
|
||||||
Port6RxBytes float64 `json:"port_6-rx_bytes"`
|
|
||||||
Port6RxDropped float64 `json:"port_6-rx_dropped"`
|
|
||||||
Port6RxMulticast float64 `json:"port_6-rx_multicast"`
|
|
||||||
Port6RxPackets float64 `json:"port_6-rx_packets"`
|
|
||||||
Port6TxBroadcast float64 `json:"port_6-tx_broadcast"`
|
|
||||||
Port6TxBytes float64 `json:"port_6-tx_bytes"`
|
|
||||||
Port6TxMulticast float64 `json:"port_6-tx_multicast"`
|
|
||||||
Port6TxPackets float64 `json:"port_6-tx_packets"`
|
|
||||||
Port7RxBroadcast float64 `json:"port_7-rx_broadcast"`
|
|
||||||
Port7RxBytes float64 `json:"port_7-rx_bytes"`
|
|
||||||
Port7RxDropped float64 `json:"port_7-rx_dropped"`
|
|
||||||
Port7RxMulticast float64 `json:"port_7-rx_multicast"`
|
|
||||||
Port7RxPackets float64 `json:"port_7-rx_packets"`
|
|
||||||
Port7TxBroadcast float64 `json:"port_7-tx_broadcast"`
|
|
||||||
Port7TxBytes float64 `json:"port_7-tx_bytes"`
|
|
||||||
Port7TxMulticast float64 `json:"port_7-tx_multicast"`
|
|
||||||
Port7TxPackets float64 `json:"port_7-tx_packets"`
|
|
||||||
Port8RxBroadcast float64 `json:"port_8-rx_broadcast"`
|
|
||||||
Port8RxBytes float64 `json:"port_8-rx_bytes"`
|
|
||||||
Port8RxDropped float64 `json:"port_8-rx_dropped"`
|
|
||||||
Port8RxMulticast float64 `json:"port_8-rx_multicast"`
|
|
||||||
Port8RxPackets float64 `json:"port_8-rx_packets"`
|
|
||||||
Port8TxBroadcast float64 `json:"port_8-tx_broadcast"`
|
|
||||||
Port8TxBytes float64 `json:"port_8-tx_bytes"`
|
|
||||||
Port8TxMulticast float64 `json:"port_8-tx_multicast"`
|
|
||||||
Port8TxPackets float64 `json:"port_8-tx_packets"`
|
|
||||||
Port9RxBroadcast float64 `json:"port_9-rx_broadcast"`
|
|
||||||
Port9RxBytes float64 `json:"port_9-rx_bytes"`
|
|
||||||
Port9RxDropped float64 `json:"port_9-rx_dropped"`
|
|
||||||
Port9RxMulticast float64 `json:"port_9-rx_multicast"`
|
|
||||||
Port9RxPackets float64 `json:"port_9-rx_packets"`
|
|
||||||
Port9TxBroadcast float64 `json:"port_9-tx_broadcast"`
|
|
||||||
Port9TxBytes float64 `json:"port_9-tx_bytes"`
|
|
||||||
Port9TxMulticast float64 `json:"port_9-tx_multicast"`
|
|
||||||
Port9TxPackets float64 `json:"port_9-tx_packets"`
|
|
||||||
Port10RxBroadcast float64 `json:"port_10-rx_broadcast"`
|
|
||||||
Port10RxBytes float64 `json:"port_10-rx_bytes"`
|
|
||||||
Port10RxDropped float64 `json:"port_10-rx_dropped"`
|
|
||||||
Port10RxMulticast float64 `json:"port_10-rx_multicast"`
|
|
||||||
Port10RxPackets float64 `json:"port_10-rx_packets"`
|
|
||||||
Port10TxBroadcast float64 `json:"port_10-tx_broadcast"`
|
|
||||||
Port10TxBytes float64 `json:"port_10-tx_bytes"`
|
|
||||||
Port10TxMulticast float64 `json:"port_10-tx_multicast"`
|
|
||||||
Port10TxPackets float64 `json:"port_10-tx_packets"`
|
|
||||||
Port11RxBroadcast float64 `json:"port_11-rx_broadcast"`
|
|
||||||
Port11RxBytes float64 `json:"port_11-rx_bytes"`
|
|
||||||
Port11RxDropped float64 `json:"port_11-rx_dropped"`
|
|
||||||
Port11RxMulticast float64 `json:"port_11-rx_multicast"`
|
|
||||||
Port11RxPackets float64 `json:"port_11-rx_packets"`
|
|
||||||
Port11TxBroadcast float64 `json:"port_11-tx_broadcast"`
|
|
||||||
Port11TxBytes float64 `json:"port_11-tx_bytes"`
|
|
||||||
Port11TxMulticast float64 `json:"port_11-tx_multicast"`
|
|
||||||
Port11TxPackets float64 `json:"port_11-tx_packets"`
|
|
||||||
Port12RxBroadcast float64 `json:"port_12-rx_broadcast"`
|
|
||||||
Port12RxBytes float64 `json:"port_12-rx_bytes"`
|
|
||||||
Port12RxDropped float64 `json:"port_12-rx_dropped"`
|
|
||||||
Port12RxMulticast float64 `json:"port_12-rx_multicast"`
|
|
||||||
Port12RxPackets float64 `json:"port_12-rx_packets"`
|
|
||||||
Port12TxBroadcast float64 `json:"port_12-tx_broadcast"`
|
|
||||||
Port12TxBytes float64 `json:"port_12-tx_bytes"`
|
|
||||||
Port12TxMulticast float64 `json:"port_12-tx_multicast"`
|
|
||||||
Port12TxPackets float64 `json:"port_12-tx_packets"`
|
|
||||||
Port13RxBroadcast float64 `json:"port_13-rx_broadcast"`
|
|
||||||
Port13RxBytes float64 `json:"port_13-rx_bytes"`
|
|
||||||
Port13RxDropped float64 `json:"port_13-rx_dropped"`
|
|
||||||
Port13RxMulticast float64 `json:"port_13-rx_multicast"`
|
|
||||||
Port13RxPackets float64 `json:"port_13-rx_packets"`
|
|
||||||
Port13TxBroadcast float64 `json:"port_13-tx_broadcast"`
|
|
||||||
Port13TxBytes float64 `json:"port_13-tx_bytes"`
|
|
||||||
Port13TxMulticast float64 `json:"port_13-tx_multicast"`
|
|
||||||
Port13TxPackets float64 `json:"port_13-tx_packets"`
|
|
||||||
Port14RxBroadcast float64 `json:"port_14-rx_broadcast"`
|
|
||||||
Port14RxBytes float64 `json:"port_14-rx_bytes"`
|
|
||||||
Port14RxDropped float64 `json:"port_14-rx_dropped"`
|
|
||||||
Port14RxMulticast float64 `json:"port_14-rx_multicast"`
|
|
||||||
Port14RxPackets float64 `json:"port_14-rx_packets"`
|
|
||||||
Port14TxBroadcast float64 `json:"port_14-tx_broadcast"`
|
|
||||||
Port14TxBytes float64 `json:"port_14-tx_bytes"`
|
|
||||||
Port14TxMulticast float64 `json:"port_14-tx_multicast"`
|
|
||||||
Port14TxPackets float64 `json:"port_14-tx_packets"`
|
|
||||||
Port15RxBroadcast float64 `json:"port_15-rx_broadcast"`
|
|
||||||
Port15RxBytes float64 `json:"port_15-rx_bytes"`
|
|
||||||
Port15RxDropped float64 `json:"port_15-rx_dropped"`
|
|
||||||
Port15RxMulticast float64 `json:"port_15-rx_multicast"`
|
|
||||||
Port15RxPackets float64 `json:"port_15-rx_packets"`
|
|
||||||
Port15TxBroadcast float64 `json:"port_15-tx_broadcast"`
|
|
||||||
Port15TxBytes float64 `json:"port_15-tx_bytes"`
|
|
||||||
Port15TxMulticast float64 `json:"port_15-tx_multicast"`
|
|
||||||
Port15TxPackets float64 `json:"port_15-tx_packets"`
|
|
||||||
Port16RxBroadcast float64 `json:"port_16-rx_broadcast"`
|
|
||||||
Port16RxBytes float64 `json:"port_16-rx_bytes"`
|
|
||||||
Port16RxDropped float64 `json:"port_16-rx_dropped"`
|
|
||||||
Port16RxMulticast float64 `json:"port_16-rx_multicast"`
|
|
||||||
Port16RxPackets float64 `json:"port_16-rx_packets"`
|
|
||||||
Port16TxBroadcast float64 `json:"port_16-tx_broadcast"`
|
|
||||||
Port16TxBytes float64 `json:"port_16-tx_bytes"`
|
|
||||||
Port16TxMulticast float64 `json:"port_16-tx_multicast"`
|
|
||||||
Port16TxPackets float64 `json:"port_16-tx_packets"`
|
|
||||||
Port17RxBroadcast float64 `json:"port_17-rx_broadcast"`
|
|
||||||
Port17RxBytes float64 `json:"port_17-rx_bytes"`
|
|
||||||
Port17RxDropped float64 `json:"port_17-rx_dropped"`
|
|
||||||
Port17RxMulticast float64 `json:"port_17-rx_multicast"`
|
|
||||||
Port17RxPackets float64 `json:"port_17-rx_packets"`
|
|
||||||
Port17TxBroadcast float64 `json:"port_17-tx_broadcast"`
|
|
||||||
Port17TxBytes float64 `json:"port_17-tx_bytes"`
|
|
||||||
Port17TxMulticast float64 `json:"port_17-tx_multicast"`
|
|
||||||
Port17TxPackets float64 `json:"port_17-tx_packets"`
|
|
||||||
Port18RxBroadcast float64 `json:"port_18-rx_broadcast"`
|
|
||||||
Port18RxBytes float64 `json:"port_18-rx_bytes"`
|
|
||||||
Port18RxDropped float64 `json:"port_18-rx_dropped"`
|
|
||||||
Port18RxMulticast float64 `json:"port_18-rx_multicast"`
|
|
||||||
Port18RxPackets float64 `json:"port_18-rx_packets"`
|
|
||||||
Port18TxBroadcast float64 `json:"port_18-tx_broadcast"`
|
|
||||||
Port18TxBytes float64 `json:"port_18-tx_bytes"`
|
|
||||||
Port18TxMulticast float64 `json:"port_18-tx_multicast"`
|
|
||||||
Port18TxPackets float64 `json:"port_18-tx_packets"`
|
|
||||||
Port19RxBroadcast float64 `json:"port_19-rx_broadcast"`
|
|
||||||
Port19RxBytes float64 `json:"port_19-rx_bytes"`
|
|
||||||
Port19RxDropped float64 `json:"port_19-rx_dropped"`
|
|
||||||
Port19RxMulticast float64 `json:"port_19-rx_multicast"`
|
|
||||||
Port19RxPackets float64 `json:"port_19-rx_packets"`
|
|
||||||
Port19TxBroadcast float64 `json:"port_19-tx_broadcast"`
|
|
||||||
Port19TxBytes float64 `json:"port_19-tx_bytes"`
|
|
||||||
Port19TxMulticast float64 `json:"port_19-tx_multicast"`
|
|
||||||
Port19TxPackets float64 `json:"port_19-tx_packets"`
|
|
||||||
Port20RxBroadcast float64 `json:"port_20-rx_broadcast"`
|
|
||||||
Port20RxBytes float64 `json:"port_20-rx_bytes"`
|
|
||||||
Port20RxDropped float64 `json:"port_20-rx_dropped"`
|
|
||||||
Port20RxMulticast float64 `json:"port_20-rx_multicast"`
|
|
||||||
Port20RxPackets float64 `json:"port_20-rx_packets"`
|
|
||||||
Port20TxBroadcast float64 `json:"port_20-tx_broadcast"`
|
|
||||||
Port20TxBytes float64 `json:"port_20-tx_bytes"`
|
|
||||||
Port20TxMulticast float64 `json:"port_20-tx_multicast"`
|
|
||||||
Port20TxPackets float64 `json:"port_20-tx_packets"`
|
|
||||||
Port21RxBroadcast float64 `json:"port_21-rx_broadcast"`
|
|
||||||
Port21RxBytes float64 `json:"port_21-rx_bytes"`
|
|
||||||
Port21RxDropped float64 `json:"port_21-rx_dropped"`
|
|
||||||
Port21RxMulticast float64 `json:"port_21-rx_multicast"`
|
|
||||||
Port21RxPackets float64 `json:"port_21-rx_packets"`
|
|
||||||
Port21TxBroadcast float64 `json:"port_21-tx_broadcast"`
|
|
||||||
Port21TxBytes float64 `json:"port_21-tx_bytes"`
|
|
||||||
Port21TxMulticast float64 `json:"port_21-tx_multicast"`
|
|
||||||
Port21TxPackets float64 `json:"port_21-tx_packets"`
|
|
||||||
Port22RxBroadcast float64 `json:"port_22-rx_broadcast"`
|
|
||||||
Port22RxBytes float64 `json:"port_22-rx_bytes"`
|
|
||||||
Port22RxDropped float64 `json:"port_22-rx_dropped"`
|
|
||||||
Port22RxMulticast float64 `json:"port_22-rx_multicast"`
|
|
||||||
Port22RxPackets float64 `json:"port_22-rx_packets"`
|
|
||||||
Port22TxBroadcast float64 `json:"port_22-tx_broadcast"`
|
|
||||||
Port22TxBytes float64 `json:"port_22-tx_bytes"`
|
|
||||||
Port22TxMulticast float64 `json:"port_22-tx_multicast"`
|
|
||||||
Port22TxPackets float64 `json:"port_22-tx_packets"`
|
|
||||||
Port23RxBroadcast float64 `json:"port_23-rx_broadcast"`
|
|
||||||
Port23RxBytes float64 `json:"port_23-rx_bytes"`
|
|
||||||
Port23RxDropped float64 `json:"port_23-rx_dropped"`
|
|
||||||
Port23RxMulticast float64 `json:"port_23-rx_multicast"`
|
|
||||||
Port23RxPackets float64 `json:"port_23-rx_packets"`
|
|
||||||
Port23TxBroadcast float64 `json:"port_23-tx_broadcast"`
|
|
||||||
Port23TxBytes float64 `json:"port_23-tx_bytes"`
|
|
||||||
Port23TxMulticast float64 `json:"port_23-tx_multicast"`
|
|
||||||
Port23TxPackets float64 `json:"port_23-tx_packets"`
|
|
||||||
Port24RxBroadcast float64 `json:"port_24-rx_broadcast"`
|
|
||||||
Port24RxBytes float64 `json:"port_24-rx_bytes"`
|
|
||||||
Port24RxDropped float64 `json:"port_24-rx_dropped"`
|
|
||||||
Port24RxMulticast float64 `json:"port_24-rx_multicast"`
|
|
||||||
Port24RxPackets float64 `json:"port_24-rx_packets"`
|
|
||||||
Port24TxBroadcast float64 `json:"port_24-tx_broadcast"`
|
|
||||||
Port24TxBytes float64 `json:"port_24-tx_bytes"`
|
|
||||||
Port24TxMulticast float64 `json:"port_24-tx_multicast"`
|
|
||||||
Port24TxPackets float64 `json:"port_24-tx_packets"`
|
|
||||||
// Have a 48 port switch? How 'bout a pull request. :D
|
|
||||||
RxBroadcast float64 `json:"rx_broadcast"`
|
|
||||||
RxBytes float64 `json:"rx_bytes"`
|
|
||||||
RxCrypts float64 `json:"rx_crypts"`
|
|
||||||
RxDropped float64 `json:"rx_dropped"`
|
|
||||||
RxErrors float64 `json:"rx_errors"`
|
|
||||||
RxFrags float64 `json:"rx_frags"`
|
|
||||||
RxMulticast float64 `json:"rx_multicast"`
|
|
||||||
RxPackets float64 `json:"rx_packets"`
|
|
||||||
SiteID string `json:"site_id"`
|
|
||||||
Sw string `json:"sw"`
|
|
||||||
Time float64 `json:"time"`
|
|
||||||
TxBroadcast float64 `json:"tx_broadcast"`
|
|
||||||
TxBytes float64 `json:"tx_bytes"`
|
|
||||||
TxDropped float64 `json:"tx_dropped"`
|
|
||||||
TxErrors float64 `json:"tx_errors"`
|
|
||||||
TxMulticast float64 `json:"tx_multicast"`
|
|
||||||
TxPackets float64 `json:"tx_packets"`
|
|
||||||
TxRetries float64 `json:"tx_retries"`
|
|
||||||
} `json:"stat"`
|
|
||||||
|
|
||||||
State float64 `json:"state"`
|
|
||||||
StpPriority string `json:"stp_priority"`
|
|
||||||
StpVersion string `json:"stp_version"`
|
|
||||||
SysStats struct {
|
|
||||||
Loadavg1 float64 `json:"loadavg_1,string"`
|
|
||||||
Loadavg15 float64 `json:"loadavg_15,string"`
|
|
||||||
Loadavg5 float64 `json:"loadavg_5,string"`
|
|
||||||
MemBuffer float64 `json:"mem_buffer"`
|
|
||||||
MemTotal float64 `json:"mem_total"`
|
|
||||||
MemUsed float64 `json:"mem_used"`
|
|
||||||
} `json:"sys_stats"`
|
} `json:"sys_stats"`
|
||||||
SystemStats struct {
|
SystemStats struct {
|
||||||
CPU float64 `json:"cpu,string"`
|
CPU FlexInt `json:"cpu"`
|
||||||
Mem float64 `json:"mem,string"`
|
Mem FlexInt `json:"mem"`
|
||||||
Uptime float64 `json:"uptime,string"`
|
Uptime FlexInt `json:"uptime"`
|
||||||
} `json:"system-stats"`
|
} `json:"system-stats"`
|
||||||
TxBytes float64 `json:"tx_bytes"`
|
FanLevel FlexInt `json:"fan_level"`
|
||||||
Type string `json:"type"`
|
GeneralTemperature FlexInt `json:"general_temperature"`
|
||||||
Upgradable FlexBool `json:"upgradable"`
|
Overheating FlexBool `json:"overheating"`
|
||||||
Uplink struct {
|
TotalMaxPower FlexInt `json:"total_max_power"`
|
||||||
|
DownlinkTable []struct {
|
||||||
|
PortIdx FlexInt `json:"port_idx"`
|
||||||
|
Speed FlexInt `json:"speed"`
|
||||||
|
FullDuplex FlexBool `json:"full_duplex"`
|
||||||
|
Mac string `json:"mac"`
|
||||||
|
} `json:"downlink_table"`
|
||||||
|
Uplink struct {
|
||||||
FullDuplex FlexBool `json:"full_duplex"`
|
FullDuplex FlexBool `json:"full_duplex"`
|
||||||
IP string `json:"ip"`
|
IP string `json:"ip"`
|
||||||
Mac string `json:"mac"`
|
Mac string `json:"mac"`
|
||||||
MaxSpeed float64 `json:"max_speed"`
|
|
||||||
Media string `json:"media"`
|
|
||||||
Name string `json:"name"`
|
Name string `json:"name"`
|
||||||
Netmask string `json:"netmask"`
|
Netmask string `json:"netmask"`
|
||||||
NumPort float64 `json:"num_port"`
|
NumPort FlexInt `json:"num_port"`
|
||||||
PortIdx float64 `json:"port_idx"`
|
RxBytes FlexInt `json:"rx_bytes"`
|
||||||
RxBytes float64 `json:"rx_bytes"`
|
RxDropped FlexInt `json:"rx_dropped"`
|
||||||
RxBytesR float64 `json:"rx_bytes-r"`
|
RxErrors FlexInt `json:"rx_errors"`
|
||||||
RxDropped float64 `json:"rx_dropped"`
|
RxMulticast FlexInt `json:"rx_multicast"`
|
||||||
RxErrors float64 `json:"rx_errors"`
|
RxPackets FlexInt `json:"rx_packets"`
|
||||||
RxMulticast float64 `json:"rx_multicast"`
|
Speed FlexInt `json:"speed"`
|
||||||
RxPackets float64 `json:"rx_packets"`
|
TxBytes FlexInt `json:"tx_bytes"`
|
||||||
Speed float64 `json:"speed"`
|
TxDropped FlexInt `json:"tx_dropped"`
|
||||||
TxBytes float64 `json:"tx_bytes"`
|
TxErrors FlexInt `json:"tx_errors"`
|
||||||
TxBytesR float64 `json:"tx_bytes-r"`
|
TxPackets FlexInt `json:"tx_packets"`
|
||||||
TxDropped float64 `json:"tx_dropped"`
|
|
||||||
TxErrors float64 `json:"tx_errors"`
|
|
||||||
TxPackets float64 `json:"tx_packets"`
|
|
||||||
Type string `json:"type"`
|
|
||||||
Up FlexBool `json:"up"`
|
Up FlexBool `json:"up"`
|
||||||
|
PortIdx FlexInt `json:"port_idx"`
|
||||||
|
Media string `json:"media"`
|
||||||
|
MaxSpeed FlexInt `json:"max_speed"`
|
||||||
UplinkMac string `json:"uplink_mac"`
|
UplinkMac string `json:"uplink_mac"`
|
||||||
|
Type string `json:"type"`
|
||||||
|
TxBytesR FlexInt `json:"tx_bytes-r"`
|
||||||
|
RxBytesR FlexInt `json:"rx_bytes-r"`
|
||||||
} `json:"uplink"`
|
} `json:"uplink"`
|
||||||
UplinkDepth FlexInt `json:"uplink_depth"`
|
LastUplink struct {
|
||||||
Uptime float64 `json:"uptime"`
|
UplinkMac string `json:"uplink_mac"`
|
||||||
UserNumSta float64 `json:"user-num_sta"`
|
} `json:"last_uplink"`
|
||||||
Version string `json:"version"`
|
UplinkDepth FlexInt `json:"uplink_depth"`
|
||||||
VersionIncompatible FlexBool `json:"version_incompatible"`
|
Stat struct {
|
||||||
|
SiteID string `json:"site_id"`
|
||||||
|
O string `json:"o"`
|
||||||
|
Oid string `json:"oid"`
|
||||||
|
Sw string `json:"sw"`
|
||||||
|
Time FlexInt `json:"time"`
|
||||||
|
Datetime time.Time `json:"datetime"`
|
||||||
|
RxPackets FlexInt `json:"rx_packets"`
|
||||||
|
RxBytes FlexInt `json:"rx_bytes"`
|
||||||
|
RxErrors FlexInt `json:"rx_errors"`
|
||||||
|
RxDropped FlexInt `json:"rx_dropped"`
|
||||||
|
RxCrypts FlexInt `json:"rx_crypts"`
|
||||||
|
RxFrags FlexInt `json:"rx_frags"`
|
||||||
|
TxPackets FlexInt `json:"tx_packets"`
|
||||||
|
TxBytes FlexInt `json:"tx_bytes"`
|
||||||
|
TxErrors FlexInt `json:"tx_errors"`
|
||||||
|
TxDropped FlexInt `json:"tx_dropped"`
|
||||||
|
TxRetries FlexInt `json:"tx_retries"`
|
||||||
|
RxMulticast FlexInt `json:"rx_multicast"`
|
||||||
|
RxBroadcast FlexInt `json:"rx_broadcast"`
|
||||||
|
TxMulticast FlexInt `json:"tx_multicast"`
|
||||||
|
TxBroadcast FlexInt `json:"tx_broadcast"`
|
||||||
|
Bytes FlexInt `json:"bytes"`
|
||||||
|
Duration FlexInt `json:"duration"`
|
||||||
|
Port1RxPackets FlexInt `json:"port_1-rx_packets"`
|
||||||
|
Port1RxBytes FlexInt `json:"port_1-rx_bytes"`
|
||||||
|
Port1TxPackets FlexInt `json:"port_1-tx_packets"`
|
||||||
|
Port1TxBytes FlexInt `json:"port_1-tx_bytes"`
|
||||||
|
Port1TxMulticast FlexInt `json:"port_1-tx_multicast"`
|
||||||
|
Port1TxBroadcast FlexInt `json:"port_1-tx_broadcast"`
|
||||||
|
Port3RxPackets FlexInt `json:"port_3-rx_packets"`
|
||||||
|
Port3RxBytes FlexInt `json:"port_3-rx_bytes"`
|
||||||
|
Port3TxPackets FlexInt `json:"port_3-tx_packets"`
|
||||||
|
Port3TxBytes FlexInt `json:"port_3-tx_bytes"`
|
||||||
|
Port3RxBroadcast FlexInt `json:"port_3-rx_broadcast"`
|
||||||
|
Port3TxMulticast FlexInt `json:"port_3-tx_multicast"`
|
||||||
|
Port3TxBroadcast FlexInt `json:"port_3-tx_broadcast"`
|
||||||
|
Port6RxPackets FlexInt `json:"port_6-rx_packets"`
|
||||||
|
Port6RxBytes FlexInt `json:"port_6-rx_bytes"`
|
||||||
|
Port6TxPackets FlexInt `json:"port_6-tx_packets"`
|
||||||
|
Port6TxBytes FlexInt `json:"port_6-tx_bytes"`
|
||||||
|
Port6RxMulticast FlexInt `json:"port_6-rx_multicast"`
|
||||||
|
Port6TxMulticast FlexInt `json:"port_6-tx_multicast"`
|
||||||
|
Port6TxBroadcast FlexInt `json:"port_6-tx_broadcast"`
|
||||||
|
Port7RxPackets FlexInt `json:"port_7-rx_packets"`
|
||||||
|
Port7RxBytes FlexInt `json:"port_7-rx_bytes"`
|
||||||
|
Port7TxPackets FlexInt `json:"port_7-tx_packets"`
|
||||||
|
Port7TxBytes FlexInt `json:"port_7-tx_bytes"`
|
||||||
|
Port7TxMulticast FlexInt `json:"port_7-tx_multicast"`
|
||||||
|
Port7TxBroadcast FlexInt `json:"port_7-tx_broadcast"`
|
||||||
|
Port9RxPackets FlexInt `json:"port_9-rx_packets"`
|
||||||
|
Port9RxBytes FlexInt `json:"port_9-rx_bytes"`
|
||||||
|
Port9TxPackets FlexInt `json:"port_9-tx_packets"`
|
||||||
|
Port9TxBytes FlexInt `json:"port_9-tx_bytes"`
|
||||||
|
Port9TxMulticast FlexInt `json:"port_9-tx_multicast"`
|
||||||
|
Port9TxBroadcast FlexInt `json:"port_9-tx_broadcast"`
|
||||||
|
Port10RxPackets FlexInt `json:"port_10-rx_packets"`
|
||||||
|
Port10RxBytes FlexInt `json:"port_10-rx_bytes"`
|
||||||
|
Port10TxPackets FlexInt `json:"port_10-tx_packets"`
|
||||||
|
Port10TxBytes FlexInt `json:"port_10-tx_bytes"`
|
||||||
|
Port10RxMulticast FlexInt `json:"port_10-rx_multicast"`
|
||||||
|
Port10TxMulticast FlexInt `json:"port_10-tx_multicast"`
|
||||||
|
Port10TxBroadcast FlexInt `json:"port_10-tx_broadcast"`
|
||||||
|
Port11RxPackets FlexInt `json:"port_11-rx_packets"`
|
||||||
|
Port11RxBytes FlexInt `json:"port_11-rx_bytes"`
|
||||||
|
Port11TxPackets FlexInt `json:"port_11-tx_packets"`
|
||||||
|
Port11TxBytes FlexInt `json:"port_11-tx_bytes"`
|
||||||
|
Port11TxMulticast FlexInt `json:"port_11-tx_multicast"`
|
||||||
|
Port11TxBroadcast FlexInt `json:"port_11-tx_broadcast"`
|
||||||
|
Port12RxPackets FlexInt `json:"port_12-rx_packets"`
|
||||||
|
Port12RxBytes FlexInt `json:"port_12-rx_bytes"`
|
||||||
|
Port12TxPackets FlexInt `json:"port_12-tx_packets"`
|
||||||
|
Port12TxBytes FlexInt `json:"port_12-tx_bytes"`
|
||||||
|
Port12TxMulticast FlexInt `json:"port_12-tx_multicast"`
|
||||||
|
Port12TxBroadcast FlexInt `json:"port_12-tx_broadcast"`
|
||||||
|
Port13RxPackets FlexInt `json:"port_13-rx_packets"`
|
||||||
|
Port13RxBytes FlexInt `json:"port_13-rx_bytes"`
|
||||||
|
Port13TxPackets FlexInt `json:"port_13-tx_packets"`
|
||||||
|
Port13TxBytes FlexInt `json:"port_13-tx_bytes"`
|
||||||
|
Port13RxMulticast FlexInt `json:"port_13-rx_multicast"`
|
||||||
|
Port13RxBroadcast FlexInt `json:"port_13-rx_broadcast"`
|
||||||
|
Port13TxMulticast FlexInt `json:"port_13-tx_multicast"`
|
||||||
|
Port13TxBroadcast FlexInt `json:"port_13-tx_broadcast"`
|
||||||
|
Port15RxPackets FlexInt `json:"port_15-rx_packets"`
|
||||||
|
Port15RxBytes FlexInt `json:"port_15-rx_bytes"`
|
||||||
|
Port15TxPackets FlexInt `json:"port_15-tx_packets"`
|
||||||
|
Port15TxBytes FlexInt `json:"port_15-tx_bytes"`
|
||||||
|
Port15RxBroadcast FlexInt `json:"port_15-rx_broadcast"`
|
||||||
|
Port15TxMulticast FlexInt `json:"port_15-tx_multicast"`
|
||||||
|
Port15TxBroadcast FlexInt `json:"port_15-tx_broadcast"`
|
||||||
|
Port16RxPackets FlexInt `json:"port_16-rx_packets"`
|
||||||
|
Port16RxBytes FlexInt `json:"port_16-rx_bytes"`
|
||||||
|
Port16TxPackets FlexInt `json:"port_16-tx_packets"`
|
||||||
|
Port16TxBytes FlexInt `json:"port_16-tx_bytes"`
|
||||||
|
Port16TxMulticast FlexInt `json:"port_16-tx_multicast"`
|
||||||
|
Port16TxBroadcast FlexInt `json:"port_16-tx_broadcast"`
|
||||||
|
Port17RxPackets FlexInt `json:"port_17-rx_packets"`
|
||||||
|
Port17RxBytes FlexInt `json:"port_17-rx_bytes"`
|
||||||
|
Port17TxPackets FlexInt `json:"port_17-tx_packets"`
|
||||||
|
Port17TxBytes FlexInt `json:"port_17-tx_bytes"`
|
||||||
|
Port17TxMulticast FlexInt `json:"port_17-tx_multicast"`
|
||||||
|
Port17TxBroadcast FlexInt `json:"port_17-tx_broadcast"`
|
||||||
|
Port18RxPackets FlexInt `json:"port_18-rx_packets"`
|
||||||
|
Port18RxBytes FlexInt `json:"port_18-rx_bytes"`
|
||||||
|
Port18TxPackets FlexInt `json:"port_18-tx_packets"`
|
||||||
|
Port18TxBytes FlexInt `json:"port_18-tx_bytes"`
|
||||||
|
Port18RxMulticast FlexInt `json:"port_18-rx_multicast"`
|
||||||
|
Port18TxMulticast FlexInt `json:"port_18-tx_multicast"`
|
||||||
|
Port18TxBroadcast FlexInt `json:"port_18-tx_broadcast"`
|
||||||
|
Port19RxPackets FlexInt `json:"port_19-rx_packets"`
|
||||||
|
Port19RxBytes FlexInt `json:"port_19-rx_bytes"`
|
||||||
|
Port19TxPackets FlexInt `json:"port_19-tx_packets"`
|
||||||
|
Port19TxBytes FlexInt `json:"port_19-tx_bytes"`
|
||||||
|
Port19TxMulticast FlexInt `json:"port_19-tx_multicast"`
|
||||||
|
Port19TxBroadcast FlexInt `json:"port_19-tx_broadcast"`
|
||||||
|
Port21RxPackets FlexInt `json:"port_21-rx_packets"`
|
||||||
|
Port21RxBytes FlexInt `json:"port_21-rx_bytes"`
|
||||||
|
Port21TxPackets FlexInt `json:"port_21-tx_packets"`
|
||||||
|
Port21TxBytes FlexInt `json:"port_21-tx_bytes"`
|
||||||
|
Port21RxBroadcast FlexInt `json:"port_21-rx_broadcast"`
|
||||||
|
Port21TxMulticast FlexInt `json:"port_21-tx_multicast"`
|
||||||
|
Port21TxBroadcast FlexInt `json:"port_21-tx_broadcast"`
|
||||||
|
Port22RxPackets FlexInt `json:"port_22-rx_packets"`
|
||||||
|
Port22RxBytes FlexInt `json:"port_22-rx_bytes"`
|
||||||
|
Port22TxPackets FlexInt `json:"port_22-tx_packets"`
|
||||||
|
Port22TxBytes FlexInt `json:"port_22-tx_bytes"`
|
||||||
|
Port22RxMulticast FlexInt `json:"port_22-rx_multicast"`
|
||||||
|
Port22TxMulticast FlexInt `json:"port_22-tx_multicast"`
|
||||||
|
Port22TxBroadcast FlexInt `json:"port_22-tx_broadcast"`
|
||||||
|
Port23RxPackets FlexInt `json:"port_23-rx_packets"`
|
||||||
|
Port23RxBytes FlexInt `json:"port_23-rx_bytes"`
|
||||||
|
Port23RxDropped FlexInt `json:"port_23-rx_dropped"`
|
||||||
|
Port23TxPackets FlexInt `json:"port_23-tx_packets"`
|
||||||
|
Port23TxBytes FlexInt `json:"port_23-tx_bytes"`
|
||||||
|
Port23RxMulticast FlexInt `json:"port_23-rx_multicast"`
|
||||||
|
Port23RxBroadcast FlexInt `json:"port_23-rx_broadcast"`
|
||||||
|
Port23TxMulticast FlexInt `json:"port_23-tx_multicast"`
|
||||||
|
Port23TxBroadcast FlexInt `json:"port_23-tx_broadcast"`
|
||||||
|
Port24RxPackets FlexInt `json:"port_24-rx_packets"`
|
||||||
|
Port24RxBytes FlexInt `json:"port_24-rx_bytes"`
|
||||||
|
Port24TxPackets FlexInt `json:"port_24-tx_packets"`
|
||||||
|
Port24TxBytes FlexInt `json:"port_24-tx_bytes"`
|
||||||
|
Port24RxMulticast FlexInt `json:"port_24-rx_multicast"`
|
||||||
|
Port24TxMulticast FlexInt `json:"port_24-tx_multicast"`
|
||||||
|
Port24TxBroadcast FlexInt `json:"port_24-tx_broadcast"`
|
||||||
|
Port1RxMulticast FlexInt `json:"port_1-rx_multicast"`
|
||||||
|
Port3RxDropped FlexInt `json:"port_3-rx_dropped"`
|
||||||
|
Port3RxMulticast FlexInt `json:"port_3-rx_multicast"`
|
||||||
|
Port6RxDropped FlexInt `json:"port_6-rx_dropped"`
|
||||||
|
Port7RxDropped FlexInt `json:"port_7-rx_dropped"`
|
||||||
|
Port7RxMulticast FlexInt `json:"port_7-rx_multicast"`
|
||||||
|
Port9RxDropped FlexInt `json:"port_9-rx_dropped"`
|
||||||
|
Port9RxMulticast FlexInt `json:"port_9-rx_multicast"`
|
||||||
|
Port9RxBroadcast FlexInt `json:"port_9-rx_broadcast"`
|
||||||
|
Port10RxBroadcast FlexInt `json:"port_10-rx_broadcast"`
|
||||||
|
Port12RxDropped FlexInt `json:"port_12-rx_dropped"`
|
||||||
|
Port12RxMulticast FlexInt `json:"port_12-rx_multicast"`
|
||||||
|
Port13RxDropped FlexInt `json:"port_13-rx_dropped"`
|
||||||
|
Port17RxDropped FlexInt `json:"port_17-rx_dropped"`
|
||||||
|
Port17RxMulticast FlexInt `json:"port_17-rx_multicast"`
|
||||||
|
Port17RxBroadcast FlexInt `json:"port_17-rx_broadcast"`
|
||||||
|
Port19RxDropped FlexInt `json:"port_19-rx_dropped"`
|
||||||
|
Port19RxMulticast FlexInt `json:"port_19-rx_multicast"`
|
||||||
|
Port19RxBroadcast FlexInt `json:"port_19-rx_broadcast"`
|
||||||
|
Port21RxDropped FlexInt `json:"port_21-rx_dropped"`
|
||||||
|
Port21RxMulticast FlexInt `json:"port_21-rx_multicast"`
|
||||||
|
Port7RxBroadcast FlexInt `json:"port_7-rx_broadcast"`
|
||||||
|
Port18RxBroadcast FlexInt `json:"port_18-rx_broadcast"`
|
||||||
|
Port16RxMulticast FlexInt `json:"port_16-rx_multicast"`
|
||||||
|
Port15RxDropped FlexInt `json:"port_15-rx_dropped"`
|
||||||
|
Port15RxMulticast FlexInt `json:"port_15-rx_multicast"`
|
||||||
|
Port16RxBroadcast FlexInt `json:"port_16-rx_broadcast"`
|
||||||
|
Port11RxBroadcast FlexInt `json:"port_11-rx_broadcast"`
|
||||||
|
Port12RxBroadcast FlexInt `json:"port_12-rx_broadcast"`
|
||||||
|
Port6RxBroadcast FlexInt `json:"port_6-rx_broadcast"`
|
||||||
|
Port24RxBroadcast FlexInt `json:"port_24-rx_broadcast"`
|
||||||
|
Port22RxBroadcast FlexInt `json:"port_22-rx_broadcast"`
|
||||||
|
Port10TxDropped FlexInt `json:"port_10-tx_dropped"`
|
||||||
|
Port16TxDropped FlexInt `json:"port_16-tx_dropped"`
|
||||||
|
Port1RxBroadcast FlexInt `json:"port_1-rx_broadcast"`
|
||||||
|
Port4RxPackets FlexInt `json:"port_4-rx_packets"`
|
||||||
|
Port4RxBytes FlexInt `json:"port_4-rx_bytes"`
|
||||||
|
Port4RxDropped FlexInt `json:"port_4-rx_dropped"`
|
||||||
|
Port4TxPackets FlexInt `json:"port_4-tx_packets"`
|
||||||
|
Port4TxBytes FlexInt `json:"port_4-tx_bytes"`
|
||||||
|
Port4TxDropped FlexInt `json:"port_4-tx_dropped"`
|
||||||
|
Port4RxMulticast FlexInt `json:"port_4-rx_multicast"`
|
||||||
|
Port4RxBroadcast FlexInt `json:"port_4-rx_broadcast"`
|
||||||
|
Port4TxMulticast FlexInt `json:"port_4-tx_multicast"`
|
||||||
|
Port4TxBroadcast FlexInt `json:"port_4-tx_broadcast"`
|
||||||
|
} `json:"stat"`
|
||||||
|
TxBytes FlexInt `json:"tx_bytes"`
|
||||||
|
RxBytes FlexInt `json:"rx_bytes"`
|
||||||
|
Bytes FlexInt `json:"bytes"`
|
||||||
|
NumSta FlexInt `json:"num_sta"`
|
||||||
|
UserNumSta FlexInt `json:"user-num_sta"`
|
||||||
|
GuestNumSta FlexInt `json:"guest-num_sta"`
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue