feat: 平台预设字典+凭证加密+分库备份+Agent采集+移动端优先前端重做
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
"""Agent 上报数据 Schema"""
|
||||
|
||||
from typing import List, Optional
|
||||
|
||||
from sqlmodel import SQLModel
|
||||
|
||||
|
||||
class MetricsIn(SQLModel):
|
||||
cpu_pct: Optional[float] = None
|
||||
mem_pct: Optional[float] = None
|
||||
disk_pct: Optional[float] = None
|
||||
net_in_mb: Optional[float] = None
|
||||
net_out_mb: Optional[float] = None
|
||||
load_1m: Optional[float] = None
|
||||
uptime_sec: Optional[int] = None
|
||||
|
||||
|
||||
class ServerInfoIn(SQLModel):
|
||||
hostname: Optional[str] = None
|
||||
os: Optional[str] = None
|
||||
kernel: Optional[str] = None
|
||||
cpu_cores: Optional[int] = None
|
||||
mem_total_gb: Optional[float] = None
|
||||
disk_total_gb: Optional[float] = None
|
||||
public_ip: Optional[str] = None
|
||||
tailscale_ip: Optional[str] = None
|
||||
status: Optional[str] = "online"
|
||||
|
||||
|
||||
class SecurityCheckIn(SQLModel):
|
||||
check_item: str
|
||||
status: str = "unknown" # pass/warn/fail/unknown
|
||||
detail: Optional[str] = None
|
||||
suggestion: Optional[str] = None
|
||||
|
||||
|
||||
class AgentReport(SQLModel):
|
||||
"""Agent 单次上报的完整数据包"""
|
||||
|
||||
asset_id: int
|
||||
metrics: Optional[MetricsIn] = None
|
||||
server_info: Optional[ServerInfoIn] = None
|
||||
security: Optional[List[SecurityCheckIn]] = None
|
||||
Reference in New Issue
Block a user