X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osm_mon%2Fcollector%2Fcollector.py;fp=osm_mon%2Fcollector%2Fcollector.py;h=31438828157456c502667cfa9663ebf697e1cd94;hb=8303862ef038a0db43cbddd5c152c97928af1957;hp=016014bf85cbc854c7c57ec885a8b70519158320;hpb=7efdb35916ac96bcaa548b62629402ca279e4b56;p=osm%2FMON.git diff --git a/osm_mon/collector/collector.py b/osm_mon/collector/collector.py index 016014b..3143882 100644 --- a/osm_mon/collector/collector.py +++ b/osm_mon/collector/collector.py @@ -24,6 +24,8 @@ import logging import multiprocessing import time +import peewee + from osm_mon.collector.backends.prometheus import PrometheusBackend from osm_mon.collector.collectors.juju import VCACollector from osm_mon.collector.collectors.openstack import OpenstackCollector @@ -50,10 +52,7 @@ class Collector: self.database_manager = DatabaseManager() self.database_manager.create_tables() self.queue = multiprocessing.Queue() - - def init_backends(self): - for backend in METRIC_BACKENDS: - self.plugins.append(backend()) + self._init_backends() def collect_forever(self): log.debug('collect_forever') @@ -62,6 +61,9 @@ class Collector: try: self.collect_metrics() time.sleep(cfg.OSMMON_COLLECTOR_INTERVAL) + except peewee.PeeweeException: + log.exception("Database error consuming message: ") + raise except Exception: log.exception("Error collecting metrics") @@ -106,3 +108,7 @@ class Collector: metrics.append(self.queue.get()) for plugin in self.plugins: plugin.handle(metrics) + + def _init_backends(self): + for backend in METRIC_BACKENDS: + self.plugins.append(backend())