Bug 2215 fixed
[osm/MON.git] / osm_mon / server / service.py
index 298043e..7bc6dfc 100755 (executable)
@@ -41,11 +41,12 @@ class ServerService:
         severity: str,
         statistic: str,
         metric_name: str,
+        action: str,
         tags: dict,
     ) -> Alarm:
         log.debug("create_alarm")
         alarm = Alarm(
-            name, severity, threshold, operation, statistic, metric_name, tags
+            name, severity, threshold, operation, statistic, metric_name, action, tags
         )
         self.common_db.create_alarm(alarm)
         log.info("Alarm %s created", alarm.name)
@@ -55,3 +56,16 @@ class ServerService:
         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.
+        log.info("Setting up MON Exporter in prometheus")
+        result = 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,
+        )
+        log.info("Prometheus Jobs added > {}".format(result))