diff --git a/server/model/monitor.js b/server/model/monitor.js index 5a04b3833..48bd5a4cc 100644 --- a/server/model/monitor.js +++ b/server/model/monitor.js @@ -466,11 +466,16 @@ class Monitor extends BeanModel { stop() { clearTimeout(this.heartbeatInterval); this.isStop = true; + + this.prometheus().remove(); } onDelete() { - let prometheus = new Prometheus(this); - prometheus.remove(); + this.prometheus().remove(); + } + + prometheus() { + return new Prometheus(this); } /** diff --git a/server/server.js b/server/server.js index db985c439..fbf0a06e0 100644 --- a/server/server.js +++ b/server/server.js @@ -567,6 +567,11 @@ exports.entryPage = "dashboard"; throw new Error("Permission denied."); } + // Reset Prometheus labels + if (monitorList[monitor.id] && monitorList[monitor.id].prometheus) { + monitorList[monitor.id].prometheus().remove(); + } + bean.name = monitor.name; bean.type = monitor.type; bean.url = monitor.url;