package monitor import ( "strings" "github.com/shirou/gopsutil/v3/host" ) // HostInfo 主机信息(主机名/系统/开机时长等,gopsutil host.InfoStat) type HostInfo struct { HostName string `json:"hostName"` Uptime uint64 `json:"uptime"` BootTime uint64 `json:"bootTime"` Procs uint64 `json:"procs"` Os string `json:"os"` Platform string `json:"platform"` } // getHostInfo 采集主机信息 func getHostInfo() (HostInfo, error) { info := HostInfo{} h, err := host.Info() if err != nil { return info, err } info.HostName = h.Hostname info.Uptime = h.Uptime info.BootTime = h.BootTime info.Procs = h.Procs info.Os = h.OS info.Platform = strings.Trim(strings.Replace(h.Platform, "Microsoft", "", -1), " ") return info, nil }