|
|
|
@ -40,6 +40,8 @@ import org.springblade.modules.monitor.entity.ConfigMonitor; |
|
|
|
import org.springblade.modules.monitor.mapper.ConfigMonitorMapper; |
|
|
|
import org.springblade.modules.monitor.mapper.ConfigMonitorMapper; |
|
|
|
import org.springblade.modules.monitor.service.IConfigMonitorService; |
|
|
|
import org.springblade.modules.monitor.service.IConfigMonitorService; |
|
|
|
import org.springblade.modules.monitor.vo.ConfigMonitorVO; |
|
|
|
import org.springblade.modules.monitor.vo.ConfigMonitorVO; |
|
|
|
|
|
|
|
import org.springblade.modules.system.entity.Dict; |
|
|
|
|
|
|
|
import org.springblade.modules.system.service.IDictService; |
|
|
|
import org.springframework.beans.factory.annotation.Value; |
|
|
|
import org.springframework.beans.factory.annotation.Value; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
|
|
|
|
|
|
|
@ -63,6 +65,8 @@ public class ConfigMonitorServiceImpl extends ServiceImpl<ConfigMonitorMapper, C |
|
|
|
|
|
|
|
|
|
|
|
private final HttpUtil httpUtil; |
|
|
|
private final HttpUtil httpUtil; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private final IDictService dictService; |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
@Override |
|
|
|
public void updateMonitorInfo() { |
|
|
|
public void updateMonitorInfo() { |
|
|
|
try { |
|
|
|
try { |
|
|
|
@ -79,9 +83,11 @@ public class ConfigMonitorServiceImpl extends ServiceImpl<ConfigMonitorMapper, C |
|
|
|
String result = null; |
|
|
|
String result = null; |
|
|
|
if(MonitorConstant.RESULT.equals(s)){ |
|
|
|
if(MonitorConstant.RESULT.equals(s)){ |
|
|
|
result = s; |
|
|
|
result = s; |
|
|
|
|
|
|
|
monitor.setStatus(MonitorConstant.STATUS_2); |
|
|
|
}else{ |
|
|
|
}else{ |
|
|
|
String[] strs = s.split("\""); |
|
|
|
String[] strs = s.split("\""); |
|
|
|
result = strs[strs.length-2]; |
|
|
|
result = strs[strs.length-2]; |
|
|
|
|
|
|
|
monitor.setStatus(MonitorConstant.STATUS_1); |
|
|
|
} |
|
|
|
} |
|
|
|
monitor.setResult(result); |
|
|
|
monitor.setResult(result); |
|
|
|
if(monitor.getType().equals(MonitorConstant.SERVICE) && MonitorConstant.RESULT.equals(result)){ |
|
|
|
if(monitor.getType().equals(MonitorConstant.SERVICE) && MonitorConstant.RESULT.equals(result)){ |
|
|
|
@ -104,13 +110,19 @@ public class ConfigMonitorServiceImpl extends ServiceImpl<ConfigMonitorMapper, C |
|
|
|
public void monitoringEquip() { |
|
|
|
public void monitoringEquip() { |
|
|
|
//查询所有设备
|
|
|
|
//查询所有设备
|
|
|
|
Date nowDate = new Date(); |
|
|
|
Date nowDate = new Date(); |
|
|
|
Date time = DateUtils.addMinutes(nowDate,-30); |
|
|
|
|
|
|
|
LambdaQueryWrapper<ConfigMonitor> queryWrapper = new LambdaQueryWrapper<>(); |
|
|
|
LambdaQueryWrapper<ConfigMonitor> queryWrapper = new LambdaQueryWrapper<>(); |
|
|
|
queryWrapper.eq(ConfigMonitor::getType, MonitorConstant.EQUIP); |
|
|
|
queryWrapper.eq(ConfigMonitor::getType, MonitorConstant.EQUIP); |
|
|
|
queryWrapper.eq(BaseEntity::getIsDeleted,0); |
|
|
|
queryWrapper.eq(BaseEntity::getIsDeleted,0); |
|
|
|
List<ConfigMonitor> list = baseMapper.selectList(queryWrapper); |
|
|
|
List<ConfigMonitor> list = baseMapper.selectList(queryWrapper); |
|
|
|
//按照父级id分组
|
|
|
|
//按照父级id分组
|
|
|
|
Map<Long,List<ConfigMonitor>> map = list.stream().collect(Collectors.groupingBy(ConfigMonitor::getParentId)); |
|
|
|
Map<Long,List<ConfigMonitor>> map = list.stream().collect(Collectors.groupingBy(ConfigMonitor::getParentId)); |
|
|
|
|
|
|
|
//获取取数时间间隔数据字典
|
|
|
|
|
|
|
|
List<Dict> dictList = dictService.getList("time_period"); |
|
|
|
|
|
|
|
Map<String,String> dictMap = new HashMap<>(); |
|
|
|
|
|
|
|
dictList.forEach(item ->{ |
|
|
|
|
|
|
|
dictMap.put(item.getDictKey(),item.getDictValue()); |
|
|
|
|
|
|
|
}); |
|
|
|
for(Map.Entry<Long,List<ConfigMonitor>> entry : map.entrySet()){ |
|
|
|
for(Map.Entry<Long,List<ConfigMonitor>> entry : map.entrySet()){ |
|
|
|
Long parentId = entry.getKey(); |
|
|
|
Long parentId = entry.getKey(); |
|
|
|
List<ConfigMonitor> monitorList = entry.getValue(); |
|
|
|
List<ConfigMonitor> monitorList = entry.getValue(); |
|
|
|
@ -119,6 +131,12 @@ public class ConfigMonitorServiceImpl extends ServiceImpl<ConfigMonitorMapper, C |
|
|
|
if(item.getUpdateTime() == null){ |
|
|
|
if(item.getUpdateTime() == null){ |
|
|
|
return false; |
|
|
|
return false; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
Date time = null; |
|
|
|
|
|
|
|
if(dictMap.containsKey(item.getClassCode())){ |
|
|
|
|
|
|
|
time = DateUtils.addMinutes(nowDate,-Integer.parseInt(dictMap.get(item.getClassCode()))); |
|
|
|
|
|
|
|
}else{ |
|
|
|
|
|
|
|
time = DateUtils.addMinutes(nowDate,-30); |
|
|
|
|
|
|
|
} |
|
|
|
return item.getUpdateTime().compareTo(time) < 0; |
|
|
|
return item.getUpdateTime().compareTo(time) < 0; |
|
|
|
}).collect(Collectors.toList()); |
|
|
|
}).collect(Collectors.toList()); |
|
|
|
List<Long> parentIdList = new ArrayList<>(); |
|
|
|
List<Long> parentIdList = new ArrayList<>(); |
|
|
|
@ -161,7 +179,7 @@ public class ConfigMonitorServiceImpl extends ServiceImpl<ConfigMonitorMapper, C |
|
|
|
//mqtt服务排查
|
|
|
|
//mqtt服务排查
|
|
|
|
if (configMonitor.getType().equals(MonitorConstant.MIDDLEWARE) && configMonitor.getMonitorType().equals(MonitorConstant.MQTT)) { |
|
|
|
if (configMonitor.getType().equals(MonitorConstant.MIDDLEWARE) && configMonitor.getMonitorType().equals(MonitorConstant.MQTT)) { |
|
|
|
//通过查询所有mqtt相关设备来判断mqtt服务是否正常
|
|
|
|
//通过查询所有mqtt相关设备来判断mqtt服务是否正常
|
|
|
|
int count = baseMapper.findMqttEquipCount(DateFormatUtils.format(time, "yyyy-MM-dd HH:mm:ss")); |
|
|
|
int count = baseMapper.findMqttEquipCount(DateFormatUtils.format(DateUtils.addMinutes(nowDate,-30), "yyyy-MM-dd HH:mm:ss")); |
|
|
|
//如果count=0说明所有mqtt相关设备都没取到数,可证明mqtt出现问题
|
|
|
|
//如果count=0说明所有mqtt相关设备都没取到数,可证明mqtt出现问题
|
|
|
|
if (count == 0) { |
|
|
|
if (count == 0) { |
|
|
|
flag = false; |
|
|
|
flag = false; |
|
|
|
|