mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-10-28 12:22:42 +00:00
* feat: 添加组件监控;TerminalModel添加type字段; * feat: Terminal序列类添加type字段 * feat: Terminal序列类添加type字段为只读 * feat: 修改组件status文案 * feat: 取消上传组件状态序列类count字段 * reactor: 修改termina/models目录结构 * feat: 修改ComponentTypeChoices * feat: 取消考虑CoreComponent类型 * feat: 修改Terminal status判断逻辑 * feat: 终端列表添加status过滤; 组件状态序列类添加default值 * feat: 添加PrometheusMetricsAPI * feat: 修改PrometheusMetricsAPI Co-authored-by: Bai <bugatti_it@163.com>
35 lines
964 B
Python
35 lines
964 B
Python
# -*- coding: utf-8 -*-
|
|
#
|
|
|
|
import logging
|
|
from rest_framework import generics, status
|
|
from rest_framework.views import Response
|
|
|
|
from .. import serializers
|
|
from ..utils import ComponentsMetricsUtil
|
|
from common.permissions import IsAppUser, IsSuperUser
|
|
|
|
logger = logging.getLogger(__file__)
|
|
|
|
|
|
__all__ = [
|
|
'ComponentsStateAPIView', 'ComponentsMetricsAPIView',
|
|
]
|
|
|
|
|
|
class ComponentsStateAPIView(generics.CreateAPIView):
|
|
""" koko, guacamole, omnidb 上报状态 """
|
|
permission_classes = (IsAppUser,)
|
|
serializer_class = serializers.ComponentsStateSerializer
|
|
|
|
|
|
class ComponentsMetricsAPIView(generics.GenericAPIView):
|
|
""" 返回汇总组件指标数据 """
|
|
permission_classes = (IsSuperUser,)
|
|
|
|
def get(self, request, *args, **kwargs):
|
|
component_type = request.query_params.get('type')
|
|
util = ComponentsMetricsUtil(component_type)
|
|
metrics = util.get_metrics()
|
|
return Response(metrics, status=status.HTTP_200_OK)
|