You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

54 lines
1.1 KiB

1 month ago
from pydantic import BaseModel
from typing import Optional, List
class CpuInfo(BaseModel):
cpu_num: Optional[int]
used: Optional[str]
sys: Optional[str]
free: Optional[str]
class MemoryInfo(BaseModel):
total: Optional[str]
used: Optional[str]
free: Optional[str]
usage: Optional[str]
class SysInfo(BaseModel):
computer_ip: Optional[str]
computer_name: Optional[str]
os_arch: Optional[str]
os_name: Optional[str]
class PyInfo(BaseModel):
name: Optional[str]
version: Optional[str]
start_time: Optional[str]
run_time: Optional[str]
home: Optional[str]
project_dir: Optional[str]
class SysFiles(BaseModel):
dir_name: Optional[str]
sys_type_name: Optional[str]
disk_name: Optional[str]
total: Optional[str]
used: Optional[str]
free: Optional[str]
usage: Optional[str]
class ServerMonitorModel(BaseModel):
"""
服务监控对应pydantic模型
"""
cpu: Optional[CpuInfo]
py: Optional[PyInfo]
mem: Optional[MemoryInfo]
sys: Optional[SysInfo]
sys_files: Optional[List[SysFiles]]