维护初始SQL文件和对应逻辑
This commit is contained in:
@@ -56,7 +56,7 @@ public class CheckInstancesStatus {
|
||||
* 检查实例状态并且发送对应的提醒
|
||||
*/
|
||||
@SneakyThrows
|
||||
@Scheduled(cron = "* 0/1 * * * ?")
|
||||
@Scheduled(cron = "* 0/2 * * * ?")
|
||||
public void checkInstancesStatus() {
|
||||
List<Container> containers = containerService.list();
|
||||
|
||||
|
||||
@@ -9,9 +9,10 @@ import com.mzaxd.noodles.mapper.EveryDayDataMapper;
|
||||
import com.mzaxd.noodles.service.EveryDayDataService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalTime;
|
||||
import java.time.ZoneId;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* @author 13439
|
||||
@@ -59,7 +60,22 @@ public class EveryDayDataServiceImpl extends ServiceImpl<EveryDayDataMapper, Eve
|
||||
|
||||
@Override
|
||||
public EveryDayData getYesterdayData() {
|
||||
return getOne(getYesterdayLambdaWrapper());
|
||||
EveryDayData everyData = getOne(getYesterdayLambdaWrapper());
|
||||
if (Objects.nonNull(everyData)) {
|
||||
return everyData;
|
||||
} else {
|
||||
everyData = createDefaultEverydayData();
|
||||
}
|
||||
return everyData;
|
||||
}
|
||||
|
||||
public EveryDayData createDefaultEverydayData() {
|
||||
EveryDayData everyDayData = new EveryDayData();
|
||||
everyDayData.setHostCount(0).setHostOnlineCount(0).setHostOfflineCount(0).setHostUnknownCount(0)
|
||||
.setVmCount(0).setVmOnlineCount(0).setVmOfflineCount(0).setVmUnknownCount(0)
|
||||
.setContainerCount(0).setContainerOnlineCount(0).setContainerOfflineCount(0).setContainerUnknownCount(0)
|
||||
.setAuditCount(0).setServirCount(0);
|
||||
return everyDayData;
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<EveryDayData> getLastWeekLambdaWrapper() {
|
||||
@@ -71,9 +87,32 @@ public class EveryDayDataServiceImpl extends ServiceImpl<EveryDayDataMapper, Eve
|
||||
|
||||
@Override
|
||||
public List<EveryDayData> getLastWeekData() {
|
||||
return list(getLastWeekLambdaWrapper());
|
||||
return getLastDate(6);
|
||||
}
|
||||
|
||||
public List<EveryDayData> getLastDate(int minusDay) {
|
||||
// 今天的前一天是截止日期
|
||||
LocalDate end = LocalDate.now().minusDays(1);
|
||||
// 七天前是起始日期
|
||||
LocalDate start = end.minusDays(minusDay);
|
||||
List<EveryDayData> list = list(getLastWeekLambdaWrapper());
|
||||
|
||||
// 如果不足7条,则补充空数据
|
||||
int missingDays = 7 - list.size();
|
||||
if (missingDays > 0) {
|
||||
List<EveryDayData> emptyData = new ArrayList<>();
|
||||
for (int i = 0; i < missingDays; i++) {
|
||||
EveryDayData data = createDefaultEverydayData();
|
||||
data.setCreateTime(Date.from(start.plusDays(i).atStartOfDay().atZone(ZoneId.systemDefault()).toInstant()));
|
||||
emptyData.add(data);
|
||||
}
|
||||
emptyData.addAll(list);
|
||||
list = emptyData;
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
|
||||
private LambdaQueryWrapper<EveryDayData> getLastSixDayLambdaWrapper() {
|
||||
LambdaQueryWrapper<EveryDayData> everyDayDataLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
everyDayDataLambdaQueryWrapper.ge(EveryDayData::getCreateTime, DateUtil.beginOfDay(DateUtil.offsetDay(DateUtil.date(), -6)));
|
||||
@@ -83,7 +122,7 @@ public class EveryDayDataServiceImpl extends ServiceImpl<EveryDayDataMapper, Eve
|
||||
|
||||
@Override
|
||||
public List<EveryDayData> getLastSixDayData() {
|
||||
return list(getLastSixDayLambdaWrapper());
|
||||
return getLastDate(5);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -133,25 +133,36 @@ public class HostDetectorServiceImpl extends ServiceImpl<HostDetectorMapper, Hos
|
||||
Double memoryFree = 0.0;
|
||||
//已使用内存
|
||||
Double memoryUsed = 0.0;
|
||||
Map<Long, DynamicData> dynamicData = getDynamicData(getAllALiveDetectors());
|
||||
for (DynamicData data : dynamicData.values()) {
|
||||
count++;
|
||||
memoryFree += data.getMemFree();
|
||||
memoryUsed += data.getMemUsed();
|
||||
Double total = data.getMemFree() + data.getMemUsed();
|
||||
memoryTotal += total.intValue();
|
||||
double memoryUsedRate = memoryUsed / memoryTotal;
|
||||
memoryTotalUsedRate += memoryUsedRate;
|
||||
if (memoryUsedRate > memoryUsedMaxRate) {
|
||||
memoryUsedMaxRate = memoryUsedRate;
|
||||
|
||||
Map<Long, DynamicData> dynamicData;
|
||||
try {
|
||||
dynamicData = getDynamicData(getAllALiveDetectors());
|
||||
for (DynamicData data : dynamicData.values()) {
|
||||
count++;
|
||||
memoryFree += data.getMemFree();
|
||||
memoryUsed += data.getMemUsed();
|
||||
Double total = data.getMemFree() + data.getMemUsed();
|
||||
memoryTotal += total.intValue();
|
||||
double memoryUsedRate = memoryUsed / memoryTotal;
|
||||
memoryTotalUsedRate += memoryUsedRate;
|
||||
if (memoryUsedRate > memoryUsedMaxRate) {
|
||||
memoryUsedMaxRate = memoryUsedRate;
|
||||
}
|
||||
}
|
||||
memoryUsedAvgRate = memoryTotalUsedRate / count;
|
||||
result.put("memoryTotal", memoryTotal);
|
||||
result.put("memoryFree", memoryFree);
|
||||
result.put("memoryUsed", memoryUsed);
|
||||
result.put("memoryUsedMaxRate", NumberUtil.round(memoryUsedMaxRate, 4));
|
||||
result.put("memoryUsedAvgRate", NumberUtil.round(memoryUsedAvgRate, 4));
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
result.put("memoryTotal", 0);
|
||||
result.put("memoryFree", 0);
|
||||
result.put("memoryUsed", 0);
|
||||
result.put("memoryUsedMaxRate", 0);
|
||||
result.put("memoryUsedAvgRate", 0);
|
||||
}
|
||||
memoryUsedAvgRate = memoryTotalUsedRate / count;
|
||||
result.put("memoryTotal", memoryTotal);
|
||||
result.put("memoryFree", memoryFree);
|
||||
result.put("memoryUsed", memoryUsed);
|
||||
result.put("memoryUsedMaxRate", NumberUtil.round(memoryUsedMaxRate, 4));
|
||||
result.put("memoryUsedAvgRate", NumberUtil.round(memoryUsedAvgRate, 4));
|
||||
return ResponseResult.okResult(result);
|
||||
}
|
||||
|
||||
|
||||
@@ -7,42 +7,21 @@ spring:
|
||||
username: root
|
||||
password: rootroot
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
servlet:
|
||||
multipart:
|
||||
max-file-size: 2MB
|
||||
max-request-size: 5MB
|
||||
#Redis配置
|
||||
redis:
|
||||
host: 192.168.1.103
|
||||
database: 2
|
||||
database: 5
|
||||
#RabbitMq配置
|
||||
rabbitmq:
|
||||
host: 192.168.1.103
|
||||
port: 5672
|
||||
username: mzaxd
|
||||
password: 200712
|
||||
#配置SpringBootAdmin
|
||||
boot:
|
||||
admin:
|
||||
client:
|
||||
url: http://192.168.1.103:8324 #配置 Admin Server的地址
|
||||
instance:
|
||||
service-host-type: ip
|
||||
# 开放健康检查接口
|
||||
management:
|
||||
endpoints:
|
||||
web:
|
||||
exposure:
|
||||
include: "*"
|
||||
endpoint:
|
||||
health:
|
||||
show-details: ALWAYS
|
||||
|
||||
|
||||
mybatis-plus:
|
||||
#打印SQL日志 建议生产环境关掉 否则日志爆炸
|
||||
# configuration:
|
||||
# log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
|
||||
configuration:
|
||||
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
|
||||
global-config:
|
||||
db-config:
|
||||
logic-delete-field: delFlag
|
||||
@@ -56,5 +35,5 @@ pagehelper:
|
||||
page-size-zero: true
|
||||
logging:
|
||||
level:
|
||||
com.mzaxd.noodles: info
|
||||
com.mzaxd.noodles: debug
|
||||
|
||||
|
||||
@@ -7,10 +7,6 @@ spring:
|
||||
username: root
|
||||
password: rootroot
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
servlet:
|
||||
multipart:
|
||||
max-file-size: 2MB
|
||||
max-request-size: 5MB
|
||||
#Redis配置
|
||||
redis:
|
||||
host: 192.168.1.103
|
||||
@@ -21,22 +17,6 @@ spring:
|
||||
port: 5672
|
||||
username: mzaxd
|
||||
password: 200712
|
||||
#配置SpringBootAdmin
|
||||
boot:
|
||||
admin:
|
||||
client:
|
||||
url: http://192.168.1.103:8324 #配置 Admin Server的地址
|
||||
instance:
|
||||
service-host-type: ip #显示ip地址而不是默认的主机名
|
||||
# 开放健康检查接口
|
||||
management:
|
||||
endpoints:
|
||||
web:
|
||||
exposure:
|
||||
include: "*"
|
||||
endpoint:
|
||||
health:
|
||||
show-details: ALWAYS
|
||||
|
||||
mybatis-plus:
|
||||
#打印SQL日志 建议生产环境关掉 否则日志爆炸
|
||||
@@ -52,4 +32,7 @@ pagehelper:
|
||||
auto-dialect: on
|
||||
reasonable: true
|
||||
support-methods-arguments: true
|
||||
page-size-zero: true
|
||||
page-size-zero: true
|
||||
logging:
|
||||
level:
|
||||
com.mzaxd.noodles: info
|
||||
@@ -1,3 +1,3 @@
|
||||
spring:
|
||||
profiles:
|
||||
active: prod
|
||||
active: dev
|
||||
@@ -22,6 +22,7 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.data.redis.core.RedisTemplate;
|
||||
import org.springframework.security.crypto.password.PasswordEncoder;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
@@ -59,6 +60,9 @@ class NoodlesApplicationTests {
|
||||
@Resource
|
||||
private HostDetectorService hostDetectorService;
|
||||
|
||||
@Resource
|
||||
private PasswordEncoder passwordEncoder;
|
||||
|
||||
@Test
|
||||
void contextLoads() {
|
||||
try {
|
||||
@@ -696,7 +700,7 @@ class NoodlesApplicationTests {
|
||||
});
|
||||
}
|
||||
|
||||
// Shutdown the thread pool and wait for all tasks to complete
|
||||
// Shutdown the thread pool and wait for all tasks to complete
|
||||
executor.shutdown();
|
||||
executor.awaitTermination(Long.MAX_VALUE, TimeUnit.NANOSECONDS);
|
||||
|
||||
@@ -717,4 +721,11 @@ class NoodlesApplicationTests {
|
||||
set.add("1");
|
||||
redisCache.setCacheSet(RedisConstant.NOTIFY_HOST_IDS, set);
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void passwordEncode() {
|
||||
String encodePassword = passwordEncoder.encode("changeme");
|
||||
System.out.println(encodePassword);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user