123456789101112131415161718192021222324252627282930313233 |
- from django.contrib import auth
- from rest_framework.views import APIView
- from django.core.exceptions import ValidationError
- from api.utils import TRIGGEREDALERTS, PROCESSPERFORMANCE, SYSTEMPERFORMANCE, success, failed
- from api.models import Alert, Mission
- import requests
- import json
- class SystemPerformanceAPI(APIView):
- # 获取系统性能信息
- def get(self, request):
- if not request.user.identity == 'admin':
- return failed(message="仅允许管理员访问")
- processes = []
- for process in PROCESSPERFORMANCE:
- processes.append({
- **process,
- 'user': Mission.objects.get(id=process['missionId']).user.username,
- })
- # 注意将触发的告警一并传递
- triggeredAlerts = []
- for alert in TRIGGEREDALERTS:
- triggeredAlerts.append({
- 'name': alert.name,
- 'level': alert.level,
- 'metric': alert.metric,
- 'threshold': alert.threshold,
- 'handle': alert.handle,
- })
-
- return success(data={**SYSTEMPERFORMANCE, 'processes': processes, 'triggeredAlerts': triggeredAlerts})
|