Fix: Remove Prom. metrics on delete monitor

This commit is contained in:
Nelson Chan 2022-01-07 11:57:24 +08:00
parent a48176bd48
commit f6ef390c76
3 changed files with 16 additions and 0 deletions

View File

@ -468,6 +468,11 @@ class Monitor extends BeanModel {
this.isStop = true; this.isStop = true;
} }
onDelete() {
let prometheus = new Prometheus(this);
prometheus.remove();
}
/** /**
* Helper Method: * Helper Method:
* returns URL object for further usage * returns URL object for further usage

View File

@ -84,6 +84,16 @@ class Prometheus {
} }
} }
remove() {
try {
monitor_cert_days_remaining.remove(this.monitorLabelValues);
monitor_cert_is_valid.remove(this.monitorLabelValues);
monitor_response_time.remove(this.monitorLabelValues);
monitor_status.remove(this.monitorLabelValues);
} catch (e) {
console.error(e);
}
}
} }
module.exports = { module.exports = {

View File

@ -733,6 +733,7 @@ exports.entryPage = "dashboard";
if (monitorID in monitorList) { if (monitorID in monitorList) {
monitorList[monitorID].stop(); monitorList[monitorID].stop();
monitorList[monitorID].onDelete();
delete monitorList[monitorID]; delete monitorList[monitorID];
} }