LicenseManger/internal/model/monitor.go

128 lines
2.8 KiB
Go
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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"` // 创建时间
}