新增获取服务器cpu、内存、硬盘的使用率视图

pull/13/MERGE
qianzhengkai 2021-03-30 20:30:06 +08:00
parent 987c147fd8
commit a64225e20f
4 changed files with 47 additions and 5 deletions

View File

@ -1 +1,3 @@
import pymysql
pymysql.install_as_MySQLdb()

View File

@ -3,7 +3,7 @@ from rest_framework.routers import DefaultRouter
from ..system.views import DictDataModelViewSet, DictDetailsModelViewSet, \
ConfigSettingsModelViewSet, SaveFileModelViewSet, MessagePushModelViewSet, LoginInforModelViewSet, \
OperationLogModelViewSet, CeleryLogModelViewSet
OperationLogModelViewSet, CeleryLogModelViewSet, SystemInfoApiView
router = DefaultRouter()
router.register(r'dict/type', DictDataModelViewSet)
@ -48,6 +48,7 @@ urlpatterns = [
re_path('celery_log/export/', CeleryLogModelViewSet.as_view({'get': 'export', })),
# 清除废弃文件
re_path('clearsavefile/', SaveFileModelViewSet.as_view({'post': 'clearsavefile', })),
# 获取系统信息cpu、内存、硬盘
re_path('sys/info/', SystemInfoApiView.as_view())
]
urlpatterns += router.urls

View File

@ -4,6 +4,7 @@ from django.conf import settings
from django.core.cache import cache
from django.db.models import Q
from rest_framework.request import Request
from rest_framework.views import APIView
from .models import LoginInfor, OperationLog, CeleryLog
from ..op_drf.filters import DataLevelPermissionsFilter
@ -23,6 +24,7 @@ from ..system.serializers import DictDataSerializer, DictDataCreateUpdateSeriali
from ..utils.export_excel import export_excel_save_model
from ..utils.file_util import get_all_files, remove_empty_dir, delete_files
from ..utils.response import SuccessResponse
from ..utils.system_info_utils import get_memory_used_percent, get_cpu_used_percent, get_disk_used_percent
class DictDataModelViewSet(CustomModelViewSet):
@ -328,3 +330,21 @@ class CeleryLogModelViewSet(CustomModelViewSet):
"""
self.get_queryset().delete()
return SuccessResponse(msg="清空成功")
class SystemInfoApiView(APIView):
"""
系统服务监控视图
"""
def get(self, request, *args, **kwargs):
# 获取内存使用率
memory_used_percent = get_memory_used_percent()
# 获取cpu使用率
cpu_used_percent = get_cpu_used_percent()
# 获取硬盘使用率
disk_used_percent = get_disk_used_percent()
return SuccessResponse(data={"memory_used_percent": memory_used_percent,
"cpu_used_percent": cpu_used_percent,
"disk_used_percent": disk_used_percent
})

View File

@ -4,6 +4,27 @@
import psutil as psutil
def get_cpu_info():
"""
获取cpu所有信息
"""
pass
def get_memory_info():
"""
获取内存所有信息
"""
pass
def get_disk_info():
"""
获取硬盘所有信息
"""
pass
def get_cpu_used_percent():
"""
获取CPU运行情况
@ -31,7 +52,5 @@ def get_disk_used_percent():
pass
if __name__ == '__main__':
get_cpu_used_percent()
get_disk_used_percent()