TSG-16920 修复自定义静态阈值满足任意阈值条件均产生告警
This commit is contained in:
@@ -131,9 +131,22 @@ public class DosDetection extends BroadcastProcessFunction<DosSketchLog,Map<Stri
|
||||
long diffPkt = value.getSketch_packets() - pktBase;
|
||||
long diffByte = value.getSketch_bytes() - bitBase;
|
||||
|
||||
Double diffSessionPercent = getDiffPercent(diffSession, sessionBase)*100;
|
||||
Double diffPktPercent = getDiffPercent(diffPkt, pktBase)*100;
|
||||
Double diffBitPercent = getDiffPercent(diffByte, bitBase)*100;
|
||||
// Double diffSessionPercent = getDiffPercent(diffSession, sessionBase)*100;
|
||||
// Double diffPktPercent = getDiffPercent(diffPkt, pktBase)*100;
|
||||
// Double diffBitPercent = getDiffPercent(diffByte, bitBase)*100;
|
||||
|
||||
double diffSessionPercent=0.0;
|
||||
double diffPktPercent=0.0;
|
||||
double diffBitPercent=0.0;
|
||||
if (sessionBase != 0 && sessionBase > 0){
|
||||
diffSessionPercent = getDiffPercent(diffSession, sessionBase)*100;
|
||||
}
|
||||
else if (pktBase != 0 && pktBase > 0){
|
||||
diffPktPercent = getDiffPercent(diffPkt, pktBase)*100;
|
||||
}
|
||||
else if (bitBase != 0 && bitBase > 0){
|
||||
diffBitPercent = getDiffPercent(diffByte, bitBase)*100;
|
||||
}
|
||||
|
||||
long profileId = 0;
|
||||
DosEventLog result =null;
|
||||
@@ -148,22 +161,6 @@ public class DosDetection extends BroadcastProcessFunction<DosSketchLog,Map<Stri
|
||||
profileId = threshold.getProfileId();
|
||||
result = getDosEventLog(value, bitBase, diffByte, profileId, STATIC_CONDITION_TYPE, BITS_TAG);
|
||||
}
|
||||
|
||||
/*
|
||||
ArrayList<DosEventLog> dosEventLogs = new ArrayList<>();
|
||||
if (result != null){
|
||||
dosEventLogs.add(result);
|
||||
Integer[] superiorIds = threshold.getSuperiorIds();
|
||||
if (superiorIds != null && superiorIds.length > 0){
|
||||
for (Integer integer:superiorIds){
|
||||
DosEventLog clone = (DosEventLog) result.clone();
|
||||
clone.setVsys_id(integer);
|
||||
clone.setLog_id(SnowflakeId.generateId());
|
||||
dosEventLogs.add(clone);
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -316,7 +313,13 @@ public class DosDetection extends BroadcastProcessFunction<DosSketchLog,Map<Stri
|
||||
}
|
||||
|
||||
private Double getDiffPercent(long diff, long base) {
|
||||
return BigDecimal.valueOf((float) diff / base).setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue();
|
||||
try {
|
||||
return BigDecimal.valueOf((float) diff / base).setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue();
|
||||
}catch (Exception e){
|
||||
logger.info("当前阈值为0,进行下一阈值条件判断",e);
|
||||
return 0.0;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private Severity judgeSeverity(double diffPercent) {
|
||||
|
||||
Reference in New Issue
Block a user