def func4(sflow_entry): uuid = sflow_entry["uuid"] if uuid not in sflow_entry_cache: sflow_entry_cache[uuid] = (sflow_entry, int(time.time())) else: curr_time = int(time.time()) last_sflow_entry = sflow_entry_cache[uuid][0] last_time = sflow_entry_cache[uuid][1] in_pps_diff = int(sflow_entry["in_pps"] - last_sflow_entry["in_pps"]) velocity = int(in_pps_diff / (curr_time - last_time)) if velocity > int(config.CONF.alarm.pps_threshold): record = models.AbnormalRecord() record.uuid = uuid record.start = time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(curr_time)) record.stats = json.dumps(sflow_entry) api.abnormal_record_insert(record)
def func4(sflow_entry): uuid = sflow_entry["uuid"] if uuid not in sflow_entry_cache: sflow_entry_cache[uuid] = (sflow_entry, int(time.time())) else: curr_time = int(time.time()) last_sflow_entry = sflow_entry_cache[uuid][0] last_time = sflow_entry_cache[uuid][1] in_pps_diff = int(sflow_entry["in_pps"] - last_sflow_entry["in_pps"]) velocity = int(in_pps_diff / (curr_time - last_time)) if velocity > int(config.CONF.alarm.pps_threshold): record = models.AbnormalRecord() record.uuid = uuid record.start = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(curr_time)) record.stats = json.dumps(sflow_entry) api.abnormal_record_insert(record)
def test_abnormal_record_get_set(self): #TODO ar = models.AbnormalRecord() letter_digits = string.ascii_letters + string.digits ar.uuid = ''.join([letter_digits[random.randint(0,35)] for i in range(0,36)]) ar.start = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime()) ar.end = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime()) ar.stats = 'test,this is just a test' api.abnormal_record_insert(ar) ret = api.abnormal_record_get_all() uuid_set = set(map(lambda x:x.uuid, ret)) assert(ar.uuid in uuid_set) #import pdb #pdb.set_trace() api.abnormal_record_delete(ar.uuid) ret = api.abnormal_record_get_all() uuid_set = set(map(lambda x:x.uuid, ret)) assert(ar.uuid not in uuid_set)
def test_abnormal_record_get_set(self): #TODO ar = models.AbnormalRecord() letter_digits = string.ascii_letters + string.digits ar.uuid = ''.join( [letter_digits[random.randint(0, 35)] for i in range(0, 36)]) ar.start = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()) ar.end = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()) ar.stats = 'test,this is just a test' api.abnormal_record_insert(ar) ret = api.abnormal_record_get_all() uuid_set = set(map(lambda x: x.uuid, ret)) assert (ar.uuid in uuid_set) #import pdb #pdb.set_trace() api.abnormal_record_delete(ar.uuid) ret = api.abnormal_record_get_all() uuid_set = set(map(lambda x: x.uuid, ret)) assert (ar.uuid not in uuid_set)