示例#1
0
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()")
示例#2
0
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")
示例#3
0
        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()