From 4172afa3057830466e0a01994daddf530aa95b00 Mon Sep 17 00:00:00 2001 From: Mzaxd Date: Thu, 23 Mar 2023 18:23:04 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=B4=E6=8A=A4=E5=88=9D=E5=A7=8BSQL?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E5=92=8C=E5=AF=B9=E5=BA=94=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- noodles-new.sql | 365 ++++++++++++++++++ .../noodles/job/CheckInstancesStatus.java | 2 +- .../service/impl/EveryDayDataServiceImpl.java | 51 ++- .../service/impl/HostDetectorServiceImpl.java | 45 ++- src/main/resources/application-dev.yml | 29 +- src/main/resources/application-prod.yml | 25 +- src/main/resources/application.yml | 2 +- .../noodles/NoodlesApplicationTests.java | 13 +- 8 files changed, 460 insertions(+), 72 deletions(-) create mode 100644 noodles-new.sql diff --git a/noodles-new.sql b/noodles-new.sql new file mode 100644 index 0000000..919ec58 --- /dev/null +++ b/noodles-new.sql @@ -0,0 +1,365 @@ +/* + Navicat Premium Data Transfer + + Source Server : 本地 + Source Server Type : MySQL + Source Server Version : 80031 + Source Host : localhost:3306 + Source Schema : noodles-new + + Target Server Type : MySQL + Target Server Version : 80031 + File Encoding : 65001 + + Date: 23/03/2023 18:19:38 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for audit_log +-- ---------------------------- +DROP TABLE IF EXISTS `audit_log`; +CREATE TABLE `audit_log` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id', + `operation` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '操作', + `operation_type` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '操作类型(用户/容器/虚拟机/物理机/服务/系统)', + `param` text CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL COMMENT '请求参数', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `create_by` bigint NULL DEFAULT NULL COMMENT '创建人id', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 557 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of audit_log +-- ---------------------------- + +-- ---------------------------- +-- Table structure for container +-- ---------------------------- +DROP TABLE IF EXISTS `container`; +CREATE TABLE `container` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键id', + `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '名称', + `container_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '容器编号', + `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '描述', + `avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '图像', + `image_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '镜像名', + `server_address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '服务地址端口(不带协议)', + `web_ui` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'WebUi URL', + `host_machine_id` bigint NULL DEFAULT NULL COMMENT '宿主机id', + `ssh_id` bigint NULL DEFAULT NULL COMMENT 'ssh连接信息表id', + `container_state` int NULL DEFAULT NULL COMMENT '状态(0运行 1停止 2暂停 3未知)', + `notify` int NULL DEFAULT 0 COMMENT '提醒方式(0不提醒 1浏览器 2邮件 3浏览器&邮件)', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `create_by` bigint NULL DEFAULT NULL COMMENT '创建人id', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `update_by` bigint NULL DEFAULT NULL COMMENT '更新人id', + `del_flag` int NULL DEFAULT 0 COMMENT '删除标志(0代表未删除,1代表已删除)', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of container +-- ---------------------------- + +-- ---------------------------- +-- Table structure for everyday_data +-- ---------------------------- +DROP TABLE IF EXISTS `everyday_data`; +CREATE TABLE `everyday_data` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键id', + `host_count` int NULL DEFAULT NULL COMMENT '主机总数', + `host_online_count` int NULL DEFAULT NULL COMMENT '主机在线数量', + `host_offline_count` int NULL DEFAULT NULL COMMENT '主机离线数量', + `host_unknown_count` int NULL DEFAULT NULL COMMENT '主机状态未知数量', + `vm_count` int NULL DEFAULT NULL COMMENT '虚拟机总数', + `vm_online_count` int NULL DEFAULT NULL COMMENT '虚拟机在线数量', + `vm_offline_count` int NULL DEFAULT NULL COMMENT '虚拟机离线数量', + `vm_unknown_count` int NULL DEFAULT NULL COMMENT '虚拟机状态未知数量', + `container_count` int NULL DEFAULT NULL COMMENT '容器总数', + `container_online_count` int NULL DEFAULT NULL COMMENT '容器在线数量', + `container_offline_count` int NULL DEFAULT NULL COMMENT '容器离线数量', + `container_unknown_count` int NULL DEFAULT NULL COMMENT '容器状态未知数量', + `servir_count` int NULL DEFAULT NULL COMMENT '服务总数', + `audit_count` int NULL DEFAULT NULL COMMENT '操作数', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of everyday_data +-- ---------------------------- + +-- ---------------------------- +-- Table structure for host_detector +-- ---------------------------- +DROP TABLE IF EXISTS `host_detector`; +CREATE TABLE `host_detector` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键id', + `host_machine_id` bigint NULL DEFAULT NULL COMMENT '物理机id', + `detector_uuid` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '探测器uuid(和机器一一绑定)', + `detector_ip_address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '探测器地址', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `create_by` bigint NULL DEFAULT NULL COMMENT '创建人id', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `update_by` bigint NULL DEFAULT NULL COMMENT '更新人id', + `del_flag` int NULL DEFAULT 0 COMMENT '删除标志(0代表未删除,1代表已删除)', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of host_detector +-- ---------------------------- + +-- ---------------------------- +-- Table structure for host_machine +-- ---------------------------- +DROP TABLE IF EXISTS `host_machine`; +CREATE TABLE `host_machine` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键id', + `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '名称', + `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '描述', + `avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '图像', + `ssh_id` bigint NULL DEFAULT NULL COMMENT 'ssh连接信息表id', + `os_id` bigint NULL DEFAULT NULL COMMENT '操作系统id', + `server_address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '实际服务器地址(不带协议,不带端口号)', + `manage_ip` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '管理ip地址', + `host_machine_id` bigint NULL DEFAULT NULL COMMENT '宿主机id(0代表物理机没有宿主机)', + `threads` bigint NULL DEFAULT NULL COMMENT '核心线程数', + `memory` bigint NULL DEFAULT NULL COMMENT '内存', + `host_machine_state` int NULL DEFAULT 3 COMMENT '状态(0在线 1离线 2睡眠 3未知)', + `notify` int NULL DEFAULT 0 COMMENT '提醒方式(0不提醒 1浏览器 2邮件 3浏览器&邮件)', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `create_by` bigint NULL DEFAULT NULL COMMENT '创建人id', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `update_by` bigint NULL DEFAULT NULL COMMENT '更新人id', + `del_flag` int NULL DEFAULT 0 COMMENT '删除标志(0代表未删除,1代表已删除)', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of host_machine +-- ---------------------------- + +-- ---------------------------- +-- Table structure for notification +-- ---------------------------- +DROP TABLE IF EXISTS `notification`; +CREATE TABLE `notification` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键id', + `title` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '通知标题', + `content` longtext CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL COMMENT '通知内容', + `type` int NULL DEFAULT NULL COMMENT '通知类型(0代表掉线通知,1代表统计通知)', + `instance_type` int NULL DEFAULT NULL COMMENT '可能关联的实例的类型(0代表无 1代表host 2代表vm 3代表container)', + `instance_id` bigint NULL DEFAULT NULL COMMENT '可能关联的实例id', + `send_type` int NULL DEFAULT NULL COMMENT '提醒发送方式(0不提醒 1浏览器 1邮件 3代表两者)', + `affirm` int NULL DEFAULT 0 COMMENT '用户是否确认(0代表未确认 1代表已确认)', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `del_flag` int NULL DEFAULT 0 COMMENT '删除标志(0代表未删除,1代表已删除)', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of notification +-- ---------------------------- + +-- ---------------------------- +-- Table structure for os +-- ---------------------------- +DROP TABLE IF EXISTS `os`; +CREATE TABLE `os` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键id', + `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '名称', + `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '描述', + `kernel` int NULL DEFAULT NULL COMMENT '1代表Linux 2代表WindowsNT 3代表FreeBSD', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `create_by` bigint NULL DEFAULT NULL COMMENT '创建人id(0表示由系统创建)', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `update_by` bigint NULL DEFAULT NULL COMMENT '更新人id', + `del_flag` int NULL DEFAULT 0 COMMENT '删除标志(0代表未删除,1代表已删除)', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of os +-- ---------------------------- + +-- ---------------------------- +-- Table structure for servir +-- ---------------------------- +DROP TABLE IF EXISTS `servir`; +CREATE TABLE `servir` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键id', + `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '名称', + `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '描述', + `avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '图像', + `remark` longtext CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL COMMENT '备注', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `create_by` bigint NULL DEFAULT NULL COMMENT '创建人id', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `update_by` bigint NULL DEFAULT NULL COMMENT '更新人id', + `del_flag` int NULL DEFAULT 0 COMMENT '删除标志(0代表未删除,1代表已删除)', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of servir +-- ---------------------------- + +-- ---------------------------- +-- Table structure for servir_container +-- ---------------------------- +DROP TABLE IF EXISTS `servir_container`; +CREATE TABLE `servir_container` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id', + `servir_id` bigint NULL DEFAULT NULL COMMENT '服务id', + `container_id` bigint NULL DEFAULT NULL COMMENT '容器id', + `description` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '描述(关联方式)', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `create_by` bigint NULL DEFAULT NULL COMMENT '创建人id', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `update_by` bigint NULL DEFAULT NULL COMMENT '更新人id', + `del_flag` int NULL DEFAULT 0 COMMENT '删除标志(0代表未删除,1代表已删除)', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of servir_container +-- ---------------------------- + +-- ---------------------------- +-- Table structure for servir_host +-- ---------------------------- +DROP TABLE IF EXISTS `servir_host`; +CREATE TABLE `servir_host` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id', + `servir_id` bigint NULL DEFAULT NULL COMMENT '服务id', + `host_id` bigint NULL DEFAULT NULL COMMENT '服务器id(物理机、虚拟机都可以)', + `description` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '描述(关联方式)', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `create_by` bigint NULL DEFAULT NULL COMMENT '创建人id', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `update_by` bigint NULL DEFAULT NULL COMMENT '更新人id', + `del_flag` int NULL DEFAULT 0 COMMENT '删除标志(0代表未删除,1代表已删除)', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of servir_host +-- ---------------------------- + +-- ---------------------------- +-- Table structure for servir_tag +-- ---------------------------- +DROP TABLE IF EXISTS `servir_tag`; +CREATE TABLE `servir_tag` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id', + `servir_id` bigint NULL DEFAULT NULL COMMENT '服务id', + `tag_id` bigint NULL DEFAULT NULL COMMENT '标签id', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `create_by` bigint NULL DEFAULT NULL COMMENT '创建人id', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `update_by` bigint NULL DEFAULT NULL COMMENT '更新人id', + `del_flag` int NULL DEFAULT 0 COMMENT '删除标志(0代表未删除,1代表已删除)', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of servir_tag +-- ---------------------------- + +-- ---------------------------- +-- Table structure for ssh_link +-- ---------------------------- +DROP TABLE IF EXISTS `ssh_link`; +CREATE TABLE `ssh_link` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键id', + `host` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '账号', + `port` int NULL DEFAULT NULL COMMENT '端口号', + `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '名称', + `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '密码', + `console_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '控制台类型(bash/sh)', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `create_by` bigint NULL DEFAULT NULL COMMENT '创建人id', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `update_by` bigint NULL DEFAULT NULL COMMENT '更新人id', + `del_flag` int NULL DEFAULT 0 COMMENT '删除标志(0代表未删除,1代表已删除)', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of ssh_link +-- ---------------------------- + +-- ---------------------------- +-- Table structure for system_setting +-- ---------------------------- +DROP TABLE IF EXISTS `system_setting`; +CREATE TABLE `system_setting` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id', + `log_expire` int NULL DEFAULT 1 COMMENT '过期时间(1、3、7、30)', + `check_instance_state_period` int NULL DEFAULT NULL COMMENT '检查实例状态间隔(秒)', + `default_lang` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT 'ch' COMMENT 'ch/en', + `server_email` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '发送邮箱', + `email_pass` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '邮箱密码', + `notification_email` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '接收邮箱', + `renderer_type` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '控制台渲染类型', + `font_size` int NULL DEFAULT NULL COMMENT '字体大小', + `cursor_blink` int NULL DEFAULT NULL COMMENT '光标是否闪烁(0关1开)', + `foreground` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '字体颜色', + `background` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '背景色', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of system_setting +-- ---------------------------- +INSERT INTO `system_setting` VALUES (1, 3, 2, 'ch', '', '', '', 'webgl', 14, 1, 'yellow', '#060101'); + +-- ---------------------------- +-- Table structure for tag +-- ---------------------------- +DROP TABLE IF EXISTS `tag`; +CREATE TABLE `tag` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键id', + `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '名称', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `create_by` bigint NULL DEFAULT NULL COMMENT '创建人id', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `update_by` bigint NULL DEFAULT NULL COMMENT '更新人id', + `del_flag` int NULL DEFAULT 0 COMMENT '删除标志(0代表未删除,1代表已删除)', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of tag +-- ---------------------------- + +-- ---------------------------- +-- Table structure for user +-- ---------------------------- +DROP TABLE IF EXISTS `user`; +CREATE TABLE `user` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键id', + `user_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '用户名', + `nick_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '昵称', + `email` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '邮箱', + `password` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '密码', + `avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '头像', + `user_state` int NULL DEFAULT NULL COMMENT '账号状态(0代表未登陆过 1代表已经登录过)', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `create_by` bigint NULL DEFAULT NULL COMMENT '创建人id(0表示由系统创建)', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `update_by` bigint NULL DEFAULT NULL COMMENT '更新人id', + `del_flag` int NULL DEFAULT 0 COMMENT '删除标志(0代表未删除,1代表已删除)', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of user +-- ---------------------------- +INSERT INTO `user` VALUES (1, 'Administrator', 'admin', 'admin@example.com', '$2a$10$JFr4Up/JiIHVEOjVi4KC.OAz.sL6ZkLb2wXaZkU.aEfGovz2SYSfa', 'https://tse2-mm.cn.bing.net/th/id/OIP-C.6ibIQ8yCz3fpAi0z5xvYkQAAAA?pid=ImgDet&rs=1', 0, NULL, NULL, NULL, NULL, 0); + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/src/main/java/com/mzaxd/noodles/job/CheckInstancesStatus.java b/src/main/java/com/mzaxd/noodles/job/CheckInstancesStatus.java index 65f8ec4..a985f8d 100644 --- a/src/main/java/com/mzaxd/noodles/job/CheckInstancesStatus.java +++ b/src/main/java/com/mzaxd/noodles/job/CheckInstancesStatus.java @@ -56,7 +56,7 @@ public class CheckInstancesStatus { * 检查实例状态并且发送对应的提醒 */ @SneakyThrows - @Scheduled(cron = "* 0/1 * * * ?") + @Scheduled(cron = "* 0/2 * * * ?") public void checkInstancesStatus() { List containers = containerService.list(); diff --git a/src/main/java/com/mzaxd/noodles/service/impl/EveryDayDataServiceImpl.java b/src/main/java/com/mzaxd/noodles/service/impl/EveryDayDataServiceImpl.java index 92453e5..37587aa 100644 --- a/src/main/java/com/mzaxd/noodles/service/impl/EveryDayDataServiceImpl.java +++ b/src/main/java/com/mzaxd/noodles/service/impl/EveryDayDataServiceImpl.java @@ -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 getLastWeekLambdaWrapper() { @@ -71,9 +87,32 @@ public class EveryDayDataServiceImpl extends ServiceImpl getLastWeekData() { - return list(getLastWeekLambdaWrapper()); + return getLastDate(6); } + public List getLastDate(int minusDay) { + // 今天的前一天是截止日期 + LocalDate end = LocalDate.now().minusDays(1); + // 七天前是起始日期 + LocalDate start = end.minusDays(minusDay); + List list = list(getLastWeekLambdaWrapper()); + + // 如果不足7条,则补充空数据 + int missingDays = 7 - list.size(); + if (missingDays > 0) { + List 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 getLastSixDayLambdaWrapper() { LambdaQueryWrapper everyDayDataLambdaQueryWrapper = new LambdaQueryWrapper<>(); everyDayDataLambdaQueryWrapper.ge(EveryDayData::getCreateTime, DateUtil.beginOfDay(DateUtil.offsetDay(DateUtil.date(), -6))); @@ -83,7 +122,7 @@ public class EveryDayDataServiceImpl extends ServiceImpl getLastSixDayData() { - return list(getLastSixDayLambdaWrapper()); + return getLastDate(5); } } diff --git a/src/main/java/com/mzaxd/noodles/service/impl/HostDetectorServiceImpl.java b/src/main/java/com/mzaxd/noodles/service/impl/HostDetectorServiceImpl.java index 5b13d21..18838a9 100644 --- a/src/main/java/com/mzaxd/noodles/service/impl/HostDetectorServiceImpl.java +++ b/src/main/java/com/mzaxd/noodles/service/impl/HostDetectorServiceImpl.java @@ -133,25 +133,36 @@ public class HostDetectorServiceImpl extends ServiceImpl 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 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); } diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index efc6fe6..8056f13 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -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 diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml index 7965075..52f3d20 100644 --- a/src/main/resources/application-prod.yml +++ b/src/main/resources/application-prod.yml @@ -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 \ No newline at end of file + page-size-zero: true +logging: + level: + com.mzaxd.noodles: info \ No newline at end of file diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 90385b2..caf4dfc 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -1,3 +1,3 @@ spring: profiles: - active: prod \ No newline at end of file + active: dev \ No newline at end of file diff --git a/src/test/java/com/mzaxd/noodles/NoodlesApplicationTests.java b/src/test/java/com/mzaxd/noodles/NoodlesApplicationTests.java index 483b837..3fd047c 100644 --- a/src/test/java/com/mzaxd/noodles/NoodlesApplicationTests.java +++ b/src/test/java/com/mzaxd/noodles/NoodlesApplicationTests.java @@ -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); + } }