def setup(self, mock_hdb): """ Test setUp. """ self._db_manager = db_manager.DatabaseManager() mock_hdb.assert_called_once_with()
def run(): """ Main execution """ args = parse_arguments() if args.config is not None: config = parse_config(args.config) elif args.identifier is not None: file_name = args.identifier + '.json' # determine if file is /etc or /usr/etc config_file = lookup_etc_folder( [dirname + file_name for dirname in CONFIG_FILES_DIR]) config = parse_config(config_file) else: raise ValueError('configuration file or identifier must be used') if config.get('logging', None): setup_logging(config) else: logging.basicConfig(level=args.verbosity or logging.INFO) if args.metrics: metrics = args.metrics else: metrics = lookup_etc_folder(METRICS_FILES) try: hana_config = config['hana'] dbs = db_manager.DatabaseManager() dbs.start(hana_config['host'], hana_config.get('port', 30013), user=hana_config.get('user', ''), password=hana_config.get('password', ''), userkey=hana_config.get('userkey', None), multi_tenant=config.get('multi_tenant', True), timeout=config.get('timeout', 30)) except KeyError as err: raise KeyError( 'Configuration file {} is malformed: {} not found'.format( args.config, err)) if args.daemon: utils.systemd_ready() connectors = dbs.get_connectors() collector = prometheus_exporter.SapHanaCollectors(connectors=connectors, metrics_file=metrics) REGISTRY.register(collector) LOGGER.info('exporter sucessfully registered') LOGGER.info('starting to serve metrics') start_http_server(config.get('exposition_port', 9668), '0.0.0.0') while True: time.sleep(1)
def run(): """ Main execution """ args = parse_arguments() if args.config is not None: config = parse_config(args.config) elif args.identifier is not None: config = parse_config('{}/{}.json'.format(CONFIG_FOLDER, args.identifier)) else: raise ValueError('configuration file or identifier must be used') if config.get('logging', None): setup_logging(config) else: logging.basicConfig(level=args.verbosity or logging.INFO) if args.metrics: metrics = args.metrics else: metrics = find_metrics_file() try: hana_config = config['hana'] dbs = db_manager.DatabaseManager() dbs.start(hana_config['host'], hana_config.get('port', 30013), user=hana_config.get('user', ''), password=hana_config.get('password', ''), userkey=hana_config.get('userkey', None), multi_tenant=config.get('multi_tenant', True), timeout=config.get('timeout', 600)) except KeyError as err: raise KeyError( 'Configuration file {} is malformed: {} not found'.format( args.config, err)) connectors = dbs.get_connectors() collector = prometheus_exporter.SapHanaCollectors(connectors=connectors, metrics_file=metrics) REGISTRY.register(collector) LOGGER.info('exporter sucessfully registered') LOGGER.info('starting to serve metrics') start_http_server(config.get('exposition_port', 9668), '0.0.0.0') while True: time.sleep(1)