summaryrefslogtreecommitdiff
path: root/groot-bootstrap
diff options
context:
space:
mode:
author王宽 <[email protected]>2024-10-14 09:25:31 +0000
committer王宽 <[email protected]>2024-10-14 09:25:31 +0000
commit6ad44a6910f2641277207ac0bf0006155807d12f (patch)
treedc30aed1672616283bd84e35b5f9d63d87d6ec10 /groot-bootstrap
parent2e724cd350ae6d3009e49f81eba71f74c6aec810 (diff)
parent72ba1827fb4a5ccf05e450a83dc930766c9f95e3 (diff)
Merge branch 'feature/udf-uuid' into 'develop'
Feature/udf uuid See merge request galaxy/platform/groot-stream!114
Diffstat (limited to 'groot-bootstrap')
-rw-r--r--groot-bootstrap/src/test/java/com/geedgenetworks/bootstrap/main/simple/JobEtlTest.java3
-rw-r--r--groot-bootstrap/src/test/resources/grootstream_job_etl_test.yaml16
2 files changed, 19 insertions, 0 deletions
diff --git a/groot-bootstrap/src/test/java/com/geedgenetworks/bootstrap/main/simple/JobEtlTest.java b/groot-bootstrap/src/test/java/com/geedgenetworks/bootstrap/main/simple/JobEtlTest.java
index a6516d6..1ec85c7 100644
--- a/groot-bootstrap/src/test/java/com/geedgenetworks/bootstrap/main/simple/JobEtlTest.java
+++ b/groot-bootstrap/src/test/java/com/geedgenetworks/bootstrap/main/simple/JobEtlTest.java
@@ -71,6 +71,9 @@ public class JobEtlTest {
Assert.assertEquals("[2600:1015:b002::,255.255.255.255]", CollectSink.values.get(0).getExtractedFields().get("ip_string").toString());
Assert.assertEquals("hello", CollectSink.values.get(0).getExtractedFields().get("mail_attachment_name").toString());
Assert.assertEquals("MULTIPATH_ETHERNET", CollectSink.values.get(0).getExtractedFields().get("tunnels_schema_type").toString());
+ Assert.assertEquals(36, CollectSink.values.get(0).getExtractedFields().get("log_uuid").toString().length());
+ Assert.assertEquals(36, CollectSink.values.get(0).getExtractedFields().get("log_uuid_v7").toString().length());
+ Assert.assertEquals("dacad383-8355-5493-9e1e-20ef5cd8b8fd", CollectSink.values.get(0).getExtractedFields().get("ip_uuid").toString());
}
diff --git a/groot-bootstrap/src/test/resources/grootstream_job_etl_test.yaml b/groot-bootstrap/src/test/resources/grootstream_job_etl_test.yaml
index 9724e21..aa27209 100644
--- a/groot-bootstrap/src/test/resources/grootstream_job_etl_test.yaml
+++ b/groot-bootstrap/src/test/resources/grootstream_job_etl_test.yaml
@@ -101,6 +101,10 @@ processing_pipelines:
output_fields: [ ingestion_time ]
parameters:
value_expression: recv_time
+ - function: EVAL
+ output_fields: [internal_ip]
+ parameters:
+ value_expression: "(direction == 'Outbound')? client_ip : server_ip"
- function: DOMAIN
lookup_fields: [ http_host,ssl_sni,dtls_sni,quic_sni ]
output_fields: [ server_domain ]
@@ -141,6 +145,18 @@ processing_pipelines:
# tags: tags
rename_expression: key =string.replace_all(key,'encapsulation.0.','');return key;
+ - function: UUIDv5
+ lookup_fields: [ client_ip, server_ip ] # 基于 client_ip, server_ip的值组成UUIDv5 name 参数值与命名空间结合后,通过哈希生成唯一的 UUID。
+ output_fields: [ ip_uuid ]
+ parameters:
+ namespace: NAMESPACE_IP
+ - function: UUIDv7
+ output_fields: [ log_uuid_v7 ] # 生成基于时间戳和随机数的 UUID
+ - function: UUID
+ output_fields: [ log_uuid ]
+
+
+
sinks:
kafka_sink_a: