From 446ac7127bf983cc77c8d7aea0a122f52b96e698 Mon Sep 17 00:00:00 2001
From: Xiao Bai <2835066049@qq.com>
Date: Sun, 18 Dec 2022 19:46:51 +0800
Subject: [PATCH] =?UTF-8?q?NEZ-2469=20feat=20:endpoint=20operation?=
=?UTF-8?q?=E5=A2=9E=E5=8A=A0Metric=20target=E6=8C=89=E9=92=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../src/components/common/mixin/dataList.js | 15 +++++++++++++++
.../src/components/common/mixin/table.js | 4 ++++
.../common/table/settings/endpointTable.vue | 1 +
.../page/monitor/endpoint/endpointList.vue | 1 +
4 files changed, 21 insertions(+)
diff --git a/nezha-fronted/src/components/common/mixin/dataList.js b/nezha-fronted/src/components/common/mixin/dataList.js
index 3f891dc43..ce6364bb0 100644
--- a/nezha-fronted/src/components/common/mixin/dataList.js
+++ b/nezha-fronted/src/components/common/mixin/dataList.js
@@ -335,6 +335,21 @@ export default {
}
this.silenceBoxShow = true
},
+ metricTarget (row, type) {
+ const protocol = row.configs[0].config.protocol
+ const host = row.configs[0].config.host
+ const port = row.configs[0].config.port
+ const metricsPath = row.configs[0].config.metrics_path
+ const params = row.configs[0].config.params
+ let str = ''
+ if (!lodash.isEmpty(params)) {
+ for (const key in params) {
+ str += key + '=' + params[key]
+ }
+ }
+ const linkTarget = protocol + ':' + '//' + host + ':' + port + metricsPath + '?' + str
+ window.open(linkTarget, 'target')
+ },
topology (row, type) {
const chartInfo = lodash.cloneDeep(defaultData)
chartInfo.id = row.id
diff --git a/nezha-fronted/src/components/common/mixin/table.js b/nezha-fronted/src/components/common/mixin/table.js
index 13afdf27b..4418bb739 100644
--- a/nezha-fronted/src/components/common/mixin/table.js
+++ b/nezha-fronted/src/components/common/mixin/table.js
@@ -78,6 +78,10 @@ export default {
this.$emit('topology', row, param)
break
}
+ case 'metricTarget': {
+ this.$emit('metricTarget', row, param)
+ break
+ }
default:
this.$emit(command, row, param)
break
diff --git a/nezha-fronted/src/components/common/table/settings/endpointTable.vue b/nezha-fronted/src/components/common/table/settings/endpointTable.vue
index c5549926c..d8c08001e 100644
--- a/nezha-fronted/src/components/common/table/settings/endpointTable.vue
+++ b/nezha-fronted/src/components/common/table/settings/endpointTable.vue
@@ -197,6 +197,7 @@
{{$t('overall.duplicate')}}
{{$t('overall.silenceAlert')}}
{{$t('overall.topology')}}
+ Metric target
diff --git a/nezha-fronted/src/components/page/monitor/endpoint/endpointList.vue b/nezha-fronted/src/components/page/monitor/endpoint/endpointList.vue
index 06f98a42b..687bcd356 100644
--- a/nezha-fronted/src/components/page/monitor/endpoint/endpointList.vue
+++ b/nezha-fronted/src/components/page/monitor/endpoint/endpointList.vue
@@ -157,6 +157,7 @@
@reload="getTableData"
@addSilence="addSilence"
@topology="topology"
+ @metricTarget="metricTarget"
@selectionChange="selectionChange"
@showBottomBox="(targetTab, item) => { $refs.dataList.showBottomBox(targetTab, item) }">