Beispiel #1
0
    logger = logging.getLogger()
    logger.setLevel(logging.DEBUG)
    if log_config is not None:
        logger.addFilter(AppNameFilter(log_config["application-name"]))
        handler = graypy.GELFHandler(log_config["host"], log_config["port"])
        logger.addHandler(handler)

    for module in config["modules"]:
        obj_module = Module(json_config=module)
        obj_module.get_hw_module()
        modules.append(obj_module)
        logger.addFilter(ModuleFilter(obj_module))
        alerts.append(ModuleDisconnectedAlert("alert.module.%s" % obj_module.hwid, obj_module))
        for sensor in module["sensors"]:
            obj_sensor = Sensor(obj_module, json_config=sensor)
            obj_sensor.get_hw_sensor()
            sensors.append(obj_sensor)
            logger.addFilter(SensorFilter(obj_sensor))
            for alert in sensor["alerts"]:
                obj_alert = SensorAlert(obj_sensor, json_config=alert)
                alerts.append(obj_alert)

try:
    states_file_read = open('states.json', 'r')
except FileNotFoundError:
    print("States persistence file not found. Initializing with default states.")
else:
    states_read = json.load(states_file_read)
    states_file_read.close()
    for alert in alerts:
        if alert.id in states_read: