X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osm_mon%2Fcmd%2Fmon_collector.py;h=30e6676a38804714e08444d7fc46e364014e05b8;hb=HEAD;hp=3e493de8f72c75f19e1894ca8b80d49d3abc53df;hpb=628df021896fa8775f9743af62a4267b617cc35c;p=osm%2FMON.git diff --git a/osm_mon/cmd/mon_collector.py b/osm_mon/cmd/mon_collector.py index 3e493de..30e6676 100644 --- a/osm_mon/cmd/mon_collector.py +++ b/osm_mon/cmd/mon_collector.py @@ -27,33 +27,39 @@ import sys from osm_mon.collector.collector import Collector from osm_mon.core.config import Config -from osm_mon.core.database import DatabaseManager +from osm_mon.cmd.mon_utils import wait_till_core_services_are_ready def main(): - parser = argparse.ArgumentParser(prog='osm-policy-agent') - parser.add_argument('--config-file', nargs='?', help='POL configuration file') + parser = argparse.ArgumentParser(prog="osm-mon-collector") + parser.add_argument("--config-file", nargs="?", help="MON configuration file") args = parser.parse_args() cfg = Config(args.config_file) root = logging.getLogger() - root.setLevel(logging.getLevelName(cfg.get('global', 'loglevel'))) + root.setLevel(logging.getLevelName(cfg.get("global", "loglevel"))) ch = logging.StreamHandler(sys.stdout) - ch.setLevel(logging.getLevelName(cfg.get('global', 'loglevel'))) - formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s', '%m/%d/%Y %I:%M:%S %p') + ch.setLevel(logging.getLevelName(cfg.get("global", "loglevel"))) + formatter = logging.Formatter( + "%(asctime)s - %(name)s - %(levelname)s - %(message)s", "%m/%d/%Y %I:%M:%S %p" + ) ch.setFormatter(formatter) root.addHandler(ch) log = logging.getLogger(__name__) - log.info("Starting MON Collector...") - log.debug("Config: %s", cfg.conf) - log.info("Initializing database...") - db_manager = DatabaseManager(cfg) - db_manager.create_tables() - log.info("Database initialized correctly.") - collector = Collector(cfg) - collector.collect_forever() + if wait_till_core_services_are_ready(cfg, "osm-mon-collector"): + log.info("Starting MON Collector...") + log.debug("Config: %s", cfg.conf) + log.info("Initializing database...") + try: + collector = Collector(cfg) + collector.collect_forever() + except Exception as e: + log.error("Failed to start MON Collector") + log.exception("Exception: %s", str(e)) + else: + log.error("Failed to start MON Collector") -if __name__ == '__main__': +if __name__ == "__main__": main()