class ECELDaemon(object): def __init__(self, *args, **kwargs): logging.debug("Initializing ECELDaemon()") #get the engine object self.engine = Engine() logging.debug("Completed initializing ECELDaemon()") def start_collectors(self): logging.debug("Instantiating start_collectors()") collectors = self.engine.get_all_collectors() for i, collector in enumerate(collectors): if collector.name != 'manualscreenshot': logging.debug("Starting Collector: " + collector.name) self.engine.start_collector(collector) logging.debug("Completed start_collectors()") return "Collectors started" def stop_collectors(self): logging.debug("Instantiating stop_collectors()") collectors = self.engine.get_all_collectors() for i, collector in enumerate(collectors): if collector.name != 'manualscreenshot': logging.debug("Starting Collector: " + collector.name) self.engine.stop_collector(collector) logging.debug("Completed stop_collectors()") return "Collectors stopped" def parse_data_all(self): logging.debug("Instantiating parse_data_all()") collectors = self.engine.get_all_collectors() for i, collector in enumerate(collectors): logging.debug("PARSER: " + str(collector.name)) self.engine.parser(collector) logging.debug("Completed parse_data_all()") def export_data(self, path=None): logging.debug("Instantiating export_data()") if path == None or os.path.exists(path) == False: logging.warning("Valid path was not provided: " + str(path) + ". Writing to /tmp/") path = "/tmp/" logging.debug("Exporting data to: " + str(path)) self.engine.export(path) logging.debug("Completed export_data()") def remove_data(self): logging.debug("Instantiating remove_data()") self.engine.delete_all() logging.debug("Completed remove_data()")
def parse_and_export(): engine = Engine() c = engine.get_all_collectors() logging.debug("Engine_invoker: parsing data") engine.parse_all_collectors_data() logging.debug("Engine_invoker: exporting data") engine.export('/root/Desktop/') logging.debug("Engine_invoker: Complete. Exiting")
self.logger.addHandler( SysLogHandler(address=find_syslog(), facility=SysLogHandler.LOG_DAEMON)) self.logger.setLevel(logging.INFO) def run(self): print self.logger.info(self.collector) engine = Engine() collector = engine.get_collector(self.collector) print self.logger.info(collector) engine.start_collector(collector) while not self.got_sigterm(): print self.logger.info("Running Collector...") if self.got_sigterm(): print self.logger.info( "Stopping all collectors and Exiting Program..") engine.stop_collector(collector) if __name__ == '__main__': engine = Engine() collectors = engine.get_all_collectors() for i, collector in enumerate(collectors): if collector.name != 'manualscreenshot': service_name = "ecel_service_" + collector.name print "%s" % (collector.name) service = ecel_Service(service_name, pid_dir='/tmp') service.start()