From 890f5ccda9128a5f3c6cc84860b20f3388dc23df Mon Sep 17 00:00:00 2001 From: zhangshuai Date: Fri, 25 Oct 2024 17:09:38 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E7=94=9F=E6=88=90=20default=20dashboard?= =?UTF-8?q?=20=E6=97=B6=EF=BC=8C=E5=85=88=E6=A3=80=E6=9F=A5=20index-patter?= =?UTF-8?q?n=20=E6=98=AF=E5=90=A6=E5=AD=98=E5=9C=A8=EF=BC=8C=E5=AD=98?= =?UTF-8?q?=E5=9C=A8=E5=8D=B3=E5=88=A0=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../runner/service/impl/PcapServiceImpl.java | 24 +++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/src/main/java/net/geedge/asw/module/runner/service/impl/PcapServiceImpl.java b/src/main/java/net/geedge/asw/module/runner/service/impl/PcapServiceImpl.java index d59cb03..e984143 100644 --- a/src/main/java/net/geedge/asw/module/runner/service/impl/PcapServiceImpl.java +++ b/src/main/java/net/geedge/asw/module/runner/service/impl/PcapServiceImpl.java @@ -426,8 +426,28 @@ public class PcapServiceImpl extends ServiceImpl implements if (log.isDebugEnabled()) { log.debug("[generateKibanaDashboardUrl] [dashboard: {}] [exists: {}]", dashboardName, dashboardExists); } - // delete index-patten - kibanaClient.deleteIndexPattern(token, workspaceId, true); + + // check if index-pattern exists + JSONObject indexPattern = kibanaClient.findIndexPattern(token, "index-pattern", indexName); + JSONArray savedObjects = indexPattern.getJSONArray("saved_objects"); + + boolean indexExists = savedObjects.stream() + .filter(obj -> { + JSONObject attributes = ((JSONObject) obj).getJSONObject("attributes"); + if (T.ObjectUtil.isEmpty(attributes)) return false; + String title = attributes.getString("title"); + return T.StrUtil.equals(indexName, title); + }) + .findFirst() + .isPresent(); + + if (indexExists){ + // delete index-pattern + String indexId = savedObjects.stream().map(x -> { + return ((JSONObject) x).getString("id"); + }).findFirst().get(); + kibanaClient.deleteIndexPattern(token, indexId, true); + } // import dashboard Map params = T.MapUtil.builder()