Add wan2 metrics to InfluxDB.
This commit is contained in:
parent
910304e7f6
commit
562e244451
|
|
@ -41,6 +41,8 @@ func (u USG) Points() ([]*influx.Point, error) {
|
||||||
"version_incompatible": u.VersionIncompatible.Txt,
|
"version_incompatible": u.VersionIncompatible.Txt,
|
||||||
"usg_caps": strconv.FormatFloat(u.UsgCaps, 'f', 6, 64),
|
"usg_caps": strconv.FormatFloat(u.UsgCaps, 'f', 6, 64),
|
||||||
"speedtest-status-saved": u.SpeedtestStatusSaved.Txt,
|
"speedtest-status-saved": u.SpeedtestStatusSaved.Txt,
|
||||||
|
"wan1_up": u.Wan2.Up.Txt,
|
||||||
|
"wan2_up": u.Wan2.Up.Txt,
|
||||||
}
|
}
|
||||||
fields := map[string]interface{}{
|
fields := map[string]interface{}{
|
||||||
"ip": u.IP,
|
"ip": u.IP,
|
||||||
|
|
@ -71,60 +73,84 @@ func (u USG) Points() ([]*influx.Point, error) {
|
||||||
"speedtest-status_upload": u.SpeedtestStatus.StatusUpload,
|
"speedtest-status_upload": u.SpeedtestStatus.StatusUpload,
|
||||||
"speedtest-status_xput_download": u.SpeedtestStatus.XputDownload,
|
"speedtest-status_xput_download": u.SpeedtestStatus.XputDownload,
|
||||||
"speedtest-status_xput_upload": u.SpeedtestStatus.XputUpload,
|
"speedtest-status_xput_upload": u.SpeedtestStatus.XputUpload,
|
||||||
// have two WANs? mmmm, go ahead and add it. ;)
|
"config_network_wan_type": u.ConfigNetworkWan.Type,
|
||||||
"config_network_wan_type": u.ConfigNetworkWan.Type,
|
"wan1_bytes-r": u.Wan1.BytesR.Val,
|
||||||
"wan1_bytes-r": u.Wan1.BytesR,
|
"wan1_enable": u.Wan1.Enable.Val,
|
||||||
"wan1_enable": u.Wan1.Enable.Val,
|
"wan1_full_duplex": u.Wan1.FullDuplex.Val,
|
||||||
"wan1_full_duplex": u.Wan1.FullDuplex.Val,
|
"wan1_purpose": "uplink", // because it should have a purpose.
|
||||||
"wan1_purpose": "uplink", // because it should have a purpose.
|
"wan1_gateway": u.Wan1.Gateway,
|
||||||
"wan1_gateway": u.Wan1.Gateway,
|
"wan1_ifname": u.Wan1.Ifname,
|
||||||
"wan1_ifname": u.Wan1.Ifname,
|
"wan1_ip": u.Wan1.IP,
|
||||||
"wan1_ip": u.Wan1.IP,
|
"wan1_mac": u.Wan1.Mac,
|
||||||
"wan1_mac": u.Wan1.Mac,
|
"wan1_max_speed": u.Wan1.MaxSpeed.Val,
|
||||||
"wan1_max_speed": u.Wan1.MaxSpeed,
|
"wan1_name": u.Wan1.Name,
|
||||||
"wan1_name": u.Wan1.Name,
|
"wan1_netmask": u.Wan1.Netmask,
|
||||||
"wan1_netmask": u.Wan1.Netmask,
|
"wan1_rx_bytes": u.Wan1.RxBytes.Val,
|
||||||
"wan1_rx_bytes": u.Wan1.RxBytes.Val,
|
"wan1_rx_bytes-r": u.Wan1.RxBytesR.Val,
|
||||||
"wan1_rx_bytes-r": u.Wan1.RxBytesR,
|
"wan1_rx_dropped": u.Wan1.RxDropped.Val,
|
||||||
"wan1_rx_dropped": u.Wan1.RxDropped,
|
"wan1_rx_errors": u.Wan1.RxErrors.Val,
|
||||||
"wan1_rx_errors": u.Wan1.RxErrors,
|
"wan1_rx_multicast": u.Wan1.RxMulticast.Val,
|
||||||
"wan1_rx_multicast": u.Wan1.RxMulticast,
|
"wan1_rx_packets": u.Wan1.RxPackets.Val,
|
||||||
"wan1_rx_packets": u.Wan1.RxPackets,
|
"wan1_type": u.Wan1.Type,
|
||||||
"wan1_type": u.Wan1.Type,
|
"wan1_speed": u.Wan1.Speed.Val,
|
||||||
"wan1_speed": u.Wan1.Speed,
|
"wan1_up": u.Wan1.Up.Val,
|
||||||
"wan1_up": u.Wan1.Up.Val,
|
"wan1_tx_bytes": u.Wan1.TxBytes.Val,
|
||||||
"wan1_tx_bytes": u.Wan1.TxBytes.Val,
|
"wan1_tx_bytes-r": u.Wan1.TxBytesR.Val,
|
||||||
"wan1_tx_bytes-r": u.Wan1.TxBytesR,
|
"wan1_tx_dropped": u.Wan1.TxDropped.Val,
|
||||||
"wan1_tx_dropped": u.Wan1.TxDropped,
|
"wan1_tx_errors": u.Wan1.TxErrors.Val,
|
||||||
"wan1_tx_errors": u.Wan1.TxErrors,
|
"wan1_tx_packets": u.Wan1.TxPackets.Val,
|
||||||
"wan1_tx_packets": u.Wan1.TxPackets,
|
"wan2_bytes-r": u.Wan2.BytesR.Val,
|
||||||
"loadavg_1": u.SysStats.Loadavg1,
|
"wan2_enable": u.Wan2.Enable.Val,
|
||||||
"loadavg_5": u.SysStats.Loadavg5,
|
"wan2_full_duplex": u.Wan2.FullDuplex.Val,
|
||||||
"loadavg_15": u.SysStats.Loadavg15,
|
"wan2_purpose": "uplink", // because it should have a purpose.
|
||||||
"mem_used": u.SysStats.MemUsed,
|
"wan2_gateway": u.Wan2.Gateway,
|
||||||
"mem_buffer": u.SysStats.MemBuffer,
|
"wan2_ifname": u.Wan2.Ifname,
|
||||||
"mem_total": u.SysStats.MemTotal,
|
"wan2_ip": u.Wan2.IP,
|
||||||
"cpu": u.SystemStats.CPU,
|
"wan2_mac": u.Wan2.Mac,
|
||||||
"mem": u.SystemStats.Mem,
|
"wan2_max_speed": u.Wan2.MaxSpeed.Val,
|
||||||
"system_uptime": u.SystemStats.Uptime,
|
"wan2_name": u.Wan2.Name,
|
||||||
"stat_duration": u.Stat.Duration,
|
"wan2_netmask": u.Wan2.Netmask,
|
||||||
"stat_datetime": u.Stat.Datetime,
|
"wan2_rx_bytes": u.Wan2.RxBytes.Val,
|
||||||
"gw": u.Stat.Gw,
|
"wan2_rx_bytes-r": u.Wan2.RxBytesR.Val,
|
||||||
"false": "false", // to fill holes in graphs.
|
"wan2_rx_dropped": u.Wan2.RxDropped.Val,
|
||||||
"lan-rx_bytes": u.Stat.LanRxBytes,
|
"wan2_rx_errors": u.Wan2.RxErrors.Val,
|
||||||
"lan-rx_packets": u.Stat.LanRxPackets,
|
"wan2_rx_multicast": u.Wan2.RxMulticast.Val,
|
||||||
"lan-tx_bytes": u.Stat.LanTxBytes,
|
"wan2_rx_packets": u.Wan2.RxPackets.Val,
|
||||||
"lan-tx_packets": u.Stat.LanTxPackets,
|
"wan2_type": u.Wan2.Type,
|
||||||
"wan-rx_bytes": u.Stat.WanRxBytes,
|
"wan2_speed": u.Wan2.Speed.Val,
|
||||||
"wan-rx_dropped": u.Stat.WanRxDropped,
|
"wan2_up": u.Wan2.Up.Val,
|
||||||
"wan-rx_packets": u.Stat.WanRxPackets,
|
"wan2_tx_bytes": u.Wan2.TxBytes.Val,
|
||||||
"wan-tx_bytes": u.Stat.WanTxBytes,
|
"wan2_tx_bytes-r": u.Wan2.TxBytesR.Val,
|
||||||
"wan-tx_packets": u.Stat.WanTxPackets,
|
"wan2_tx_dropped": u.Wan2.TxDropped.Val,
|
||||||
"uplink_name": u.Uplink.Name,
|
"wan2_tx_errors": u.Wan2.TxErrors.Val,
|
||||||
"uplink_latency": u.Uplink.Latency,
|
"wan2_tx_packets": u.Wan2.TxPackets.Val,
|
||||||
"uplink_speed": u.Uplink.Speed,
|
"loadavg_1": u.SysStats.Loadavg1,
|
||||||
"uplink_num_ports": u.Uplink.NumPort,
|
"loadavg_5": u.SysStats.Loadavg5,
|
||||||
"uplink_max_speed": u.Uplink.MaxSpeed,
|
"loadavg_15": u.SysStats.Loadavg15,
|
||||||
|
"mem_used": u.SysStats.MemUsed,
|
||||||
|
"mem_buffer": u.SysStats.MemBuffer,
|
||||||
|
"mem_total": u.SysStats.MemTotal,
|
||||||
|
"cpu": u.SystemStats.CPU,
|
||||||
|
"mem": u.SystemStats.Mem,
|
||||||
|
"system_uptime": u.SystemStats.Uptime,
|
||||||
|
"stat_duration": u.Stat.Duration,
|
||||||
|
"stat_datetime": u.Stat.Datetime,
|
||||||
|
"gw": u.Stat.Gw,
|
||||||
|
"false": "false", // to fill holes in graphs.
|
||||||
|
"lan-rx_bytes": u.Stat.LanRxBytes,
|
||||||
|
"lan-rx_packets": u.Stat.LanRxPackets,
|
||||||
|
"lan-tx_bytes": u.Stat.LanTxBytes,
|
||||||
|
"lan-tx_packets": u.Stat.LanTxPackets,
|
||||||
|
"wan-rx_bytes": u.Stat.WanRxBytes,
|
||||||
|
"wan-rx_dropped": u.Stat.WanRxDropped,
|
||||||
|
"wan-rx_packets": u.Stat.WanRxPackets,
|
||||||
|
"wan-tx_bytes": u.Stat.WanTxBytes,
|
||||||
|
"wan-tx_packets": u.Stat.WanTxPackets,
|
||||||
|
"uplink_name": u.Uplink.Name,
|
||||||
|
"uplink_latency": u.Uplink.Latency,
|
||||||
|
"uplink_speed": u.Uplink.Speed,
|
||||||
|
"uplink_num_ports": u.Uplink.NumPort,
|
||||||
|
"uplink_max_speed": u.Uplink.MaxSpeed,
|
||||||
}
|
}
|
||||||
pt, err := influx.NewPoint("usg", tags, fields, time.Now())
|
pt, err := influx.NewPoint("usg", tags, fields, time.Now())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
||||||
|
|
@ -206,7 +206,7 @@ type USG struct {
|
||||||
Version string `json:"version"`
|
Version string `json:"version"`
|
||||||
VersionIncompatible FlexBool `json:"version_incompatible"`
|
VersionIncompatible FlexBool `json:"version_incompatible"`
|
||||||
Wan1 struct {
|
Wan1 struct {
|
||||||
BytesR float64 `json:"bytes-r"`
|
BytesR FlexInt `json:"bytes-r"`
|
||||||
DNS []string `json:"dns"`
|
DNS []string `json:"dns"`
|
||||||
Enable FlexBool `json:"enable"`
|
Enable FlexBool `json:"enable"`
|
||||||
FullDuplex FlexBool `json:"full_duplex"`
|
FullDuplex FlexBool `json:"full_duplex"`
|
||||||
|
|
@ -214,26 +214,26 @@ type USG struct {
|
||||||
Ifname string `json:"ifname"`
|
Ifname string `json:"ifname"`
|
||||||
IP string `json:"ip"`
|
IP string `json:"ip"`
|
||||||
Mac string `json:"mac"`
|
Mac string `json:"mac"`
|
||||||
MaxSpeed float64 `json:"max_speed"`
|
MaxSpeed FlexInt `json:"max_speed"`
|
||||||
Name string `json:"name"`
|
Name string `json:"name"`
|
||||||
Netmask string `json:"netmask"`
|
Netmask string `json:"netmask"`
|
||||||
RxBytes FlexInt `json:"rx_bytes"`
|
RxBytes FlexInt `json:"rx_bytes"`
|
||||||
RxBytesR float64 `json:"rx_bytes-r"`
|
RxBytesR FlexInt `json:"rx_bytes-r"`
|
||||||
RxDropped float64 `json:"rx_dropped"`
|
RxDropped FlexInt `json:"rx_dropped"`
|
||||||
RxErrors float64 `json:"rx_errors"`
|
RxErrors FlexInt `json:"rx_errors"`
|
||||||
RxMulticast float64 `json:"rx_multicast"`
|
RxMulticast FlexInt `json:"rx_multicast"`
|
||||||
RxPackets float64 `json:"rx_packets"`
|
RxPackets FlexInt `json:"rx_packets"`
|
||||||
Speed float64 `json:"speed"`
|
Speed FlexInt `json:"speed"`
|
||||||
TxBytes FlexInt `json:"tx_bytes"`
|
TxBytes FlexInt `json:"tx_bytes"`
|
||||||
TxBytesR float64 `json:"tx_bytes-r"`
|
TxBytesR FlexInt `json:"tx_bytes-r"`
|
||||||
TxDropped float64 `json:"tx_dropped"`
|
TxDropped FlexInt `json:"tx_dropped"`
|
||||||
TxErrors float64 `json:"tx_errors"`
|
TxErrors FlexInt `json:"tx_errors"`
|
||||||
TxPackets float64 `json:"tx_packets"`
|
TxPackets FlexInt `json:"tx_packets"`
|
||||||
Type string `json:"type"`
|
Type string `json:"type"`
|
||||||
Up FlexBool `json:"up"`
|
Up FlexBool `json:"up"`
|
||||||
} `json:"wan1"`
|
} `json:"wan1"`
|
||||||
Wan2 struct {
|
Wan2 struct {
|
||||||
BytesR float64 `json:"bytes-r"`
|
BytesR FlexInt `json:"bytes-r"`
|
||||||
DNS []string `json:"dns"`
|
DNS []string `json:"dns"`
|
||||||
Enable FlexBool `json:"enable"`
|
Enable FlexBool `json:"enable"`
|
||||||
FullDuplex FlexBool `json:"full_duplex"`
|
FullDuplex FlexBool `json:"full_duplex"`
|
||||||
|
|
@ -241,21 +241,21 @@ type USG struct {
|
||||||
Ifname string `json:"ifname"`
|
Ifname string `json:"ifname"`
|
||||||
IP string `json:"ip"`
|
IP string `json:"ip"`
|
||||||
Mac string `json:"mac"`
|
Mac string `json:"mac"`
|
||||||
MaxSpeed float64 `json:"max_speed"`
|
MaxSpeed FlexInt `json:"max_speed"`
|
||||||
Name string `json:"name"`
|
Name string `json:"name"`
|
||||||
Netmask string `json:"netmask"`
|
Netmask string `json:"netmask"`
|
||||||
RxBytes FlexInt `json:"rx_bytes"`
|
RxBytes FlexInt `json:"rx_bytes"`
|
||||||
RxBytesR float64 `json:"rx_bytes-r"`
|
RxBytesR FlexInt `json:"rx_bytes-r"`
|
||||||
RxDropped float64 `json:"rx_dropped"`
|
RxDropped FlexInt `json:"rx_dropped"`
|
||||||
RxErrors float64 `json:"rx_errors"`
|
RxErrors FlexInt `json:"rx_errors"`
|
||||||
RxMulticast float64 `json:"rx_multicast"`
|
RxMulticast FlexInt `json:"rx_multicast"`
|
||||||
RxPackets float64 `json:"rx_packets"`
|
RxPackets FlexInt `json:"rx_packets"`
|
||||||
Speed float64 `json:"speed"`
|
Speed FlexInt `json:"speed"`
|
||||||
TxBytes FlexInt `json:"tx_bytes"`
|
TxBytes FlexInt `json:"tx_bytes"`
|
||||||
TxBytesR float64 `json:"tx_bytes-r"`
|
TxBytesR FlexInt `json:"tx_bytes-r"`
|
||||||
TxDropped float64 `json:"tx_dropped"`
|
TxDropped FlexInt `json:"tx_dropped"`
|
||||||
TxErrors float64 `json:"tx_errors"`
|
TxErrors FlexInt `json:"tx_errors"`
|
||||||
TxPackets float64 `json:"tx_packets"`
|
TxPackets FlexInt `json:"tx_packets"`
|
||||||
Type string `json:"type"`
|
Type string `json:"type"`
|
||||||
Up FlexBool `json:"up"`
|
Up FlexBool `json:"up"`
|
||||||
} `json:"wan2"`
|
} `json:"wan2"`
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue