@@ -550,6 +552,8 @@
this.searchLabel.ruleId = this.obj.id;
} else if (this.from == "asset") {
this.searchLabel.assetId = this.obj.id;
+ }else if(this.from == 'endpoint'){
+ this.searchLabel.endpointId=this.obj.id;
}
this.pageObj.pageNo = 1;
for (let item in searchObj) {
@@ -590,6 +594,11 @@
return item.label != "alertType" && item.label != "asset"
});
this.searchLabel.assetId = n.id;
+ } else if(this.from == 'endpoint'){
+ this.searchMsg.searchLabelList = this.searchMsg.searchLabelList.filter((item, index) => {
+ return item.label != "alertType" && item.label != "endpoint"
+ });
+ this.searchLabel.endpointId = n.id;
}
if (n.alertNum) {
this.defaultSearchValue = 1;
diff --git a/nezha-fronted/src/components/common/bottomBox/tabs/endpointQueryTab.vue b/nezha-fronted/src/components/common/bottomBox/tabs/endpointQueryTab.vue
index c4af6047d..0fcc9ee09 100644
--- a/nezha-fronted/src/components/common/bottomBox/tabs/endpointQueryTab.vue
+++ b/nezha-fronted/src/components/common/bottomBox/tabs/endpointQueryTab.vue
@@ -15,8 +15,9 @@
diff --git a/nezha-fronted/src/components/common/language/cn.js b/nezha-fronted/src/components/common/language/cn.js
index 3ba228241..ea968aaf7 100644
--- a/nezha-fronted/src/components/common/language/cn.js
+++ b/nezha-fronted/src/components/common/language/cn.js
@@ -841,8 +841,9 @@ const cn = {
dialogTitle: "历史值",
hideSameLabels: "隐藏重复标签",
stateInfo_230009: "无法获取prometheus服务",
- stateInfo_230010: "prometheus服务可用",
- stateInfo_230011: "prometheus服务不可用 "
+ stateInfo_230010: "Prometheus服务可用",
+ stateInfo_230011: "Endpoint 连接错误",
+ alerts:"告警",
},
metrics: {
metrics: "指标",
diff --git a/nezha-fronted/src/components/common/language/en.js b/nezha-fronted/src/components/common/language/en.js
index 5536e04d0..50d8a641c 100644
--- a/nezha-fronted/src/components/common/language/en.js
+++ b/nezha-fronted/src/components/common/language/en.js
@@ -849,8 +849,8 @@ const en = {
hideSameLabels:'Hide same labels',
stateInfo_230009:'Promserver unavailable',
stateInfo_230010:'Promserver can be used',
- stateInfo_230011:'Promserver can not be used',
-
+ stateInfo_230011:'Endpoint connection refused',
+ alerts:'Alerts'
},
metrics: {
metrics: 'Metrics',//"指标"
diff --git a/nezha-fronted/src/components/page/project/project.vue b/nezha-fronted/src/components/page/project/project.vue
index a23ce6427..bb4d1b3b4 100644
--- a/nezha-fronted/src/components/page/project/project.vue
+++ b/nezha-fronted/src/components/page/project/project.vue
@@ -61,6 +61,7 @@
v-scrollBar:el-table="'large'"
v-show="bottomBox.mainResizeShow"
ref="endpointTable"
+ :cell-class-name="messageStyle"
v-loading="tools.loading"
style="width: 100%;"
@sort-change="tableDataSort"
@@ -86,6 +87,15 @@
-
+
+
+
+ {{(scope.row.alertNum < 99 ? scope.row.alertNum : 99)}}
+ +
+ {{' ' + $t('overall.active')}}
+
+
+
{{currentModule.type}}
@@ -131,9 +141,19 @@
-
+
@@ -168,7 +188,7 @@
/*二级页面相关*/
bottomBox: {
endpoint: {}, //asset详情
- endpointDetail: [],
+ endpointDetail: null,
mainResizeShow: true, //dom高度改变时部分内容是否展示
subResizeShow: true,
isFullScreen: false, //是否是全屏,用来控制拖动条是否展示,
@@ -212,6 +232,10 @@
label: this.$t("project.endpoint.port"),
prop: 'port',
show: true,
+ },{
+ label: this.$t("project.endpoint.alerts"),
+ prop: 'alerts',
+ show: true,
},{
label: this.$t("overall.type"),
prop: 'type',
@@ -387,7 +411,6 @@
this.bottomBox.showSubList = false;
this.currentProject = project;
},
-
//弹出endpoint编辑页
editEndpoint(endpoint) {
this.endpoint = JSON.parse(JSON.stringify(endpoint));
@@ -412,6 +435,11 @@
this.bottomBox.targetTab = "panel";
this.bottomBox.showSubList = true;
},
+ jumpToAlertMsg(endpoint) {
+ this.endpoint = Object.assign({}, endpoint);
+ this.bottomBox.targetTab = 'alertMessage';
+ this.bottomBox.showSubList = true;
+ },
addModule() {
this.module = this.newModule();
this.rightBox.module.show = true;
@@ -585,7 +613,17 @@
bus.$on("endpoint-list-change", menu => {
this.getEndpointTableData();
});
- }
+ },
+ messageStyle(e) {
+ if (e.column.label == 'Alerts' || e.column.label == this.$t("asset.tableTitle.alerts")) {
+ if (e.row.alertNum > 0) {
+ return 'danger';
+ } else {
+ return 'success';
+ }
+ }
+ return '';
+ },
},
created() {
this.currentProject = this.$store.state.currentProject;