Feature 10339 - Enhanced Alarm Mgmt. (SOL005 FM Interface)
[osm/MON.git] / osm_mon / server / service.py
index 298043e..584a42f 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,21 @@ 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.
+        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
+        )