From 40b3751990808b8b12d1a7cef5fc18a02cc2d525 Mon Sep 17 00:00:00 2001 From: qidaijie Date: Thu, 18 Jan 2024 16:22:24 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=8B=BC=E6=8E=A5Protocol=20Statck=20ID?= =?UTF-8?q?=E6=97=B6=E5=8E=BB=E9=99=A4=E9=87=8D=E5=A4=8D=E7=9A=84=E5=9F=BA?= =?UTF-8?q?=E7=A1=80=E5=8D=8F=E8=AE=AE=E3=80=82=EF=BC=88TSG-18697=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../utils/functions/process/ParsingData.java | 37 +++++++++++++++---- .../zdjizhi/utils/kafka/KafkaProducer.java | 2 +- .../java/com/zdjizhi/ConventionalTest.java | 22 +++++++++++ 3 files changed, 52 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/zdjizhi/utils/functions/process/ParsingData.java b/src/main/java/com/zdjizhi/utils/functions/process/ParsingData.java index 257915c..e88ae78 100644 --- a/src/main/java/com/zdjizhi/utils/functions/process/ParsingData.java +++ b/src/main/java/com/zdjizhi/utils/functions/process/ParsingData.java @@ -28,14 +28,7 @@ public class ParsingData extends ProcessFunction(tags, fields, timestamp_ms)); } @@ -44,4 +37,32 @@ public class ParsingData extends ProcessFunction getKafkaProducer(Properties properties, String topic, boolean logFailuresOnly) { - setDefaultConfig(properties, "ack", 1); + setDefaultConfig(properties, "ack", "1"); setDefaultConfig(properties, "retries", 0); setDefaultConfig(properties, "linger.ms", 10); setDefaultConfig(properties, "request.timeout.ms", 30000); diff --git a/src/test/java/com/zdjizhi/ConventionalTest.java b/src/test/java/com/zdjizhi/ConventionalTest.java index 287b3fb..9e5f185 100644 --- a/src/test/java/com/zdjizhi/ConventionalTest.java +++ b/src/test/java/com/zdjizhi/ConventionalTest.java @@ -72,4 +72,26 @@ public class ConventionalTest { System.out.println(protocol.concat(".").concat(app)); } + + @Test + public void removeDuplicateProtocolTest() { + String str = "[.]"; + String protocol = "ETHERNET.IPv4.TCP.http"; + String[] protocolSplits = protocol.split(str); + String endProtocol = protocolSplits[protocolSplits.length -1]; + System.out.println(endProtocol); + + String app = "http.test"; + String[] appSplits = app.split(str); + String firstAppProtocol = appSplits[0]; + System.out.println(firstAppProtocol); + + + System.out.println(app.substring(app.lastIndexOf(".") + 1)); + System.out.println(app.lastIndexOf(".") + 1); + System.out.println(protocol.substring(0,protocol.lastIndexOf("."))); + + } + + } From e36ce6dc926aff553d191b2d0edb07296bfcb9af Mon Sep 17 00:00:00 2001 From: qidaijie Date: Thu, 18 Jan 2024 18:24:26 +0800 Subject: [PATCH 2/2] =?UTF-8?q?Upgrade=20pom.yml=20and=20README.md?= =?UTF-8?q?=EF=BC=88TSG-18697=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 25 +++++++++++++------------ pom.xml | 2 +- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 2705dfc..26fc95f 100644 --- a/README.md +++ b/README.md @@ -16,21 +16,22 @@ Live Traffic Chart统计程序,基于协议栈拆分多流聚合,存储到 ### 2.基于Tags内容进行分组统计。 -### 3.拆分protocol_stack_id协议树为多个节点 +### 3.拆分protocol_stack_id协议树为多个节点,例如:ETHERNET.IPv4.TCP.https.kingsoft.wps_office,每个节点ID为 -#### 例如,ETHERNET.IPv4.TCP.https.kingsoft.wps_office,每个节点ID为: +1. ETHERNET +2. ETHERNET.IPv4 +3. ETHERNET.IPv4.TCP +4. ETHERNET.IPv4.TCP.https +5. ETHERNET.IPv4.TCP.https.kingsoft +6. ETHERNET.IPv4.TCP.https.kingsoft.wps_office -##### ETHERNET +#### 为避免展示重复的协议,拆分应去除Decoded Path(最后一个元素)与 Application(第一个元素)重复的基础协议,例如:{"protocol_label": "ETHERNET.IPv4.TCP.dns","app_full_path": "dns"} -##### ETHERNET.IPv4 - -##### ETHERNET.IPv4.TCP - -##### ETHERNET.IPv4.TCP.https - -##### ETHERNET.IPv4.TCP.https.kingsoft - -##### ETHERNET.IPv4.TCP.https.kingsoft.wps_office +1. ETHERNET +2. ETHERNET.IPv4 +3. ETHERNET.IPv4.TCP +4. ETHERNET.IPv4.TCP.dns +##### 将protocol_label内最后的一个基础协议去除 ### 4.app_name仅在终端节点输出。 diff --git a/pom.xml b/pom.xml index e76331f..8aec1b7 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ com.zdjizhi app-protocol-stat-traffic-merge - 2.0.1 + 2.1.0 app-protocol-stat-traffic-merge http://www.example.com