summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorshizhendong <[email protected]>2024-08-02 18:27:22 +0800
committershizhendong <[email protected]>2024-08-02 18:27:22 +0800
commita837a160f9fff193ebd28e66f1d1a21ed7df1b01 (patch)
tree08a6e84fa7843efa539dff00bbc1479269269c2a
parentaf0d0e55ca0a74686f3693b69e9f197634344d1c (diff)
fix: 调整 pcap 文件解析 index_name= workspace-{workspace.name}-{pcap.md5}
-rw-r--r--src/main/java/net/geedge/asw/module/runner/util/PcapParserThread.java31
1 files changed, 19 insertions, 12 deletions
diff --git a/src/main/java/net/geedge/asw/module/runner/util/PcapParserThread.java b/src/main/java/net/geedge/asw/module/runner/util/PcapParserThread.java
index abd3d31..dc91382 100644
--- a/src/main/java/net/geedge/asw/module/runner/util/PcapParserThread.java
+++ b/src/main/java/net/geedge/asw/module/runner/util/PcapParserThread.java
@@ -17,6 +17,7 @@ import org.opensearch.client.opensearch.core.BulkRequest;
import org.opensearch.client.opensearch.core.BulkResponse;
import org.opensearch.client.opensearch.core.bulk.BulkResponseItem;
import org.opensearch.client.opensearch.indices.CreateIndexRequest;
+import org.opensearch.client.opensearch.indices.DeleteIndexRequest;
import org.opensearch.client.opensearch.indices.ExistsRequest;
import org.opensearch.client.opensearch.indices.IndexSettings;
@@ -152,8 +153,12 @@ public class PcapParserThread implements Runnable {
* @param jsonArray
*/
private void uploadToOpenSearch(JSONArray jsonArray) {
+ String pcapPath = pcapEntity.getPath();
+ String md5Hex = T.DigestUtil.md5Hex(T.FileUtil.file(pcapPath));
+
String workspaceName = pcapEntity.getWorkspace().getName();
- String indexName = String.format("workspace-%s", workspaceName);
+ String indexName = String.format("workspace-%s-%s", workspaceName, md5Hex);
+
try {
// check if index exists
boolean indexExists = openSearchClient.indices()
@@ -162,23 +167,25 @@ public class PcapParserThread implements Runnable {
if (log.isDebugEnabled()) {
log.debug("[uploadToOpenSearch] [index: {}] [exists: {}]", indexName, indexExists);
}
- // if index not exists, create index with default settings
- if (!indexExists) {
- openSearchClient.indices().create(
- new CreateIndexRequest.Builder()
- .index(indexName)
- .settings(new IndexSettings.Builder().build())
- .build()
- );
- log.debug("[uploadToOpenSearch] [index: {}] [created]", indexName);
+ // if index exists, delete
+ if (indexExists) {
+ openSearchClient.indices().delete(new DeleteIndexRequest.Builder().index(indexName).build());
+ log.debug("[uploadToOpenSearch] [index: {}] [deleted]", indexName);
}
+ // create index with default settings
+ openSearchClient.indices().create(
+ new CreateIndexRequest.Builder()
+ .index(indexName)
+ .settings(new IndexSettings.Builder().build())
+ .build()
+ );
+
// upload data in bulk
BulkRequest.Builder br = new BulkRequest.Builder();
- String pcapId = pcapEntity.getId();
for (int i = 0; i < jsonArray.size(); i++) {
JSONObject jsonObject = (JSONObject) jsonArray.get(i);
- String id = pcapId + "-" + String.valueOf(i);
+ String id = String.valueOf(i);
br.operations(op -> op.index(
idx -> idx.index(indexName)
.id(id)