128 lines
2.8 KiB
Go
128 lines
2.8 KiB
Go
package model
|
||
|
||
import (
|
||
"time"
|
||
)
|
||
|
||
type SystemStatus struct {
|
||
CPU struct {
|
||
Usage float64 `json:"usage"` // CPU使用率
|
||
|
||
LoadAvg []float64 `json:"load_avg"` // 系统负载
|
||
|
||
CoreCount int `json:"core_count"` // CPU核心数
|
||
|
||
ModelName string `json:"model_name"` // CPU型号
|
||
|
||
MHz float64 `json:"mhz"` // CPU频率
|
||
|
||
} `json:"cpu"`
|
||
|
||
Memory struct {
|
||
Total uint64 `json:"total"` // 总内存
|
||
|
||
Used uint64 `json:"used"` // 已用内存
|
||
|
||
Free uint64 `json:"free"` // 空闲内存
|
||
|
||
UsageRate float64 `json:"usage_rate"` // 使用率
|
||
|
||
SwapTotal uint64 `json:"swap_total"` // 交换分区总大小
|
||
|
||
SwapUsed uint64 `json:"swap_used"` // 交换分区已用
|
||
|
||
SwapFree uint64 `json:"swap_free"` // 交换分区空闲
|
||
|
||
SwapUsageRate float64 `json:"swap_usage_rate"` // 交换分区使用率
|
||
|
||
} `json:"memory"`
|
||
|
||
Disk struct {
|
||
Partitions []DiskPartition `json:"partitions"` // 磁盘分区信息
|
||
|
||
} `json:"disk"`
|
||
|
||
Network struct {
|
||
Interfaces []NetworkInterface `json:"interfaces"` // 网络接口信息
|
||
|
||
} `json:"network"`
|
||
|
||
Process struct {
|
||
Total int `json:"total"` // 进程总数
|
||
|
||
List []ProcessInfo `json:"list"` // 进程列表(Top N)
|
||
|
||
} `json:"process"`
|
||
|
||
Host struct {
|
||
Hostname string `json:"hostname"` // 主机名
|
||
|
||
OS string `json:"os"` // 操作系统
|
||
|
||
Platform string `json:"platform"` // 平台
|
||
|
||
PlatformVersion string `json:"platform_version"` // 平台版本
|
||
|
||
KernelVersion string `json:"kernel_version"` // 内核版本
|
||
|
||
BootTime time.Time `json:"boot_time"` // 启动时间
|
||
|
||
} `json:"host"`
|
||
|
||
System struct {
|
||
Uptime time.Duration `json:"uptime"` // 系统运行时间
|
||
|
||
CurrentTime time.Time `json:"current_time"` // 当前时间
|
||
|
||
ActiveUsers int `json:"active_users"` // 活跃用户数
|
||
|
||
TotalDevices int `json:"total_devices"` // 设备总数
|
||
|
||
} `json:"system"`
|
||
}
|
||
|
||
type DiskPartition struct {
|
||
Device string `json:"device"` // 设备名
|
||
|
||
Mountpoint string `json:"mountpoint"` // 挂载点
|
||
|
||
Fstype string `json:"fstype"` // 文件系统类型
|
||
|
||
Total uint64 `json:"total"` // 总空间
|
||
|
||
Used uint64 `json:"used"` // 已用空间
|
||
|
||
Free uint64 `json:"free"` // 空闲空间
|
||
|
||
UsageRate float64 `json:"usage_rate"` // 使用率
|
||
|
||
}
|
||
|
||
type NetworkInterface struct {
|
||
Name string `json:"name"` // 接口名称
|
||
|
||
BytesSent uint64 `json:"bytes_sent"` // 发送字节数
|
||
|
||
BytesRecv uint64 `json:"bytes_recv"` // 接收字节数
|
||
|
||
PacketsSent uint64 `json:"packets_sent"` // 发送包数
|
||
|
||
PacketsRecv uint64 `json:"packets_recv"` // 接收包数
|
||
|
||
Addrs []string `json:"addrs"` // IP地址列表,改为字符串数组
|
||
|
||
}
|
||
|
||
type ProcessInfo struct {
|
||
PID int `json:"pid"` // 进程ID
|
||
|
||
Name string `json:"name"` // 进程名称
|
||
|
||
CPU float64 `json:"cpu"` // CPU使用率
|
||
|
||
Memory float64 `json:"memory"` // 内存使用率
|
||
|
||
Created int64 `json:"created"` // 创建时间
|
||
|
||
}
|