From a394bd6cacdb71f046dd1e9506f234c5a69042fe Mon Sep 17 00:00:00 2001 From: WalkerLee <374524+leeassamite@user.noreply.gitee.com> Date: Wed, 9 Feb 2022 16:07:14 +0800 Subject: [PATCH] =?UTF-8?q?fixed:=201.=20=E4=BF=AE=E5=A4=8D=E6=8E=A2?= =?UTF-8?q?=E6=B5=8B=E5=8A=9F=E8=83=BD=E5=88=9D=E6=AC=A1=E6=8E=A2=E6=B5=8B?= =?UTF-8?q?=E5=90=8E=EF=BC=8C=E5=BD=B1=E5=93=8D=E9=85=8D=E7=BD=AE=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98=E3=80=82=202.=20=E4=BF=AE=E5=A4=8D=E9=87=87?= =?UTF-8?q?=E9=9B=86=E4=BB=BB=E5=8A=A1=E5=BC=82=E5=B8=B8=E6=97=B6=EF=BC=8C?= =?UTF-8?q?=E6=9F=90=E4=BA=9B=E7=8A=B6=E6=80=81=E6=9C=AA=E5=A4=84=E7=90=86?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98=E3=80=82=203.=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E6=8F=92=E5=85=A5TdEngine=E6=97=B6=E8=BD=AC?= =?UTF-8?q?=E4=B9=89=E7=9A=84=E9=97=AE=E9=A2=98=E3=80=82=204.=20=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E5=BC=80=E5=8F=91=E7=8E=AF=E5=A2=83=E8=AF=BB=E5=8F=96?= =?UTF-8?q?=E6=8E=A2=E6=B5=8B=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6=E6=97=B6?= =?UTF-8?q?=E8=B7=AF=E5=BE=84=E9=94=99=E8=AF=AF=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/usthe/alert/calculate/CalculateAlarm.java | 15 ++++++++++++--- .../java/com/usthe/common/entity/job/Job.java | 8 ++++++++ .../manager/service/impl/AppServiceImpl.java | 4 ++-- .../warehouse/store/TdEngineDataStorage.java | 6 ++++-- 4 files changed, 26 insertions(+), 7 deletions(-) diff --git a/alerter/src/main/java/com/usthe/alert/calculate/CalculateAlarm.java b/alerter/src/main/java/com/usthe/alert/calculate/CalculateAlarm.java index 4ae34b1..d694878 100644 --- a/alerter/src/main/java/com/usthe/alert/calculate/CalculateAlarm.java +++ b/alerter/src/main/java/com/usthe/alert/calculate/CalculateAlarm.java @@ -78,7 +78,13 @@ public class CalculateAlarm { .priority(CommonConstants.ALERT_PRIORITY_CODE_EMERGENCY) .status(CommonConstants.ALERT_STATUS_CODE_PENDING) .times(1); - if (metricsData.getCode() == CollectRep.Code.UN_REACHABLE) { + if (metricsData.getCode() == CollectRep.Code.UN_AVAILABLE) { + // 采集器不可用 + alertBuilder.target(CommonConstants.AVAILABLE) + .content("监控紧急可用性告警: " + metricsData.getCode().name()); + triggeredMonitorStateAlertMap.put(monitorId, CollectRep.Code.UN_AVAILABLE); + dataQueue.addAlertData(alertBuilder.build()); + } else if (metricsData.getCode() == CollectRep.Code.UN_REACHABLE) { // UN_REACHABLE 对端不可达(网络层icmp) alertBuilder.target(CommonConstants.REACHABLE) .content("监控紧急可达性告警: " + metricsData.getCode().name()); @@ -91,8 +97,11 @@ public class CalculateAlarm { triggeredMonitorStateAlertMap.put(monitorId, CollectRep.Code.UN_CONNECTABLE); dataQueue.addAlertData(alertBuilder.build()); } else { - // todo 其它规范异常 TIMEOUT ... - return; + // 其他异常 + alertBuilder.target(CommonConstants.AVAILABLE) + .content("监控紧急可用性告警: " + metricsData.getCode().name()); + triggeredMonitorStateAlertMap.put(monitorId, metricsData.getCode()); + dataQueue.addAlertData(alertBuilder.build()); } return; } else { diff --git a/common/src/main/java/com/usthe/common/entity/job/Job.java b/common/src/main/java/com/usthe/common/entity/job/Job.java index 77ae04a..fd15b2e 100644 --- a/common/src/main/java/com/usthe/common/entity/job/Job.java +++ b/common/src/main/java/com/usthe/common/entity/job/Job.java @@ -2,6 +2,7 @@ package com.usthe.common.entity.job; import com.fasterxml.jackson.annotation.JsonIgnore; +import com.google.gson.Gson; import com.usthe.common.entity.message.CollectRep; import lombok.AllArgsConstructor; import lombok.Builder; @@ -180,4 +181,11 @@ public class Job { } responseDataTemp.add(metricsData); } + + private static final Gson GSON = new Gson(); + + public Job clone(){ + // 深度克隆 + return GSON.fromJson(GSON.toJsonTree(this), Job.class); + } } diff --git a/manager/src/main/java/com/usthe/manager/service/impl/AppServiceImpl.java b/manager/src/main/java/com/usthe/manager/service/impl/AppServiceImpl.java index 91045a5..35528a8 100644 --- a/manager/src/main/java/com/usthe/manager/service/impl/AppServiceImpl.java +++ b/manager/src/main/java/com/usthe/manager/service/impl/AppServiceImpl.java @@ -59,7 +59,7 @@ public class AppServiceImpl implements AppService, CommandLineRunner { if (appDefine == null) { throw new IllegalArgumentException("The app " + app + " not support."); } - return appDefine; + return appDefine.clone(); } @Override @@ -123,7 +123,7 @@ public class AppServiceImpl implements AppService, CommandLineRunner { public void run(String... args) throws Exception { // 读取app定义配置加载到内存中 define/app/*.yml Yaml yaml = new Yaml(); - String classpath = this.getClass().getResource(File.separator).getPath(); + String classpath = this.getClass().getClassLoader().getResource("").getPath(); String defineAppPath = classpath + File.separator + "define" + File.separator + "app"; File directory = new File(defineAppPath); if (!directory.exists() || directory.listFiles() == null) { diff --git a/warehouse/src/main/java/com/usthe/warehouse/store/TdEngineDataStorage.java b/warehouse/src/main/java/com/usthe/warehouse/store/TdEngineDataStorage.java index eca8932..4fd0859 100644 --- a/warehouse/src/main/java/com/usthe/warehouse/store/TdEngineDataStorage.java +++ b/warehouse/src/main/java/com/usthe/warehouse/store/TdEngineDataStorage.java @@ -138,7 +138,7 @@ public class TdEngineDataStorage implements DisposableBean { if (CommonConstants.NULL_VALUE.equals(value)) { sqlRowBuffer.append("NULL"); } else { - sqlRowBuffer.append("'").append(value).append("'"); + sqlRowBuffer.append("'").append(formatStringValue(value)).append("'"); } } if (index != fields.size() - 1) { @@ -197,7 +197,9 @@ public class TdEngineDataStorage implements DisposableBean { } } - + private String formatStringValue(String value){ + return value.replaceAll("(\\\\)|(')","\\\\$0"); + } @Override public void destroy() throws Exception { if (hikariDataSource != null) {