diff --git a/alerter/src/main/java/com/usthe/alert/dao/AlertDefineBindDao.java b/alerter/src/main/java/com/usthe/alert/dao/AlertDefineBindDao.java index d515798..48aecd3 100644 --- a/alerter/src/main/java/com/usthe/alert/dao/AlertDefineBindDao.java +++ b/alerter/src/main/java/com/usthe/alert/dao/AlertDefineBindDao.java @@ -19,6 +19,18 @@ public interface AlertDefineBindDao extends JpaRepository monitorIds); + /** * 根据告警定义ID查询监控关联信息 * @param alertDefineId 告警定义ID diff --git a/manager/src/main/java/com/usthe/manager/service/impl/MonitorServiceImpl.java b/manager/src/main/java/com/usthe/manager/service/impl/MonitorServiceImpl.java index 3fbcda5..d795392 100644 --- a/manager/src/main/java/com/usthe/manager/service/impl/MonitorServiceImpl.java +++ b/manager/src/main/java/com/usthe/manager/service/impl/MonitorServiceImpl.java @@ -1,5 +1,6 @@ package com.usthe.manager.service.impl; +import com.usthe.alert.dao.AlertDefineBindDao; import com.usthe.collector.dispatch.entrance.internal.CollectJobService; import com.usthe.common.entity.job.Configmap; import com.usthe.common.entity.job.Job; @@ -60,6 +61,9 @@ public class MonitorServiceImpl implements MonitorService { @Autowired private ParamDao paramDao; + @Autowired + private AlertDefineBindDao alertDefineBindDao; + @Override @Transactional(readOnly = true) public void detectMonitor(Monitor monitor, List params) throws MonitorDetectException { @@ -279,6 +283,7 @@ public class MonitorServiceImpl implements MonitorService { Monitor monitor = monitorOptional.get(); monitorDao.deleteById(id); paramDao.deleteParamsByMonitorId(id); + alertDefineBindDao.deleteAlertDefineMonitorBindsByMonitorIdEquals(id); collectJobService.cancelAsyncCollectJob(monitor.getJobId()); } } @@ -290,6 +295,8 @@ public class MonitorServiceImpl implements MonitorService { if (monitors != null) { monitorDao.deleteAll(monitors); paramDao.deleteParamsByMonitorIdIn(ids); + alertDefineBindDao.deleteAlertDefineMonitorBindsByMonitorIdIn(monitors.stream() + .map(Monitor::getId).collect(Collectors.toList())); for (Monitor monitor : monitors) { collectJobService.cancelAsyncCollectJob(monitor.getJobId()); }