feat: 添加celery监控信息
This commit is contained in:
parent
718f594a4b
commit
0af253fb0b
|
@ -1,9 +1,11 @@
|
|||
import psutil
|
||||
import redis
|
||||
from apps.monitor.models import AuditLog
|
||||
from apps.system.models import User
|
||||
from datetime import datetime
|
||||
from apps.utils.tools import compare_values
|
||||
from apps.utils.models import get_model_info
|
||||
from server.celery import celery_control, celery_inspect
|
||||
|
||||
|
||||
def delete_auditlog(model, instance_id):
|
||||
|
@ -98,3 +100,11 @@ class ServerService:
|
|||
@classmethod
|
||||
def get_full(cls):
|
||||
return {'cpu': cls.get_cpu_dict(), 'memory': cls.get_memory_dict(), 'disk': cls.get_disk_dict()}
|
||||
|
||||
|
||||
class CeleryMonitor:
|
||||
@classmethod
|
||||
def get_stats(cls):
|
||||
return {
|
||||
'stat': celery_inspect.stats(),
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
from django.urls import path
|
||||
from .views import DrfRequestLogViewSet, ServerInfoView, LogView, LogDetailView, index, room, video, DbBackupView, AuditlogViewSet
|
||||
from .views import DrfRequestLogViewSet, ServerInfoView, LogView, LogDetailView, index, room, video, DbBackupView, AuditlogViewSet, CeleryInfoView
|
||||
|
||||
API_BASE_URL = 'api/monitor/'
|
||||
HTML_BASE_URL = 'monitor/'
|
||||
|
@ -13,6 +13,7 @@ urlpatterns = [
|
|||
path(API_BASE_URL + 'log/<str:name>/', LogDetailView.as_view()),
|
||||
path(API_BASE_URL + 'dbbackup/', DbBackupView.as_view()),
|
||||
path(API_BASE_URL + 'server/', ServerInfoView.as_view()),
|
||||
path(API_BASE_URL + 'celery/', CeleryInfoView.as_view()),
|
||||
path(API_BASE_URL + 'request_log/',
|
||||
DrfRequestLogViewSet.as_view({'get': 'list'}), name='requestlog_view'),
|
||||
path(API_BASE_URL + 'auditlog/',
|
||||
|
|
|
@ -16,8 +16,9 @@ from apps.monitor.filters import DrfLogFilterSet
|
|||
from apps.monitor.models import DrfRequestLog, AuditLog
|
||||
|
||||
from apps.monitor.errors import LOG_NOT_FONED
|
||||
from apps.monitor.services import ServerService
|
||||
from apps.monitor.services import ServerService, CeleryMonitor
|
||||
from apps.utils.viewsets import CustomGenericViewSet
|
||||
|
||||
# Create your views here.
|
||||
|
||||
|
||||
|
@ -35,6 +36,18 @@ def video(request):
|
|||
return render(request, 'monitor/video.html')
|
||||
|
||||
|
||||
class CeleryInfoView(APIView):
|
||||
permission_classes = [IsAuthenticated]
|
||||
|
||||
def get(self, request, *args, **kwargs):
|
||||
"""
|
||||
获取服务器当前状态
|
||||
|
||||
cpu/内存/硬盘
|
||||
"""
|
||||
return Response(CeleryMonitor.get_stats())
|
||||
|
||||
|
||||
class ServerInfoView(APIView):
|
||||
permission_classes = [IsAuthenticated]
|
||||
|
||||
|
|
Loading…
Reference in New Issue