diff --git a/pom.xml b/pom.xml
index 5628354..55dd9ec 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
com.zdjizhi
flink-dos-detection
- 24-04-19
+ 24-07-25
flink-dos-detection
http://www.example.com
@@ -80,7 +80,7 @@
- flink-dos-detection-24-04-19
+ flink-dos-detection-24-07-25
org.apache.http
diff --git a/src/main/java/com/zdjizhi/function/FlatSketchFunction.java b/src/main/java/com/zdjizhi/function/FlatSketchFunction.java
index f21944b..6e14ce8 100644
--- a/src/main/java/com/zdjizhi/function/FlatSketchFunction.java
+++ b/src/main/java/com/zdjizhi/function/FlatSketchFunction.java
@@ -21,52 +21,29 @@ public class FlatSketchFunction implements FlatMapFunction
try {
if (StringUtil.isNotBlank(value)) {
- DosSketchLog dosSketchLog = new DosSketchLog();
+ DosSketchLog dosSketchLog = JSONObject.parseObject(value, DosSketchLog.class);
dosSketchLog.setRecv_time(System.currentTimeMillis()/1000);
- DosSketchMetricsLog dosSketchMetricsLog = JSONObject.parseObject(value, DosSketchMetricsLog.class);
- dosSketchLog.setVsys_id(Integer.parseInt(dosSketchMetricsLog.getTags().getOrDefault("vsys_id", "1")));
- dosSketchLog.setServer_ip(dosSketchMetricsLog.getTags().getOrDefault("server_ip", "").trim());
- dosSketchLog.setDecoded_as(dosSketchMetricsLog.getTags().getOrDefault("decoded_as", "").trim());
- dosSketchLog.setDuration(Long.parseLong(dosSketchMetricsLog.getTags().getOrDefault("duration","60000")));
- dosSketchLog.setTimestamp_ms(dosSketchMetricsLog.getTimestamp_ms());
- dosSketchLog.setStart_timestamp_ms(dosSketchMetricsLog.getTimestamp_ms());
- dosSketchLog.setEnd_timestamp_ms(dosSketchMetricsLog.getTimestamp_ms() + dosSketchLog.getDuration());
- dosSketchLog.setClient_ip(dosSketchMetricsLog.getTags().getOrDefault("client_ip", "").trim());
- dosSketchLog.setData_center(dosSketchMetricsLog.getTags().getOrDefault("data_center", "").trim());
- dosSketchLog.setDevice_id(dosSketchMetricsLog.getTags().getOrDefault("device_id", "").trim());
- dosSketchLog.setDevice_group(dosSketchMetricsLog.getTags().getOrDefault("device_group", "").trim());
- dosSketchLog.setServer_country(dosSketchMetricsLog.getTags().getOrDefault("server_country", "").trim());
- dosSketchLog.setClient_country(dosSketchMetricsLog.getTags().getOrDefault("client_country", "").trim());
- dosSketchLog.setRule_id(Integer.parseInt(dosSketchMetricsLog.getTags().getOrDefault("rule_id", "0")));
- dosSketchLog.setName(dosSketchMetricsLog.getTags().getOrDefault("name", ""));
-
+ dosSketchLog.setStart_timestamp_ms(dosSketchLog.getTimestamp_ms());
+ dosSketchLog.setEnd_timestamp_ms(dosSketchLog.getTimestamp_ms() + dosSketchLog.getDuration());
HashSet client_ips = new HashSet<>();
HashSet client_countrys = new HashSet<>();
dosSketchLog.setClient_ips(client_ips);
dosSketchLog.setClient_countrys(client_countrys);
- if("top_client_and_server_ip".equals(dosSketchMetricsLog.getName())){
- dosSketchLog.setPkts(dosSketchMetricsLog.getFields().getOrDefault("pkts",0L));
- dosSketchLog.setBytes(dosSketchMetricsLog.getFields().getOrDefault("bytes",0L));
- dosSketchLog.setSessions(dosSketchMetricsLog.getFields().getOrDefault("sessions",0L));
+ if("top_client_and_server_ip".equals(dosSketchLog.getName())){
client_ips.add(dosSketchLog.getClient_ip());
- if(!dosSketchLog.getClient_country().isEmpty()) {
+ if(dosSketchLog.getClient_country()!=null && !dosSketchLog.getClient_country().isEmpty()) {
client_countrys.add(dosSketchLog.getClient_country());
}
}
- else if("top_client_ip_and_server_ip".equals(dosSketchMetricsLog.getName())){
+ else if("top_client_ip_and_server_ip".equals(dosSketchLog.getName())){
dosSketchLog.setPkts(0);
dosSketchLog.setBytes(0);
dosSketchLog.setSessions(0);
client_ips.add(dosSketchLog.getClient_ip());
- if(!dosSketchLog.getClient_country().isEmpty()) {
+ if(dosSketchLog.getClient_country()!=null && !dosSketchLog.getClient_country().isEmpty()) {
client_countrys.add(dosSketchLog.getClient_country());
}
}
- else {
- dosSketchLog.setPkts(dosSketchMetricsLog.getFields().getOrDefault("pkts",0L));
- dosSketchLog.setBytes(dosSketchMetricsLog.getFields().getOrDefault("bytes",0L));
- dosSketchLog.setSessions(dosSketchMetricsLog.getFields().getOrDefault("sessions",0L));
- }
out.collect(dosSketchLog);
}
} catch (Exception e) {