feat(prometheus): store mon job into prometheus collection, part of the decoupling... 82/10782/3 release-v10.0-start
authorbravof <fbravo@whitestack.com>
Mon, 10 May 2021 15:05:20 +0000 (11:05 -0400)
committerpalsus <subhankar.pal@aricent.com>
Wed, 19 May 2021 19:56:12 +0000 (21:56 +0200)
Change-Id: I5a547729a0c51a13cffb6a8467788992b574c0e9
Signed-off-by: bravof <fbravo@whitestack.com>
osm_mon/server/server.py
osm_mon/server/service.py

index ce6255c..07fdd22 100755 (executable)
@@ -43,6 +43,7 @@ class Server:
         self.loop = loop
         self.msg_bus = MessageBusClient(config)
         self.service = ServerService(config)
+        self.service.populate_prometheus()
 
     def run(self):
         self.loop.run_until_complete(self.start())
index 298043e..94bdf4e 100755 (executable)
@@ -55,3 +55,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
+        )