- Agent: system.go 添加 readUptime(), SystemStat 携带 Uptime - Backend: Server 模型新增 Kernel 字段, ReceiveReport 持久化 kernel+uptime - Backend: /agent/latest 返回 kernel/uptime/port_info/disk_io_info/disk_total - Frontend: 磁盘监控改为 BPS+IOPS (4张卡片), 系统信息修复内核/运行时长/监听端口/磁盘容量 - 图表单位从 MB/s 改为 KB/s, 添加 formatBPS 工具函数
37 lines
1.3 KiB
Go
37 lines
1.3 KiB
Go
package models
|
|
|
|
import "time"
|
|
|
|
// TerminalSession SSH终端会话记录(JumpServer 式终端审计) // Logan.Li
|
|
type TerminalSession struct {
|
|
ID uint `gorm:"primarykey" json:"id"`
|
|
UserID *uint `json:"user_id"`
|
|
Username string `gorm:"size:64" json:"username"`
|
|
ServerID uint `json:"server_id"`
|
|
ServerName string `gorm:"size:128" json:"server_name"`
|
|
ServerIP string `gorm:"size:64" json:"server_ip"`
|
|
ServerPort int `json:"server_port"`
|
|
ClientIP string `gorm:"size:64" json:"client_ip"`
|
|
Status string `gorm:"size:32" json:"status"` // active, closed, failed
|
|
Duration int `json:"duration"` // seconds
|
|
RecordData string `gorm:"type:text" json:"-"` // 终端录制原始输出(不直接返回 JSON)
|
|
RecordSize int `json:"record_size"` // 录制字节数
|
|
StartTime time.Time `json:"start_time"`
|
|
EndTime *time.Time `json:"end_time"`
|
|
CreatedAt time.Time `json:"created_at"`
|
|
}
|
|
|
|
// TableName 表名
|
|
func (TerminalSession) TableName() string {
|
|
return "sys_terminal_sessions"
|
|
}
|
|
|
|
// TerminalSessionQuery 终端会话查询
|
|
type TerminalSessionQuery struct {
|
|
ServerID uint `form:"server_id"`
|
|
Username string `form:"username"`
|
|
Status string `form:"status"`
|
|
Page int `form:"page,default=1"`
|
|
PageSize int `form:"page_size,default=20"`
|
|
}
|