Example #1
0
def logger(node=None):
    '''
    '''
    data = request.get_json()
    log_type = data['log_type']
    debug = current_app.config['DEBUG']

    if debug:
        current_app.logger.debug(json.dumps(data, indent=2))

    if log_type == 'status':
        log_tee.handle_status(data, host_identifier=node.host_identifier)
        for item in data.get('data', []):
            status_log = StatusLog(node=node, **item)
            db.session.add(status_log)
        else:
            db.session.commit()

    elif log_type == 'result':
        log_tee.handle_result(data, host_identifier=node.host_identifier)
        analyze_result.delay(data, node.to_dict())
        db.session.bulk_save_objects(process_result(data, node))
        db.session.commit()

    else:
        current_app.logger.error("Unknown log_type %r", log_type)
        current_app.logger.info(json.dumps(data))

    return jsonify(node_invalid=False)
Example #2
0
def logger(node=None):
    '''
    '''
    data = request.get_json()
    log_type = data['log_type']
    log_level = current_app.config['DOORMAN_OSQUERY_STATUS_LOG_LEVEL']
    debug = current_app.config['DEBUG']

    if debug:
        current_app.logger.debug(json.dumps(data, indent=2))

    if log_type == 'status':
        log_tee.handle_status(data, host_identifier=node.host_identifier)
        for item in data.get('data', []):
            status_log = StatusLog(node=node, **item)
            db.session.add(status_log)
        else:
            db.session.commit()

    elif log_type == 'result':
        log_tee.handle_result(data, host_identifier=node.host_identifier)
        process_result(data, node)

    else:
        current_app.logger.error("Unknown log_type %r", log_type)
        current_app.logger.info(json.dumps(data))

    return jsonify(node_invalid=False)
Example #3
0
def logger(node=None):
    '''
    '''
    data = request.get_json()
    log_type = data['log_type']
    debug = current_app.config['DEBUG']

    if debug:
        current_app.logger.debug(json.dumps(data, indent=2))

    if log_type == 'status':
        log_tee.handle_status(data, host_identifier=node.host_identifier)
        for item in data.get('data', []):
            status_log = StatusLog(node=node, **item)
            db.session.add(status_log)
        else:
            db.session.commit()

    elif log_type == 'result':
        log_tee.handle_result(data, host_identifier=node.host_identifier)
        analyze_result.delay(data, node.to_dict())
        db.session.bulk_save_objects(process_result(data, node))
        db.session.commit()

    else:
        current_app.logger.error("Unknown log_type %r", log_type)
        current_app.logger.info(json.dumps(data))

    return jsonify(node_invalid=False)
Example #4
0
def logger(node=None):
    '''
    '''
    data = request.get_json()
    log_type = data['log_type']
    log_level = current_app.config['DOORMAN_OSQUERY_STATUS_LOG_LEVEL']
    debug = current_app.config['DEBUG']

    if debug:
        current_app.logger.debug(json.dumps(data, indent=2))

    if log_type == 'status':
        log_tee.handle_status(data, host_identifier=node.host_identifier)
        for item in data.get('data', []):
            status_log = StatusLog(node=node, **item)
            db.session.add(status_log)
        else:
            db.session.commit()

    elif log_type == 'result':
        log_tee.handle_result(data, host_identifier=node.host_identifier)
        process_result(data, node)

    else:
        current_app.logger.error("Unknown log_type %r", log_type)
        current_app.logger.info(json.dumps(data))

    return jsonify(node_invalid=False)
Example #5
0
def logger(node=None):
    '''
    '''
    data = request.get_json()
    log_type = data['log_type']
    log_level = current_app.config['DOORMAN_MINIMUM_OSQUERY_LOG_LEVEL']

    if current_app.debug:
        current_app.logger.debug(json.dumps(data, indent=2))

    if log_type == 'status':
        log_tee.handle_status(data, host_identifier=node.host_identifier)
        status_logs = []
        for item in data.get('data', []):
            if int(item['severity']) < log_level:
                continue
            status_logs.append(StatusLog(node_id=node.id, **item))
        else:
            db.session.add(node)
            db.session.bulk_save_objects(status_logs)
            db.session.commit()

    elif log_type == 'result':
        db.session.add(node)
        db.session.bulk_save_objects(process_result(data, node))
        db.session.commit()
        log_tee.handle_result(data, host_identifier=node.host_identifier)
        analyze_result.delay(data, node.to_dict())

    else:
        current_app.logger.error("%s - Unknown log_type %r",
            request.remote_addr, log_type
        )
        current_app.logger.info(json.dumps(data))
        # still need to write last_checkin, last_ip
        db.session.add(node)
        db.session.commit()

    return jsonify(node_invalid=False)
Example #6
0
def logger(node=None):
    '''
    '''
    data = request.get_json()
    log_type = data['log_type']
    log_level = current_app.config['DOORMAN_MINIMUM_OSQUERY_LOG_LEVEL']

    if current_app.debug:
        current_app.logger.debug(json.dumps(data, indent=2))

    if log_type == 'status':
        log_tee.handle_status(data, host_identifier=node.host_identifier)
        status_logs = []
        for item in data.get('data', []):
            if int(item['severity']) < log_level:
                continue
            status_logs.append(StatusLog(node_id=node.id, **item))
        else:
            db.session.add(node)
            db.session.bulk_save_objects(status_logs)
            db.session.commit()

    elif log_type == 'result':
        db.session.add(node)
        db.session.bulk_save_objects(process_result(data, node))
        db.session.commit()
        log_tee.handle_result(data, host_identifier=node.host_identifier)
        analyze_result.delay(data, node.to_dict())

    else:
        current_app.logger.error("%s - Unknown log_type %r",
                                 request.remote_addr, log_type)
        current_app.logger.info(json.dumps(data))
        # still need to write last_checkin, last_ip
        db.session.add(node)
        db.session.commit()

    return jsonify(node_invalid=False)