Files
aiops/backend/internal/models/terminal_session.go
T
attacker 5949ec5d0c feat: Agent采集uptime, 后端持久化kernel/uptime/diskIO, 前端磁盘BPS+IOPS展示
- 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 工具函数
2026-06-19 01:10:00 +00:00

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"`
}