Skip to content

feat: 监控网关api 兼容旧esb网关和新网关 --story=123701143 #6087

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
66 changes: 22 additions & 44 deletions bklog/apps/api/modules/monitor.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
"""
MONITOR 模块,调用接口汇总
"""
from django.conf import settings
from django.utils.translation import gettext_lazy as _ # noqa

from apps.api.base import DataAPI # noqa
Expand All @@ -34,134 +35,111 @@ class _MonitorApi(object):
MODULE = _("Monitor监控平台")

def __init__(self):
self.save_alarm_strategy = DataAPI(
method="POST",
url=MONITOR_APIGATEWAY_ROOT + "save_alarm_strategy/",
module=self.MODULE,
description="保存告警策略",
default_return_value=None,
before_request=add_esb_info_before_request,
)
self.search_user_groups = DataAPI(
method="POST",
url=MONITOR_APIGATEWAY_ROOT + "search_user_groups/",
url=self._build_url("user_group/search/", "search_user_groups/"),
module=self.MODULE,
description="查询通知组",
default_return_value=None,
before_request=add_esb_info_before_request,
)
self.save_notice_group = DataAPI(
method="POST",
url=MONITOR_APIGATEWAY_ROOT + "save_notice_group/",
url=self._build_url("user_group/save/", "save_notice_group/"),
module=self.MODULE,
description="保存通知组",
default_return_value=None,
before_request=add_esb_info_before_request,
)
self.save_alarm_strategy_v2 = DataAPI(
method="POST",
url=MONITOR_APIGATEWAY_ROOT + "save_alarm_strategy_v2/",
module=self.MODULE,
description="保存告警策略V2",
default_return_value=None,
before_request=add_esb_info_before_request,
)
self.search_alarm_strategy_v2 = DataAPI(
method="POST",
url=MONITOR_APIGATEWAY_ROOT + "search_alarm_strategy_v2/",
module=self.MODULE,
description="查询告警策略V2",
default_return_value=None,
before_request=add_esb_info_before_request,
)
self.delete_alarm_strategy_v2 = DataAPI(
method="POST",
url=MONITOR_APIGATEWAY_ROOT + "delete_alarm_strategy_v2/",
module=self.MODULE,
description="删除告警策略V2",
default_return_value=None,
before_request=add_esb_info_before_request,
)
self.delete_alarm_strategy_v3 = DataAPI(
method="POST",
url=MONITOR_APIGATEWAY_ROOT + "delete_alarm_strategy_v3/",
url=self._build_url("alarm_strategy/delete/", "delete_alarm_strategy_v3/"),
module=self.MODULE,
description="删除告警策略V3",
default_return_value=None,
before_request=add_esb_info_before_request,
)
self.search_alarm_strategy_v3 = DataAPI(
method="POST",
url=MONITOR_APIGATEWAY_ROOT + "search_alarm_strategy_v3",
url=self._build_url("alarm_strategy/search/", "search_alarm_strategy_v3"),
module=self.MODULE,
description="查询告警策略V3",
default_return_value=None,
before_request=add_esb_info_before_request,
)
self.save_alarm_strategy_v3 = DataAPI(
method="POST",
url=MONITOR_APIGATEWAY_ROOT + "save_alarm_strategy_v3/",
url=self._build_url("alarm_strategy/save/", "save_alarm_strategy_v3/"),
module=self.MODULE,
description="保存告警策略V3",
default_return_value=None,
before_request=add_esb_info_before_request,
)
self.query_log_relation = DataAPI(
method="POST",
url=MONITOR_APIGATEWAY_ROOT + "query_log_relation",
url=self._build_url("apm/query_log_relation/", "query_log_relation"),
module=self.MODULE,
description="根据索引集id获取服务关联",
default_return_value=None,
before_request=add_esb_info_before_request,
)
self.create_or_update_report = DataAPI(
method="POST",
url=(MONITOR_APIGATEWAY_ROOT_NEW or MONITOR_APIGATEWAY_ROOT) + "create_or_update_report/",
url=self._build_url("new_report/create_or_update_report/", "create_or_update_report/"),
module=self.MODULE,
description="创建或更新订阅报表",
default_return_value=None,
before_request=add_esb_info_before_request,
)
self.send_report = DataAPI(
method="POST",
url=(MONITOR_APIGATEWAY_ROOT_NEW or MONITOR_APIGATEWAY_ROOT) + "send_report/",
url=self._build_url("new_report/send_report/", "send_report/"),
module=self.MODULE,
description="发送阅报表",
default_return_value=None,
before_request=add_esb_info_before_request,
)
self.get_reports = DataAPI(
method="GET",
url=(MONITOR_APIGATEWAY_ROOT_NEW or MONITOR_APIGATEWAY_ROOT) + "get_exist_reports/",
url=self._build_url("new_report/get_exist_reports/", "get_exist_reports/"),
module=self.MODULE,
description="获取已存在的订阅报表",
default_return_value=None,
before_request=add_esb_info_before_request,
)
self.get_report_variables = DataAPI(
method="GET",
url=(MONITOR_APIGATEWAY_ROOT_NEW or MONITOR_APIGATEWAY_ROOT) + "get_report_variables/",
url=self._build_url("new_report/get_report_variables/", "get_report_variables/"),
module=self.MODULE,
description="获取订阅报表的变量列表",
default_return_value=None,
before_request=add_esb_info_before_request,
)
self.search_alert = DataAPI(
method="POST",
url=(MONITOR_APIGATEWAY_ROOT_NEW or MONITOR_APIGATEWAY_ROOT) + "search_alert/",
url=self._build_url("alert/search/", "search_alert/"),
module=self.MODULE,
description="查询告警",
default_return_value=None,
before_request=add_esb_info_before_request,
)
self.get_alert_detail = DataAPI(
method="GET",
url=(MONITOR_APIGATEWAY_ROOT_NEW or MONITOR_APIGATEWAY_ROOT) + "get_alert_detail/",
url=self._build_url("alert/detail/", "get_alert_detail/"),
module=self.MODULE,
description="获取告警详情",
default_return_value=None,
before_request=add_esb_info_before_request,
)

@property
def use_apigw(self):
return settings.USE_NEW_MONITOR_APIGATEWAY

def _build_url(self, new_path, old_path):
return (
f"{MONITOR_APIGATEWAY_ROOT_NEW}app/{new_path}" if self.use_apigw else f"{MONITOR_APIGATEWAY_ROOT}{old_path}"
)


MonitorApi = _MonitorApi()
Loading