设备监控修改

monitor
sunjianxi 12 months ago
parent 1f17186a1e
commit af9fc94d53
  1. 18
      src/main/java/org/springblade/modules/monitor/controller/MonitorController.java
  2. 3
      src/main/java/org/springblade/modules/monitor/mapper/MonitorMapper.xml
  3. 7
      src/main/java/org/springblade/modules/monitor/service/IConfigMonitorService.java
  4. 4
      src/main/java/org/springblade/modules/monitor/service/impl/BusinessMonitorServiceImpl.java
  5. 54
      src/main/java/org/springblade/modules/monitor/service/impl/ConfigMonitorServiceImpl.java
  6. 12
      src/main/java/org/springblade/modules/monitor/task/MonitorTaskJob.java

@ -17,7 +17,7 @@ public class MonitorController {
* 判断设备是否正常
*/
@GetMapping("/updateMonitorInfo")
public void ifFestival() {
public void updateMonitorInfo() {
configMonitorService.updateMonitorInfo();
}
@ -29,4 +29,20 @@ public class MonitorController {
public void monitoringEquip() {
configMonitorService.monitoringEquip();
}
/**
* 定时排查监控设备状态
*/
@GetMapping("/updateDataWarn")
public void updateDataWarn() {
configMonitorService.updateDataWarn();
}
/**
* 定时排查监控设备状态
*/
@GetMapping("/updateMonitor")
public void updateMonitor() {
configMonitorService.updateMonitor();
}
}

@ -20,7 +20,8 @@
equip_code AS equipCode,
equip_name AS equipName,
warn_content AS warnContent,
DATE_FORMAT(warn_date, '%Y-%m-%d %H:%i:%s') AS warnDate
DATE_FORMAT(warn_date, '%Y-%m-%d %H:%i:%s') AS warnDate,
DATE_FORMAT(recovery_date, '%Y-%m-%d %H:%i:%s') AS recoveryDate
FROM t_data_warn
WHERE warn_type = '3'
<if test = "classCode != null and classCode != '' ">

@ -49,6 +49,11 @@ public interface IConfigMonitorService extends IService<ConfigMonitor> {
List<ConfigMonitor> getServiceList();
List<ConfigMonitor> getMiddleList();
List<ConfigMonitor> getServerParamsList();
void updateDataWarn();
void updateMonitor();
}

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springblade.modules.monitor.mapper.MonitorMapper;
import org.springblade.modules.monitor.service.IBusinessMonitorService;
import org.springframework.stereotype.Service;
@ -23,6 +24,9 @@ public class BusinessMonitorServiceImpl implements IBusinessMonitorService {
@Override
public List<Map<String, String>> resolveTips(String classCode, String pointCode) {
if(StringUtils.isEmpty(classCode)){
classCode = "1000";
}
return monitorMapper.resolveTips(classCode, pointCode);
}

@ -130,6 +130,11 @@ public class ConfigMonitorServiceImpl extends ServiceImpl<ConfigMonitorMapper, C
queryWrapper.eq(ConfigMonitor::getType, MonitorConstant.EQUIP);
queryWrapper.eq(BaseEntity::getIsDeleted,0);
List<ConfigMonitor> list = baseMapper.selectList(queryWrapper);
//将所有设备状态更新为正常
for(ConfigMonitor configMonitor : list){
configMonitor.setStatus(1);
baseMapper.updateById(configMonitor);
}
//按照父级id分组
Map<Long,List<ConfigMonitor>> map = list.stream().collect(Collectors.groupingBy(ConfigMonitor::getParentId));
//获取取数时间间隔数据字典
@ -194,7 +199,7 @@ public class ConfigMonitorServiceImpl extends ServiceImpl<ConfigMonitorMapper, C
configMonitor.setUpdateTime(nowDate);
baseMapper.updateById(configMonitor);
parentId = id;
List<DataWarn> warnList = dataWarnMapper.selectList(Wrappers.<DataWarn>lambdaQuery().eq(DataWarn::getEquipName,configMonitor.getName()).like(DataWarn::getWarnDate,DateFormatUtils.format(nowDate,"yyyy-MM-dd")));
List<DataWarn> warnList = dataWarnMapper.selectList(Wrappers.<DataWarn>lambdaQuery().eq(DataWarn::getEquipName,configMonitor.getName()).like(DataWarn::getWarnDate,DateFormatUtils.format(nowDate,"yyyy-MM-dd")).eq(DataWarn::getStatus,1));
if(CollectionUtils.isEmpty(warnList)){
DataWarn dataWarn = new DataWarn();
dataWarn.setEquipCode(configMonitor.getEquipCode());
@ -219,7 +224,7 @@ public class ConfigMonitorServiceImpl extends ServiceImpl<ConfigMonitorMapper, C
configMonitor.setStatus(MonitorConstant.STATUS_2);
configMonitor.setUpdateTime(nowDate);
baseMapper.updateById(configMonitor);
List<DataWarn> warnList = dataWarnMapper.selectList(Wrappers.<DataWarn>lambdaQuery().eq(DataWarn::getEquipName,configMonitor.getName()).like(DataWarn::getWarnDate,DateFormatUtils.format(nowDate,"yyyy-MM-dd")));
List<DataWarn> warnList = dataWarnMapper.selectList(Wrappers.<DataWarn>lambdaQuery().eq(DataWarn::getEquipName,configMonitor.getName()).like(DataWarn::getWarnDate,DateFormatUtils.format(nowDate,"yyyy-MM-dd")).eq(DataWarn::getStatus,1));
if(CollectionUtils.isEmpty(warnList)){
DataWarn dataWarn = new DataWarn();
dataWarn.setEquipCode(configMonitor.getEquipCode());
@ -245,7 +250,7 @@ public class ConfigMonitorServiceImpl extends ServiceImpl<ConfigMonitorMapper, C
}
configMonitor.setUpdateTime(nowDate);
baseMapper.updateById(configMonitor);
List<DataWarn> warnList = dataWarnMapper.selectList(Wrappers.<DataWarn>lambdaQuery().eq(DataWarn::getEquipName,configMonitor.getName()).like(DataWarn::getWarnDate,DateFormatUtils.format(nowDate,"yyyy-MM-dd")));
List<DataWarn> warnList = dataWarnMapper.selectList(Wrappers.<DataWarn>lambdaQuery().eq(DataWarn::getEquipName,configMonitor.getName()).like(DataWarn::getWarnDate,DateFormatUtils.format(nowDate,"yyyy-MM-dd")).eq(DataWarn::getStatus,1));
if(CollectionUtils.isEmpty(warnList)){
DataWarn dataWarn = new DataWarn();
dataWarn.setEquipCode(configMonitor.getEquipCode());
@ -280,7 +285,7 @@ public class ConfigMonitorServiceImpl extends ServiceImpl<ConfigMonitorMapper, C
configMonitor.setStatus(MonitorConstant.STATUS_2);
baseMapper.updateById(configMonitor);
//查询今天是否有报警
List<DataWarn> warnList = dataWarnMapper.selectList(Wrappers.<DataWarn>lambdaQuery().eq(DataWarn::getEquipCode,configMonitor.getEquipCode()).like(DataWarn::getWarnDate,DateFormatUtils.format(nowDate,"yyyy-MM-dd")));
List<DataWarn> warnList = dataWarnMapper.selectList(Wrappers.<DataWarn>lambdaQuery().eq(DataWarn::getEquipCode,configMonitor.getEquipCode()).like(DataWarn::getWarnDate,DateFormatUtils.format(nowDate,"yyyy-MM-dd")).eq(DataWarn::getStatus,1));
if(CollectionUtils.isEmpty(warnList)){
DataWarn dataWarn = new DataWarn();
dataWarn.setEquipCode(configMonitor.getEquipCode());
@ -430,6 +435,47 @@ public class ConfigMonitorServiceImpl extends ServiceImpl<ConfigMonitorMapper, C
return list;
}
@Override
public void updateDataWarn() {
//查询所有warnType=3且status=1的报警数据
List<DataWarn> list = dataWarnMapper.selectList(Wrappers.<DataWarn>lambdaQuery().eq(DataWarn::getWarnType,3).eq(DataWarn::getStatus,1));
//循环所有数据,到监控表查询当前设备状态,如果设备状态正常,则更新报警恢复时间和状态
if(CollectionUtils.isNotEmpty(list)){
for(DataWarn dataWarn : list){
if(StringUtils.isNotEmpty(dataWarn.getEquipCode())){
ConfigMonitor monitor = baseMapper.selectOne(Wrappers.<ConfigMonitor>lambdaQuery().eq(ConfigMonitor::getEquipCode,dataWarn.getEquipCode()).eq(BaseEntity::getIsDeleted,0));
if(monitor != null && monitor.getStatus() == 1){
dataWarn.setRecoveryDate(new Date());
dataWarn.setStatus(2);
dataWarnMapper.updateById(dataWarn);
}
}else{
List<ConfigMonitor> configMonitors = baseMapper.selectList(Wrappers.<ConfigMonitor>lambdaQuery().eq(ConfigMonitor::getName,dataWarn.getEquipName()).eq(BaseEntity::getIsDeleted,0));
if(CollectionUtils.isNotEmpty(configMonitors)){
for(ConfigMonitor configMonitor : configMonitors){
if(configMonitor.getStatus() == 1){
dataWarn.setRecoveryDate(new Date());
dataWarn.setStatus(2);
dataWarnMapper.updateById(dataWarn);
}
}
}
}
}
}
}
@Override
public void updateMonitor() {
//更新服务器监控状态
updateMonitorInfo();
//更新设备监控状态
monitoringEquip();
//更新报警信息
updateDataWarn();
}
public List<Long> getParentIdList(List<Long> parentIdList, Long parentId) {
parentIdList.add(parentId);
if (parentId != 0) {

@ -10,18 +10,10 @@ import org.springframework.stereotype.Component;
public class MonitorTaskJob {
private final IConfigMonitorService configMonitorService;
//更新服务器监控状态
@Scheduled(cron ="0 0 0/1 * * ? ")
//@Scheduled(cron ="0 0/1 * * * ? ")
public void updateMonitorInfo(){
configMonitorService.updateMonitorInfo();
}
//更新设备监控状态
@Scheduled(cron ="0 0/30 * * * ? ")
public void monitoringEquip(){
configMonitorService.monitoringEquip();
public void updateMonitor(){
configMonitorService.updateMonitor();
}

Loading…
Cancel
Save