diff options
| author | 王宽 <[email protected]> | 2024-10-14 09:25:31 +0000 |
|---|---|---|
| committer | 王宽 <[email protected]> | 2024-10-14 09:25:31 +0000 |
| commit | 6ad44a6910f2641277207ac0bf0006155807d12f (patch) | |
| tree | dc30aed1672616283bd84e35b5f9d63d87d6ec10 /groot-bootstrap | |
| parent | 2e724cd350ae6d3009e49f81eba71f74c6aec810 (diff) | |
| parent | 72ba1827fb4a5ccf05e450a83dc930766c9f95e3 (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.java | 3 | ||||
| -rw-r--r-- | groot-bootstrap/src/test/resources/grootstream_job_etl_test.yaml | 16 |
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: |
