From c31a22e3ad5d5679655f6813ac8889f432de58e3 Mon Sep 17 00:00:00 2001 From: tomsun28 Date: Tue, 22 Feb 2022 15:59:17 +0800 Subject: [PATCH] =?UTF-8?q?[alerter]fixbug=E9=87=8D=E5=90=AF=E5=90=8E?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E5=BC=82=E5=B8=B8=E7=9B=91=E6=8E=A7=E6=97=A0?= =?UTF-8?q?=E6=B3=95=E8=A7=A6=E5=8F=91=E6=81=A2=E5=A4=8D=E5=91=8A=E8=AD=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../usthe/alert/calculate/CalculateAlarm.java | 13 ++++++++++- .../com/usthe/alert/dao/AlertMonitorDao.java | 23 +++++++++++++++++++ 2 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 alerter/src/main/java/com/usthe/alert/dao/AlertMonitorDao.java 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 d694878..a9fb04f 100644 --- a/alerter/src/main/java/com/usthe/alert/calculate/CalculateAlarm.java +++ b/alerter/src/main/java/com/usthe/alert/calculate/CalculateAlarm.java @@ -4,17 +4,20 @@ import com.googlecode.aviator.AviatorEvaluator; import com.googlecode.aviator.Expression; import com.usthe.alert.AlerterWorkerPool; import com.usthe.alert.AlerterDataQueue; +import com.usthe.alert.dao.AlertMonitorDao; import com.usthe.common.entity.alerter.Alert; import com.usthe.common.entity.alerter.AlertDefine; import com.usthe.alert.service.AlertDefineService; import com.usthe.alert.util.AlertTemplateUtil; import com.usthe.collector.dispatch.export.MetricsDataExporter; +import com.usthe.common.entity.manager.Monitor; import com.usthe.common.entity.message.CollectRep; import com.usthe.common.util.CommonConstants; import com.usthe.common.util.CommonUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.context.annotation.Configuration; +import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -37,13 +40,21 @@ public class CalculateAlarm { private Map triggeredMonitorStateAlertMap; public CalculateAlarm (AlerterWorkerPool workerPool, AlerterDataQueue dataQueue, - AlertDefineService alertDefineService, MetricsDataExporter dataExporter) { + AlertDefineService alertDefineService, MetricsDataExporter dataExporter, + AlertMonitorDao monitorDao) { this.workerPool = workerPool; this.dataQueue = dataQueue; this.dataExporter = dataExporter; this.alertDefineService = alertDefineService; this.triggeredAlertMap = new ConcurrentHashMap<>(128); this.triggeredMonitorStateAlertMap = new ConcurrentHashMap<>(128); + // 初始化stateAlertMap + List monitors = monitorDao.findMonitorsByStatusIn(Arrays.asList((byte)2, (byte)3)); + if (monitors != null) { + for (Monitor monitor : monitors) { + this.triggeredMonitorStateAlertMap.put(monitor.getId(), CollectRep.Code.UN_AVAILABLE); + } + } startCalculate(); } diff --git a/alerter/src/main/java/com/usthe/alert/dao/AlertMonitorDao.java b/alerter/src/main/java/com/usthe/alert/dao/AlertMonitorDao.java new file mode 100644 index 0000000..586b679 --- /dev/null +++ b/alerter/src/main/java/com/usthe/alert/dao/AlertMonitorDao.java @@ -0,0 +1,23 @@ +package com.usthe.alert.dao; + +import com.usthe.common.entity.manager.Monitor; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.JpaSpecificationExecutor; + +import java.util.List; + +/** + * Alert Monitor 数据库操作 + * @author tomsun28 + * @date 2021/11/14 11:24 + */ +public interface AlertMonitorDao extends JpaRepository, JpaSpecificationExecutor { + + /** + * 查询指定监控状态的监控 + * @param status 监控状态 + * @return 监控列表 + */ + List findMonitorsByStatusIn(List status); + +}