From 1361c2b24889c6210f7a94421b90d576086a439a Mon Sep 17 00:00:00 2001 From: byteblogs168 <598092184@qq.com> Date: Sun, 10 Dec 2023 10:39:40 +0800 Subject: [PATCH] =?UTF-8?q?refactor:2.5.0=201.=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E5=91=8A=E8=AD=A6=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../client/core/intercepter/EasyRetryInterceptor.java | 3 +++ .../easy/retry/client/core/report/ReportListener.java | 6 ++++-- .../aizuda/easy/retry/client/core/report/SyncReport.java | 3 +++ .../client/core/strategy/AbstractRetryStrategies.java | 3 +++ .../easy/retry/common/core/enums/NotifySceneEnum.java | 3 ++- .../listener/RetryTaskFailMoreThresholdAlarmListener.java | 5 +++-- .../schedule/RetryErrorMoreThresholdAlarmSchedule.java | 7 +++++-- .../schedule/RetryTaskMoreThresholdAlarmSchedule.java | 7 +++++-- 8 files changed, 28 insertions(+), 9 deletions(-) diff --git a/easy-retry-client/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/intercepter/EasyRetryInterceptor.java b/easy-retry-client/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/intercepter/EasyRetryInterceptor.java index a5ee41b3a..f85ada721 100644 --- a/easy-retry-client/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/intercepter/EasyRetryInterceptor.java +++ b/easy-retry-client/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/intercepter/EasyRetryInterceptor.java @@ -19,6 +19,7 @@ import com.aizuda.easy.retry.common.core.enums.RetryResultStatusEnum; import com.aizuda.easy.retry.common.core.log.LogUtils; import com.aizuda.easy.retry.common.core.model.EasyRetryHeaders; import com.aizuda.easy.retry.common.core.util.EnvironmentUtils; +import com.aizuda.easy.retry.common.core.util.HostUtils; import com.aizuda.easy.retry.server.model.dto.ConfigDTO; import com.google.common.base.Defaults; import lombok.extern.slf4j.Slf4j; @@ -48,6 +49,7 @@ public class EasyRetryInterceptor implements MethodInterceptor, AfterAdvice, Ser private static final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); private static String retryErrorMoreThresholdTextMessageFormatter = "{}环境 重试组件异常 \n" + + "> IP:{} \n" + "> 空间ID:{} \n" + "> 名称:{} \n" + "> 时间:{} \n" + @@ -205,6 +207,7 @@ public class EasyRetryInterceptor implements MethodInterceptor, AfterAdvice, Ser AlarmContext context = AlarmContext.build() .text(retryErrorMoreThresholdTextMessageFormatter, EnvironmentUtils.getActiveProfile(), + HostUtils.getIp(), standardEnvironment.getProperty("easy-retry.namespace", StrUtil.EMPTY), EasyRetryProperties.getGroup(), LocalDateTime.now().format(formatter), diff --git a/easy-retry-client/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/report/ReportListener.java b/easy-retry-client/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/report/ReportListener.java index dacf29dba..23cfad7a6 100644 --- a/easy-retry-client/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/report/ReportListener.java +++ b/easy-retry-client/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/report/ReportListener.java @@ -15,6 +15,7 @@ import com.aizuda.easy.retry.common.core.enums.NotifySceneEnum; import com.aizuda.easy.retry.common.core.log.LogUtils; import com.aizuda.easy.retry.common.core.model.NettyResult; import com.aizuda.easy.retry.common.core.util.EnvironmentUtils; +import com.aizuda.easy.retry.common.core.util.HostUtils; import com.aizuda.easy.retry.common.core.util.JsonUtil; import com.aizuda.easy.retry.common.core.window.Listener; import com.aizuda.easy.retry.server.model.dto.ConfigDTO; @@ -41,7 +42,8 @@ public class ReportListener implements Listener { private static final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); private static String reportErrorTextMessageFormatter = "{}环境 异步批量上报异常 \n" + - "> 空间ID:{} n" + + "> IP:{} \n" + + "> 空间ID:{} \n" + "> 名称:{} \n" + "> 时间:{} \n" + "> 异常:{} \n" @@ -51,7 +53,6 @@ public class ReportListener implements Listener { .client(NettyClient.class) .callback(nettyResult -> LogUtils.info(log, "Data report successfully requestId:[{}]", nettyResult.getRequestId())).build(); - @Override public void handler(List list) { RetryExecutor retryExecutor = @@ -115,6 +116,7 @@ public class ReportListener implements Listener { AlarmContext context = AlarmContext.build() .text(reportErrorTextMessageFormatter, EnvironmentUtils.getActiveProfile(), + HostUtils.getIp(), properties.getNamespace(), EasyRetryProperties.getGroup(), LocalDateTime.now().format(formatter), diff --git a/easy-retry-client/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/report/SyncReport.java b/easy-retry-client/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/report/SyncReport.java index 61c01df43..1164b4c28 100644 --- a/easy-retry-client/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/report/SyncReport.java +++ b/easy-retry-client/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/report/SyncReport.java @@ -13,6 +13,7 @@ import com.aizuda.easy.retry.common.core.enums.NotifySceneEnum; import com.aizuda.easy.retry.common.core.log.LogUtils; import com.aizuda.easy.retry.common.core.model.NettyResult; import com.aizuda.easy.retry.common.core.util.EnvironmentUtils; +import com.aizuda.easy.retry.common.core.util.HostUtils; import com.aizuda.easy.retry.common.core.util.JsonUtil; import com.aizuda.easy.retry.server.model.dto.ConfigDTO; import com.aizuda.easy.retry.server.model.dto.RetryTaskDTO; @@ -41,6 +42,7 @@ public class SyncReport extends AbstractReport { private static String reportErrorTextMessageFormatter = "{}环境 同步上报异常 \n" + + "> IP:{} \n" + "> 空间ID:{} \n" + "> 名称:{} \n" + "> 时间:{} \n" + @@ -97,6 +99,7 @@ public class SyncReport extends AbstractReport { AlarmContext context = AlarmContext.build() .text(reportErrorTextMessageFormatter, EnvironmentUtils.getActiveProfile(), + HostUtils.getIp(), easyRetryProperties.getNamespace(), EasyRetryProperties.getGroup(), LocalDateTime.now().format(formatter), diff --git a/easy-retry-client/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/strategy/AbstractRetryStrategies.java b/easy-retry-client/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/strategy/AbstractRetryStrategies.java index c2be4dff4..87c1c7a36 100644 --- a/easy-retry-client/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/strategy/AbstractRetryStrategies.java +++ b/easy-retry-client/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/strategy/AbstractRetryStrategies.java @@ -15,6 +15,7 @@ import com.aizuda.easy.retry.common.core.alarm.EasyRetryAlarmFactory; import com.aizuda.easy.retry.common.core.enums.NotifySceneEnum; import com.aizuda.easy.retry.common.core.log.LogUtils; import com.aizuda.easy.retry.common.core.util.EnvironmentUtils; +import com.aizuda.easy.retry.common.core.util.HostUtils; import com.aizuda.easy.retry.server.model.dto.ConfigDTO; import com.github.rholder.retry.Retryer; import com.github.rholder.retry.StopStrategy; @@ -41,6 +42,7 @@ public abstract class AbstractRetryStrategies implements RetryStrategy { private static final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); private static String retryErrorMoreThresholdTextMessageFormatter = "{}环境 重试期间发生非预期异常 \n" + + "> IP:{} \n" + "> 空间ID:{} \n" + "> 名称:{} \n" + "> 时间:{} \n" + @@ -179,6 +181,7 @@ public abstract class AbstractRetryStrategies implements RetryStrategy { AlarmContext context = AlarmContext.build() .text(retryErrorMoreThresholdTextMessageFormatter, EnvironmentUtils.getActiveProfile(), + HostUtils.getIp(), easyRetryProperties.getNamespace(), EasyRetryProperties.getGroup(), LocalDateTime.now().format(formatter), diff --git a/easy-retry-common/easy-retry-common-core/src/main/java/com/aizuda/easy/retry/common/core/enums/NotifySceneEnum.java b/easy-retry-common/easy-retry-common-core/src/main/java/com/aizuda/easy/retry/common/core/enums/NotifySceneEnum.java index 4b992f394..f31e21bd2 100644 --- a/easy-retry-common/easy-retry-common-core/src/main/java/com/aizuda/easy/retry/common/core/enums/NotifySceneEnum.java +++ b/easy-retry-common/easy-retry-common-core/src/main/java/com/aizuda/easy/retry/common/core/enums/NotifySceneEnum.java @@ -7,6 +7,7 @@ import lombok.Getter; * * @author: www.byteblogs.com * @date : 2021-11-24 18:18 + * @since : 1.0.0 */ @Getter public enum NotifySceneEnum { @@ -19,7 +20,7 @@ public enum NotifySceneEnum { CLIENT_COMPONENT_ERROR(4,"客户端组件异常", NodeTypeEnum.CLIENT), - RETRY_TASK_REACH_THRESHOLD(5, "任务重试失败数量超过阈值", NodeTypeEnum.SERVER), + RETRY_TASK_REACH_THRESHOLD(5, "任务重试次数超过阈值", NodeTypeEnum.SERVER), RETRY_TASK_ENTER_DEAD_LETTER(6, "任务重试失败进入死信队列", NodeTypeEnum.SERVER); diff --git a/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/listener/RetryTaskFailMoreThresholdAlarmListener.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/listener/RetryTaskFailMoreThresholdAlarmListener.java index 70e8cabc8..09c48f687 100644 --- a/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/listener/RetryTaskFailMoreThresholdAlarmListener.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/listener/RetryTaskFailMoreThresholdAlarmListener.java @@ -49,7 +49,7 @@ public class RetryTaskFailMoreThresholdAlarmListener extends */ private LinkedBlockingQueue queue = new LinkedBlockingQueue<>(1000); private static String retryTaskFailMoreThresholdMessagesFormatter = - "{}环境 重试任务失败数量超过阈值 \n" + + "{}环境 任务重试次数超过{}个 \n" + "> 空间ID:{} \n" + "> 组名称:{} \n" + "> 执行器名称:{} \n" + @@ -83,6 +83,7 @@ public class RetryTaskFailMoreThresholdAlarmListener extends // 预警 return AlarmContext.build().text(retryTaskFailMoreThresholdMessagesFormatter, EnvironmentUtils.getActiveProfile(), + notifyConfig.getNotifyThreshold(), retryAlarmInfo.getNamespaceId(), retryAlarmInfo.getGroupName(), retryAlarmInfo.getExecutorName(), @@ -90,7 +91,7 @@ public class RetryTaskFailMoreThresholdAlarmListener extends retryAlarmInfo.getRetryCount(), retryAlarmInfo.getArgsStr(), DateUtils.format(retryAlarmInfo.getCreateDt(), DateUtils.NORM_DATETIME_PATTERN)) - .title("组:[{}] 场景:[{}] 环境重试任务失败数量超过阈值", retryAlarmInfo.getGroupName(), + .title("组:[{}] 场景:[{}] 环境任务重试次数超过阈值", retryAlarmInfo.getGroupName(), retryAlarmInfo.getSceneName()) .notifyAttribute(notifyConfig.getNotifyAttribute()); } diff --git a/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/schedule/RetryErrorMoreThresholdAlarmSchedule.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/schedule/RetryErrorMoreThresholdAlarmSchedule.java index ade7f4017..296523fd8 100644 --- a/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/schedule/RetryErrorMoreThresholdAlarmSchedule.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/schedule/RetryErrorMoreThresholdAlarmSchedule.java @@ -47,7 +47,8 @@ import java.util.List; @Slf4j public class RetryErrorMoreThresholdAlarmSchedule extends AbstractSchedule implements Lifecycle { private static String retryErrorMoreThresholdTextMessageFormatter = - "{}环境 重试失败数据监控 \n" + + "{}环境 场景重试失败数量超过{}个 \n" + + "> 空间ID:{} \n" + "> 组名称:{} \n" + "> 场景名称:{} \n" + "> 时间窗口:{} ~ {} \n" + @@ -90,11 +91,13 @@ public class RetryErrorMoreThresholdAlarmSchedule extends AbstractSchedule imple between(RetryDeadLetter::getCreateDt, now.minusMinutes(30), now) .eq(RetryDeadLetter::getGroupName, notifyConfigPartitionTask.getGroupName()) .eq(RetryDeadLetter::getSceneName, notifyConfigPartitionTask.getSceneName())); - if (count > notifyConfigPartitionTask.getNotifyThreshold()) { + if (count >= notifyConfigPartitionTask.getNotifyThreshold()) { // 预警 AlarmContext context = AlarmContext.build() .text(retryErrorMoreThresholdTextMessageFormatter, EnvironmentUtils.getActiveProfile(), + count, + notifyConfigPartitionTask.getNamespaceId(), notifyConfigPartitionTask.getGroupName(), notifyConfigPartitionTask.getSceneName(), DateUtils.format(now.minusMinutes(30), diff --git a/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/schedule/RetryTaskMoreThresholdAlarmSchedule.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/schedule/RetryTaskMoreThresholdAlarmSchedule.java index 6945733a2..942bb6f06 100644 --- a/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/schedule/RetryTaskMoreThresholdAlarmSchedule.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/schedule/RetryTaskMoreThresholdAlarmSchedule.java @@ -44,7 +44,8 @@ import java.util.List; @RequiredArgsConstructor public class RetryTaskMoreThresholdAlarmSchedule extends AbstractSchedule implements Lifecycle { private static String retryTaskMoreThresholdTextMessageFormatter = - "{}环境 重试数据监控 \n" + + "{}环境 场景重试数量超过{}个 \n" + + "> 空间ID:{} \n" + "> 组名称:{} \n" + "> 场景名称:{} \n" + "> 告警时间:{} \n" + @@ -83,11 +84,13 @@ public class RetryTaskMoreThresholdAlarmSchedule extends AbstractSchedule implem .eq(RetryTask::getGroupName, partitionTask.getGroupName()) .eq(RetryTask::getSceneName, partitionTask.getSceneName()) .eq(RetryTask::getRetryStatus, RetryStatusEnum.RUNNING.getStatus())); - if (count > partitionTask.getNotifyThreshold()) { + if (count >= partitionTask.getNotifyThreshold()) { // 预警 AlarmContext context = AlarmContext.build() .text(retryTaskMoreThresholdTextMessageFormatter, EnvironmentUtils.getActiveProfile(), + count, + partitionTask.getNamespaceId(), partitionTask.getGroupName(), partitionTask.getSceneName(), DateUtils.toNowFormat(DateUtils.NORM_DATETIME_PATTERN),