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;
}
onDelete() {
let prometheus = new Prometheus(this);
prometheus.remove();
}
/**
* Helper Method:
* 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 = {

View file

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