| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- # -*- coding: utf-8 -*-
- from pydantic import BaseModel, ConfigDict, Field
- class CpuInfoSchema(BaseModel):
- """CPU信息模型"""
- model_config = ConfigDict(from_attributes=True)
- cpu_num: int = Field(description="CPU核心数")
- used: float = Field(ge=0, le=100, description="CPU用户使用率(%)")
- sys: float = Field(ge=0, le=100, description="CPU系统使用率(%)")
- free: float = Field(ge=0, le=100, description="CPU空闲率(%)")
- class MemoryInfoSchema(BaseModel):
- """内存信息模型"""
- model_config = ConfigDict(from_attributes=True)
- total: str = Field(description="内存总量")
- used: str = Field(description="已用内存")
- free: str = Field(description="剩余内存")
- usage: float = Field(ge=0, le=100, description="使用率(%)")
- class SysInfoSchema(BaseModel):
- """系统信息模型"""
- model_config = ConfigDict(from_attributes=True)
- computer_ip: str = Field(description="服务器IP")
- computer_name: str = Field(description="服务器名称")
- os_arch: str = Field(description="系统架构")
- os_name: str = Field(description="操作系统")
- user_dir: str = Field(description="项目路径")
- class PyInfoSchema(BaseModel):
- """Python运行信息模型"""
- model_config = ConfigDict(from_attributes=True)
- name: str = Field(description="Python名称")
- version: str = Field(description="Python版本")
- start_time: str = Field(description="启动时间")
- run_time: str = Field(description="运行时长")
- home: str = Field(description="安装路径")
- memory_used: str = Field(description="内存占用")
- memory_usage: float = Field(ge=0, le=100, description="内存使用率(%)")
- memory_total: str = Field(description="总内存")
- memory_free: str = Field(description="剩余内存")
- class DiskInfoSchema(BaseModel):
- """磁盘信息模型"""
- model_config = ConfigDict(from_attributes=True)
- dir_name: str = Field(description="磁盘路径")
- sys_type_name: str = Field(description="文件系统类型")
- type_name: str = Field(description="磁盘类型")
- total: str = Field(description="总容量")
- used: str = Field(description="已用容量")
- free: str = Field(description="可用容量")
- usage: float = Field(ge=0, le=100, description="使用率(%)")
- class ServerMonitorSchema(BaseModel):
- """服务器监控信息模型"""
- model_config = ConfigDict(from_attributes=True)
- cpu: CpuInfoSchema = Field(description="CPU信息")
- mem: MemoryInfoSchema = Field(description="内存信息")
- py: PyInfoSchema = Field(description="Python运行信息")
- sys: SysInfoSchema = Field(description="系统信息")
- disks: list[DiskInfoSchema] = Field(default_factory=list, description="磁盘信息")
|