X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osm_mon%2Fserver%2Fservice.py;h=94bdf4e912cdf2c6756be4631736df334bb11c47;hb=refs%2Fchanges%2F82%2F10782%2F3;hp=60cb3ecfe505cb919abf4b1511e6e0f1c47f1e4f;hpb=8c43ba0ce4a3910a350e3e74fe24770f04918f1e;p=osm%2FMON.git diff --git a/osm_mon/server/service.py b/osm_mon/server/service.py index 60cb3ec..94bdf4e 100755 --- a/osm_mon/server/service.py +++ b/osm_mon/server/service.py @@ -30,22 +30,46 @@ log = logging.getLogger(__name__) class ServerService: - def __init__(self, config: Config): self.common_db = CommonDbClient(config) - def create_alarm(self, - name: str, - threshold: float, - operation: str, - severity: str, - statistic: str, - metric_name: str, - tags: dict) -> Alarm: - alarm = Alarm(name, severity, threshold, operation, statistic, metric_name, tags) + def create_alarm( + self, + name: str, + threshold: float, + operation: str, + severity: str, + statistic: str, + metric_name: str, + tags: dict, + ) -> Alarm: + log.debug("create_alarm") + alarm = Alarm( + name, severity, threshold, operation, statistic, metric_name, tags + ) self.common_db.create_alarm(alarm) + log.info("Alarm %s created", alarm.name) return alarm - def delete_alarm(self, - alarm_uuid: str) -> None: + def delete_alarm(self, alarm_uuid: str) -> None: + log.debug("delete_alarm") self.common_db.delete_alarm(alarm_uuid) + log.info("Alarm %s is deleted", alarm_uuid) + + def populate_prometheus(self): + # This method can be executed infinite number of times + # without side-effects. + self.common_db.common_db.set_one( + "prometheus_jobs", {"job_name": "mon_exporter"}, { + "job_name": "mon_exporter", + "static_configs": [ + { + "targets": [ + "mon:8000" + ] + } + ] + }, + fail_on_empty=False, + upsert=True + )