diff --git a/ruoyi-fastapi-backend/module_admin/controller/server_controller.py b/ruoyi-fastapi-backend/module_admin/controller/server_controller.py index 86c970a..f63fdf8 100644 --- a/ruoyi-fastapi-backend/module_admin/controller/server_controller.py +++ b/ruoyi-fastapi-backend/module_admin/controller/server_controller.py @@ -1,16 +1,18 @@ -from fastapi import APIRouter, Request -from fastapi import Depends -from module_admin.service.login_service import LoginService -from module_admin.service.server_service import * +from fastapi import APIRouter, Depends, Request from module_admin.aspect.interface_auth import CheckUserInterfaceAuth -from utils.response_util import * -from utils.log_util import * +from module_admin.entity.vo.server_vo import ServerMonitorModel +from module_admin.service.login_service import LoginService +from module_admin.service.server_service import ServerService +from utils.response_util import ResponseUtil +from utils.log_util import logger serverController = APIRouter(prefix='/monitor/server', dependencies=[Depends(LoginService.get_current_user)]) -@serverController.get("", response_model=ServerMonitorModel, dependencies=[Depends(CheckUserInterfaceAuth('monitor:server:list'))]) +@serverController.get( + '', response_model=ServerMonitorModel, dependencies=[Depends(CheckUserInterfaceAuth('monitor:server:list'))] +) async def get_monitor_server_info(request: Request): # 获取全量数据 server_info_query_result = await ServerService.get_server_monitor_info() diff --git a/ruoyi-fastapi-backend/module_admin/entity/vo/server_vo.py b/ruoyi-fastapi-backend/module_admin/entity/vo/server_vo.py index f7693be..810ecac 100644 --- a/ruoyi-fastapi-backend/module_admin/entity/vo/server_vo.py +++ b/ruoyi-fastapi-backend/module_admin/entity/vo/server_vo.py @@ -1,6 +1,6 @@ from pydantic import BaseModel, ConfigDict, Field from pydantic.alias_generators import to_camel -from typing import Optional, List +from typing import List, Optional class CpuInfo(BaseModel): @@ -57,6 +57,7 @@ class ServerMonitorModel(BaseModel): """ 服务监控对应pydantic模型 """ + model_config = ConfigDict(alias_generator=to_camel) cpu: Optional[CpuInfo] = Field(description='CPU相关信息') diff --git a/ruoyi-fastapi-backend/module_admin/service/server_service.py b/ruoyi-fastapi-backend/module_admin/service/server_service.py index da6e2a2..2f9a53f 100644 --- a/ruoyi-fastapi-backend/module_admin/service/server_service.py +++ b/ruoyi-fastapi-backend/module_admin/service/server_service.py @@ -1,10 +1,10 @@ -import psutil -from utils.common_util import bytes2human +import os import platform +import psutil import socket -import os import time -from module_admin.entity.vo.server_vo import * +from module_admin.entity.vo.server_vo import CpuInfo, MemoryInfo, PyInfo, ServerMonitorModel, SysFiles, SysInfo +from utils.common_util import bytes2human class ServerService: @@ -40,7 +40,9 @@ class ServerService: computer_name = platform.node() os_arch = platform.machine() user_dir = os.path.abspath(os.getcwd()) - sys = SysInfo(computerIp=computer_ip, computerName=computer_name, osArch=os_arch, osName=os_name, userDir=user_dir) + sys = SysInfo( + computerIp=computer_ip, computerName=computer_name, osArch=os_arch, osName=os_name, userDir=user_dir + ) # python解释器信息 current_pid = os.getpid() @@ -49,14 +51,14 @@ class ServerService: python_version = platform.python_version() python_home = current_process.exe() start_time_stamp = current_process.create_time() - start_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(start_time_stamp)) + start_time = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(start_time_stamp)) current_time_stamp = time.time() difference = current_time_stamp - start_time_stamp # 将时间差转换为天、小时和分钟数 days = int(difference // (24 * 60 * 60)) # 每天的秒数 hours = int((difference % (24 * 60 * 60)) // (60 * 60)) # 每小时的秒数 minutes = int((difference % (60 * 60)) // 60) # 每分钟的秒数 - run_time = f"{days}天{hours}小时{minutes}分钟" + run_time = f'{days}天{hours}小时{minutes}分钟' # 获取当前Python程序的pid pid = os.getpid() # 获取该进程的内存信息 @@ -70,7 +72,7 @@ class ServerService: total=bytes2human(memory_info.available), used=bytes2human(current_process_memory_info.rss), free=bytes2human(memory_info.available - current_process_memory_info.rss), - usage=round((current_process_memory_info.rss / memory_info.available) * 100, 2) + usage=round((current_process_memory_info.rss / memory_info.available) * 100, 2), ) # 磁盘信息 @@ -81,11 +83,11 @@ class ServerService: disk_data = SysFiles( dirName=i.device, sysTypeName=i.fstype, - typeName="本地固定磁盘(" + i.mountpoint.replace('\\', '') + ")", + typeName='本地固定磁盘(' + i.mountpoint.replace('\\', '') + ')', total=bytes2human(o.total), used=bytes2human(o.used), free=bytes2human(o.free), - usage=f'{psutil.disk_usage(i.device).percent}%' + usage=f'{psutil.disk_usage(i.device).percent}%', ) sys_files.append(disk_data)