X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osm_mon%2Fcmd%2Fmon_evaluator.py;h=b1c0e2a1a31943ee186542e6254e1112637c8bfb;hb=refs%2Fchanges%2F82%2F10782%2F3;hp=7d783d3c398e093d7e0b102550183721910748d5;hpb=51f4486b06781541ee15ea332261247ed3e930f6;p=osm%2FMON.git diff --git a/osm_mon/cmd/mon_evaluator.py b/osm_mon/cmd/mon_evaluator.py index 7d783d3..b1c0e2a 100644 --- a/osm_mon/cmd/mon_evaluator.py +++ b/osm_mon/cmd/mon_evaluator.py @@ -21,33 +21,45 @@ # For those usages not covered by the Apache License, Version 2.0 please # contact: bdiaz@whitestack.com or glavado@whitestack.com ## +import argparse import logging import sys -from osm_mon.core.settings import Config +from osm_mon.core.config import Config from osm_mon.evaluator.evaluator import Evaluator +from osm_mon.cmd.mon_utils import wait_till_core_services_are_ready def main(): - cfg = Config.instance() + parser = argparse.ArgumentParser(prog="osm-mon-evaluator") + 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.OSMMON_LOG_LEVEL)) + root.setLevel(logging.getLevelName(cfg.get("global", "loglevel"))) ch = logging.StreamHandler(sys.stdout) - ch.setLevel(logging.getLevelName(cfg.OSMMON_LOG_LEVEL)) - 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) - kafka_logger = logging.getLogger('kafka') - kafka_logger.setLevel(logging.getLevelName(cfg.OSMMON_KAFKA_LOG_LEVEL)) - log = logging.getLogger(__name__) - log.info("Starting MON Evaluator...") - log.info("Config: %s", vars(cfg)) - evaluator = Evaluator() - evaluator.evaluate_forever() + if wait_till_core_services_are_ready(cfg, "osm-mon-evaluator"): + log.info("Starting MON Evaluator...") + log.debug("Config: %s", cfg.conf) + log.info("Initializing database...") + try: + evaluator = Evaluator(cfg) + evaluator.evaluate_forever() + except Exception as e: + log.error("Failed to start MON Evaluator") + log.exception("Exception: %s", str(e)) + else: + log.error("Failed to start MON Evaluator") -if __name__ == '__main__': +if __name__ == "__main__": main()