ca4d537c4065315be5c5c27cdef733fc383c4b74..98d886ce316c0dd0623c76b3e157b186ebfeb7a5
2025-12-01 kongdeqiang
fix:sql提交
98d886 对比 | 目录
2025-12-01 kongdeqiang
fix:ospf主监测表提交
f3b27e 对比 | 目录
2025-12-01 kongdeqiang
ospf监控设备
5ecb1f 对比 | 目录
2025-12-01 kongdeqiang
监控设备
967c5f 对比 | 目录
2025-12-01 kongdeqiang
修改项目
b2f054 对比 | 目录
12个文件已添加
14个文件已修改
2752 ■■■■■ 已修改文件
sql/wgcloud.sql 1210 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/wgcloud/config/CorsFilter.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/wgcloud/controller/OspfInfoController.java 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/wgcloud/controller/OspfMonitorController.java 166 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/wgcloud/controller/SnmpInfoController.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/wgcloud/controller/SystemInfoController.java 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/wgcloud/controller/dp/DpController.java 113 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/wgcloud/entity/OspfInfo.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/wgcloud/entity/OspfMonitor.java 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/wgcloud/filter/AuthRestFilter.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/wgcloud/mapper/OspfMonitorMapper.java 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/wgcloud/service/OspfMonitorService.java 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/wgcloud/util/SnmpUtil.java 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mybatis/mapper/OspfInfoMapper.xml 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mybatis/mapper/OspfMonitorMapper.xml 192 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/static/js/ospfInfo.js 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/static/js/ospfMonitor.js 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/templates/common/aside.html 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/templates/host/list.html 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/templates/ospfInfo/add.html 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/templates/ospfInfo/list.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/templates/ospfMonitor/add.html 107 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/templates/ospfMonitor/list.html 122 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/templates/ospfMonitor/view.html 279 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wgcloud-server.iml 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sql/wgcloud.sql
New file
@@ -0,0 +1,1210 @@
/*
 Navicat Premium Data Transfer
 Source Server         : localhost
 Source Server Type    : MySQL
 Source Server Version : 80020 (8.0.20)
 Source Host           : localhost:3306
 Source Schema         : wgcloud
 Target Server Type    : MySQL
 Target Server Version : 80020 (8.0.20)
 File Encoding         : 65001
 Date: 01/12/2025 22:16:14
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for account_info
-- ----------------------------
DROP TABLE IF EXISTS `account_info`;
CREATE TABLE `account_info`  (
  `ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `ACCOUNT` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `EMAIL` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `PASSWD` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `ACCOUNT_KEY` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `REMARK` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `CREATE_TIME` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`ID`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of account_info
-- ----------------------------
-- ----------------------------
-- Table structure for app_info
-- ----------------------------
DROP TABLE IF EXISTS `app_info`;
CREATE TABLE `app_info`  (
  `ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `HOST_NAME` char(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `APP_PID` char(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `CREATE_TIME` timestamp NULL DEFAULT NULL,
  `APP_NAME` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `CPU_PER` double(8, 2) NULL DEFAULT NULL,
  `MEM_PER` double(10, 2) NULL DEFAULT NULL,
  `APP_TYPE` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `STATE` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `ACTIVE` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `READ_BYTES` char(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `WRITES_BYTES` char(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `THREADS_NUM` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `GATHER_PID` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `GROUP_ID` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `APP_TIMES` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`ID`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of app_info
-- ----------------------------
-- ----------------------------
-- Table structure for app_state
-- ----------------------------
DROP TABLE IF EXISTS `app_state`;
CREATE TABLE `app_state`  (
  `ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `APP_INFO_ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `CPU_PER` double(8, 2) NULL DEFAULT NULL,
  `MEM_PER` double(10, 2) NULL DEFAULT NULL,
  `CREATE_TIME` timestamp NULL DEFAULT NULL,
  `THREADS_NUM` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`ID`) USING BTREE,
  INDEX `APP_STAT_INDEX`(`APP_INFO_ID` ASC, `CREATE_TIME` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of app_state
-- ----------------------------
-- ----------------------------
-- Table structure for cpu_state
-- ----------------------------
DROP TABLE IF EXISTS `cpu_state`;
CREATE TABLE `cpu_state`  (
  `ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `HOST_NAME` char(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `USER_PER` char(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `SYS` double(8, 2) NULL DEFAULT NULL,
  `IDLE` double(8, 2) NULL DEFAULT NULL,
  `IOWAIT` double(8, 2) NULL DEFAULT NULL,
  `IRQ` char(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `SOFT` char(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `CREATE_TIME` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`ID`) USING BTREE,
  INDEX `CPU_ACC_HOST_INDEX`(`HOST_NAME` ASC, `CREATE_TIME` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of cpu_state
-- ----------------------------
INSERT INTO `cpu_state` VALUES ('1580113940405420032', '192.168.137.1', NULL, 28.91, NULL, NULL, NULL, NULL, '2022-10-12 16:31:30');
INSERT INTO `cpu_state` VALUES ('1580114183683440640', '192.168.137.1', NULL, 30.47, NULL, NULL, NULL, NULL, '2022-10-12 16:32:27');
INSERT INTO `cpu_state` VALUES ('1580114305297285120', '192.168.0.108', NULL, 33.79, NULL, NULL, NULL, NULL, '2022-10-12 16:32:59');
INSERT INTO `cpu_state` VALUES ('1580114426932101120', '192.168.137.1', NULL, 27.88, NULL, NULL, NULL, NULL, '2022-10-12 16:33:29');
INSERT INTO `cpu_state` VALUES ('1580114791828160512', '192.168.0.108', NULL, 25.98, NULL, NULL, NULL, NULL, '2022-10-12 16:34:31');
INSERT INTO `cpu_state` VALUES ('1580114913462976512', '192.168.0.108', NULL, 26.54, NULL, NULL, NULL, NULL, '2022-10-12 16:35:00');
INSERT INTO `cpu_state` VALUES ('1580115399993851904', '192.168.0.108', NULL, 20.70, NULL, NULL, NULL, NULL, '2022-10-12 16:36:59');
INSERT INTO `cpu_state` VALUES ('1580115886516338688', '192.168.0.108', NULL, 14.23, NULL, NULL, NULL, NULL, '2022-10-12 16:38:59');
INSERT INTO `cpu_state` VALUES ('1580116373055602688', '192.168.0.108', NULL, 30.47, NULL, NULL, NULL, NULL, '2022-10-12 16:40:59');
INSERT INTO `cpu_state` VALUES ('1580116859599060992', '192.168.0.108', NULL, 15.77, NULL, NULL, NULL, NULL, '2022-10-12 16:42:59');
INSERT INTO `cpu_state` VALUES ('1580117346142519296', '192.168.0.108', NULL, 43.36, NULL, NULL, NULL, NULL, '2022-10-12 16:44:59');
INSERT INTO `cpu_state` VALUES ('1580117832665006080', '192.168.0.108', NULL, 16.93, NULL, NULL, NULL, NULL, '2022-10-12 16:46:59');
INSERT INTO `cpu_state` VALUES ('1580118319174909952', '192.168.0.108', NULL, 9.23, NULL, NULL, NULL, NULL, '2022-10-12 16:48:59');
INSERT INTO `cpu_state` VALUES ('1580118903688921088', '192.168.0.108', NULL, 71.15, NULL, NULL, NULL, NULL, '2022-10-12 16:50:59');
-- ----------------------------
-- Table structure for cpu_temperatures
-- ----------------------------
DROP TABLE IF EXISTS `cpu_temperatures`;
CREATE TABLE `cpu_temperatures`  (
  `ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `HOST_NAME` char(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `CORE_INDEX` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `CRIT` char(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `INPUT` char(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `MAX` char(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `CREATE_TIME` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`ID`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of cpu_temperatures
-- ----------------------------
-- ----------------------------
-- Table structure for custom_info
-- ----------------------------
DROP TABLE IF EXISTS `custom_info`;
CREATE TABLE `custom_info`  (
  `ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `CUSTOM_NAME` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `CUSTOM_SHELL` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `CREATE_TIME` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
  `HOST_NAME` char(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `ACTIVE` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `STATE` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `RESULT_EXP` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `GROUP_ID` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `CUSTOM_VALUE` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`ID`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of custom_info
-- ----------------------------
-- ----------------------------
-- Table structure for custom_state
-- ----------------------------
DROP TABLE IF EXISTS `custom_state`;
CREATE TABLE `custom_state`  (
  `ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `CUSTOM_INFO_ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `CREATE_TIME` timestamp NULL DEFAULT NULL,
  `CUSTOM_VALUE` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`ID`) USING BTREE,
  INDEX `CUSTOM_STAT_INDEX`(`CUSTOM_INFO_ID` ASC, `CREATE_TIME` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of custom_state
-- ----------------------------
-- ----------------------------
-- Table structure for db_info
-- ----------------------------
DROP TABLE IF EXISTS `db_info`;
CREATE TABLE `db_info`  (
  `ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `DBTYPE` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `USER_NAME` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `PASSWD` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `DBURL` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `CREATE_TIME` timestamp NULL DEFAULT NULL,
  `DB_STATE` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `ALIAS_NAME` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `ACCOUNT` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`ID`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of db_info
-- ----------------------------
INSERT INTO `db_info` VALUES ('1596835671211900928', 'mysql', 'root', 'rootroot', 'jdbc:mysql://localhost:3306/wgcloud?characterEncoding=utf-8&characterSetResults=utf8&autoReconnect=true&useSSL=false&allowMultiQueries=true&allowPublicKeyRetrieval=true', '2022-12-05 17:46:52', '1', '本地数据库', NULL);
-- ----------------------------
-- Table structure for db_table
-- ----------------------------
DROP TABLE IF EXISTS `db_table`;
CREATE TABLE `db_table`  (
  `ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `TABLE_NAME` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `WHERE_VAL` varchar(2000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `CREATE_TIME` timestamp NULL DEFAULT NULL,
  `REMARK` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `TABLE_COUNT` bigint NULL DEFAULT NULL,
  `DBINFO_ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `ACTIVE` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `STATE` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `RESULT_EXP` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`ID`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of db_table
-- ----------------------------
-- ----------------------------
-- Table structure for db_table_count
-- ----------------------------
DROP TABLE IF EXISTS `db_table_count`;
CREATE TABLE `db_table_count`  (
  `ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `DB_TABLE_ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `TABLE_COUNT` bigint NULL DEFAULT NULL,
  `CREATE_TIME` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`ID`) USING BTREE,
  INDEX `DBTABLE_ID_CREATE_TIME`(`DB_TABLE_ID` ASC, `CREATE_TIME` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of db_table_count
-- ----------------------------
-- ----------------------------
-- Table structure for dce_info
-- ----------------------------
DROP TABLE IF EXISTS `dce_info`;
CREATE TABLE `dce_info`  (
  `ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `HOST_NAME` char(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `CREATE_TIME` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
  `ACTIVE` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `RES_TIMES` int NULL DEFAULT NULL,
  `REMARK` char(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `GROUP_ID` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `ACCOUNT` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`ID`) USING BTREE,
  INDEX `DCE_INFO_HOSTNAME_INDEX`(`HOST_NAME` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of dce_info
-- ----------------------------
-- ----------------------------
-- Table structure for dce_state
-- ----------------------------
DROP TABLE IF EXISTS `dce_state`;
CREATE TABLE `dce_state`  (
  `ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `DCE_ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `RES_TIMES` int NULL DEFAULT NULL,
  `CREATE_TIME` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`ID`) USING BTREE,
  INDEX `DCE_STATE_DCEID_INDEX`(`DCE_ID` ASC, `CREATE_TIME` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of dce_state
-- ----------------------------
-- ----------------------------
-- Table structure for desk_io
-- ----------------------------
DROP TABLE IF EXISTS `desk_io`;
CREATE TABLE `desk_io`  (
  `ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `FILE_STSTEM` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `READ_COUNT` char(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `WRITE_OUNT` char(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `READ_BYTES` char(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `WRITE_BYTES` char(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `READ_TIME` char(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `WRITE_TIME` char(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `CREATE_TIME` timestamp NULL DEFAULT NULL,
  `HOST_NAME` char(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`ID`) USING BTREE,
  INDEX `DISO_IO_HOST_INDEX`(`HOST_NAME` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of desk_io
-- ----------------------------
INSERT INTO `desk_io` VALUES ('1580114183977041920', 'F:', '1279031', '172717', '88G', '2G', '618', '125', '2022-10-12 16:32:27', '192.168.137.1');
INSERT INTO `desk_io` VALUES ('1580114183977041921', 'E:', '774973', '809732', '9G', '15G', '202', '212', '2022-10-12 16:32:27', '192.168.137.1');
INSERT INTO `desk_io` VALUES ('1580114183977041922', 'D:', '659188', '910389', '20G', '14G', '181', '267', '2022-10-12 16:32:27', '192.168.137.1');
INSERT INTO `desk_io` VALUES ('1580114183977041923', 'C:', '6246612', '4467160', '211G', '192G', '4715', '1802', '2022-10-12 16:32:27', '192.168.137.1');
INSERT INTO `desk_io` VALUES ('1580114913613971456', 'F:', '1279318', '172748', '88G', '2G', '618', '125', '2022-10-12 16:35:00', '192.168.0.108');
INSERT INTO `desk_io` VALUES ('1580114913613971457', 'E:', '775014', '810228', '9G', '15G', '202', '212', '2022-10-12 16:35:00', '192.168.0.108');
INSERT INTO `desk_io` VALUES ('1580114913613971458', 'D:', '660320', '910987', '20G', '14G', '181', '267', '2022-10-12 16:35:00', '192.168.0.108');
INSERT INTO `desk_io` VALUES ('1580114913613971459', 'C:', '6255742', '4471326', '211G', '192G', '4718', '1803', '2022-10-12 16:35:00', '192.168.0.108');
-- ----------------------------
-- Table structure for disk_smart
-- ----------------------------
DROP TABLE IF EXISTS `disk_smart`;
CREATE TABLE `disk_smart`  (
  `ID` char(32) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
  `HOST_NAME` char(50) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL,
  `FILE_STSTEM` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL,
  `DISK_STATE` char(50) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL,
  `POWER_HOURS` char(50) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL,
  `POWER_COUNT` char(50) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL,
  `TEMPERATURE` char(50) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL,
  `CREATE_TIME` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`ID`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_bin ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of disk_smart
-- ----------------------------
-- ----------------------------
-- Table structure for disk_state
-- ----------------------------
DROP TABLE IF EXISTS `disk_state`;
CREATE TABLE `disk_state`  (
  `ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `HOST_NAME` char(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `FILE_STSTEM` char(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `DISK_SIZE` char(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `USED` char(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `AVAIL` char(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `USE_PER` char(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `DATE_STR` char(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `CREATE_TIME` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`ID`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of disk_state
-- ----------------------------
INSERT INTO `disk_state` VALUES ('1580114183926710272', '192.168.137.1', 'F:', '85.0G', '50.43G', '34.57G', '59.33%', NULL, '2022-10-12 16:32:27');
INSERT INTO `disk_state` VALUES ('1580114183926710273', '192.168.137.1', 'E:', '100.0G', '96.24G', '3.76G', '96.24%', NULL, '2022-10-12 16:32:27');
INSERT INTO `disk_state` VALUES ('1580114183926710274', '192.168.137.1', 'D:', '180.0G', '151.49G', '28.51G', '84.16%', NULL, '2022-10-12 16:32:27');
INSERT INTO `disk_state` VALUES ('1580114183926710275', '192.168.137.1', 'C:', '110.69G', '98.0G', '12.69G', '88.53%', NULL, '2022-10-12 16:32:27');
INSERT INTO `disk_state` VALUES ('1580114913588805632', '192.168.0.108', 'F:', '85.0G', '50.43G', '34.57G', '59.33%', NULL, '2022-10-12 16:35:00');
INSERT INTO `disk_state` VALUES ('1580114913588805633', '192.168.0.108', 'E:', '100.0G', '96.24G', '3.76G', '96.24%', NULL, '2022-10-12 16:35:00');
INSERT INTO `disk_state` VALUES ('1580114913588805634', '192.168.0.108', 'D:', '180.0G', '151.49G', '28.51G', '84.16%', NULL, '2022-10-12 16:35:00');
INSERT INTO `disk_state` VALUES ('1580114913588805635', '192.168.0.108', 'C:', '110.69G', '98.17G', '12.53G', '88.68%', NULL, '2022-10-12 16:35:00');
-- ----------------------------
-- Table structure for docker_info
-- ----------------------------
DROP TABLE IF EXISTS `docker_info`;
CREATE TABLE `docker_info`  (
  `ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `HOST_NAME` char(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `DOCKER_ID` char(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `DOCKER_NAME` char(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `SYSTEM_TIME` char(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `MEM_PER` double(8, 0) NULL DEFAULT NULL,
  `STATE` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `CREATE_TIME` timestamp NULL DEFAULT NULL,
  `USER_TIME` char(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `ACTIVE` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `APP_TYPE` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `DOCKER_IMAGE` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `DOCKER_PORT` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `DOCKER_COMMAND` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `DOCKER_CREATED` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `DOCKER_SIZE` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `DOCKER_STATUS` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `GATHER_DOCKER_NAMES` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `GROUP_ID` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`ID`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of docker_info
-- ----------------------------
-- ----------------------------
-- Table structure for docker_state
-- ----------------------------
DROP TABLE IF EXISTS `docker_state`;
CREATE TABLE `docker_state`  (
  `ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `DOCKER_INFO_ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `CPU_PER` double(8, 0) NULL DEFAULT NULL,
  `MEM_PER` double(8, 0) NULL DEFAULT NULL,
  `CREATE_TIME` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`ID`) USING BTREE,
  INDEX `DOCKER_STATE_INDEX`(`DOCKER_INFO_ID` ASC, `CREATE_TIME` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of docker_state
-- ----------------------------
-- ----------------------------
-- Table structure for equipment
-- ----------------------------
DROP TABLE IF EXISTS `equipment`;
CREATE TABLE `equipment`  (
  `ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `NAME` char(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `XINGHAO` char(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `PERSON` char(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `DEPT` char(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `CODE` char(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `PRICE` double(10, 2) NULL DEFAULT NULL,
  `GONGYINGSHANG` char(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `CAIGOU_DATE` char(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `REMARK` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `CREATE_TIME` timestamp NULL DEFAULT NULL,
  `ACCOUNT` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`ID`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of equipment
-- ----------------------------
-- ----------------------------
-- Table structure for file_safe
-- ----------------------------
DROP TABLE IF EXISTS `file_safe`;
CREATE TABLE `file_safe`  (
  `ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `HOST_NAME` char(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `FILE_NAME` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `STATE` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `FILE_PATH` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `ACTIVE` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `FILE_SIGN` char(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `FILE_MODTIME` char(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `CREATE_TIME` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`ID`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of file_safe
-- ----------------------------
-- ----------------------------
-- Table structure for file_warn
-- ----------------------------
DROP TABLE IF EXISTS `file_warn`;
CREATE TABLE `file_warn`  (
  `ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `FILE_PATH` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `FILE_SIZE` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `WARN_CHARS` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `CREATE_TIME` timestamp NULL DEFAULT NULL,
  `WARN_ROWS` char(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `HOST_NAME` char(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `REMARK` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `ACTIVE` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `FILE_NAME_PREFIX` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `FILE_TYPE` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`ID`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of file_warn
-- ----------------------------
-- ----------------------------
-- Table structure for file_warn_state
-- ----------------------------
DROP TABLE IF EXISTS `file_warn_state`;
CREATE TABLE `file_warn_state`  (
  `ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `WAR_CONTENT` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL,
  `CREATE_TIME` timestamp NULL DEFAULT NULL,
  `FILE_WARN_ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `FILE_PATH` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`ID`) USING BTREE,
  INDEX `FILE_WARN_ID_INDEX`(`FILE_WARN_ID` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of file_warn_state
-- ----------------------------
-- ----------------------------
-- Table structure for heath_monitor
-- ----------------------------
DROP TABLE IF EXISTS `heath_monitor`;
CREATE TABLE `heath_monitor`  (
  `ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `APP_NAME` char(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `HEATH_URL` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `CREATE_TIME` timestamp NULL DEFAULT NULL,
  `HEATH_STATUS` char(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `RES_TIMES` int NULL DEFAULT NULL,
  `ACTIVE` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `RES_KEYWORD` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `METHOD` char(5) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `POST_STR` varchar(2000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `RES_NO_KEYWORD` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `HEADER_JSON` varchar(1500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `ACCOUNT` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`ID`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of heath_monitor
-- ----------------------------
-- ----------------------------
-- Table structure for heath_state
-- ----------------------------
DROP TABLE IF EXISTS `heath_state`;
CREATE TABLE `heath_state`  (
  `ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `HEATH_ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `CREATE_TIME` timestamp NULL DEFAULT NULL,
  `RES_TIMES` int NULL DEFAULT NULL,
  PRIMARY KEY (`ID`) USING BTREE,
  INDEX `HEATH_ID_CREATE_TIME`(`HEATH_ID` ASC, `CREATE_TIME` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of heath_state
-- ----------------------------
-- ----------------------------
-- Table structure for host_disk_per
-- ----------------------------
DROP TABLE IF EXISTS `host_disk_per`;
CREATE TABLE `host_disk_per`  (
  `ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `HOST_NAME` char(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `DISK_SUM_PER` double NULL DEFAULT NULL,
  `CREATE_TIME` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`ID`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of host_disk_per
-- ----------------------------
-- ----------------------------
-- Table structure for host_group
-- ----------------------------
DROP TABLE IF EXISTS `host_group`;
CREATE TABLE `host_group`  (
  `ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `GROUP_NAME` char(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `CREATE_TIME` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
  `REMARK` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `GROUP_TYPE` varchar(5) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`ID`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of host_group
-- ----------------------------
-- ----------------------------
-- Table structure for intrusion_info
-- ----------------------------
DROP TABLE IF EXISTS `intrusion_info`;
CREATE TABLE `intrusion_info`  (
  `ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `HOST_NAME` char(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `LSMOD` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL,
  `PASSWD_INFO` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `CRONTAB` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL,
  `PROMISC` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `RPCINFO` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL,
  `CREATE_TIME` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`ID`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of intrusion_info
-- ----------------------------
-- ----------------------------
-- Table structure for log_info
-- ----------------------------
DROP TABLE IF EXISTS `log_info`;
CREATE TABLE `log_info`  (
  `ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `HOST_NAME` char(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `INFO_CONTENT` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL,
  `STATE` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `CREATE_TIME` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`ID`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of log_info
-- ----------------------------
INSERT INTO `log_info` VALUES ('1579987713828978688', '定时清空历史趋势图数据完成', '每天8:10清空20天前的监控历史趋势图数据,任务完成', '2', '2022-10-12 08:10:00');
INSERT INTO `log_info` VALUES ('1580113940975845376', '主机已恢复上线:192.168.137.1', '主机已恢复上线:192.168.137.1', '3', '2022-10-12 16:31:35');
INSERT INTO `log_info` VALUES ('1580114305414725632', '主机已恢复上线:192.168.0.108', '主机已恢复上线:192.168.0.108', '3', '2022-10-12 16:33:02');
INSERT INTO `log_info` VALUES ('1580116335357198336', '主机下线告警:192.168.137.1', '主机可能已下线:192.168.137.1', '1', '2022-10-12 16:41:06');
INSERT INTO `log_info` VALUES ('1596046836488077312', '主机下线告警:192.168.137.1', '主机可能已下线:192.168.137.1', '1', '2022-11-25 15:43:13');
INSERT INTO `log_info` VALUES ('1596046836488077313', '主机下线告警:192.168.0.108', '主机可能已下线:192.168.0.108', '1', '2022-11-25 15:43:13');
INSERT INTO `log_info` VALUES ('1596048254729060352', 'admin添加snmp设备监测信息:192.168.8.150', 'snmp设备:F1060', '2', '2022-11-25 15:48:51');
INSERT INTO `log_info` VALUES ('1596078293734522880', '主机下线告警:192.168.0.108', '主机可能已下线:192.168.0.108', '1', '2022-11-25 17:48:13');
INSERT INTO `log_info` VALUES ('1596078293734522881', '主机下线告警:192.168.137.1', '主机可能已下线:192.168.137.1', '1', '2022-11-25 17:48:13');
INSERT INTO `log_info` VALUES ('1596086484006469632', 'snmp设备监测告警:192.168.8.150(F1060)', 'snmp设备:192.168.8.150(F1060),可能已下线', '1', '2022-11-25 18:20:46');
INSERT INTO `log_info` VALUES ('1596087675172028416', 'snmp设备监测告警:192.168.8.150(F1060)', 'snmp设备:192.168.8.150(F1060),可能已下线', '1', '2022-11-25 18:25:30');
INSERT INTO `log_info` VALUES ('1596088358872940544', 'snmp设备监测告警:192.168.8.150(F1060)', 'snmp设备:192.168.8.150(F1060),可能已下线', '1', '2022-11-25 18:28:13');
INSERT INTO `log_info` VALUES ('1596682974651351040', '主机下线告警:192.168.137.1', '主机可能已下线:192.168.137.1', '1', '2022-11-27 09:51:00');
INSERT INTO `log_info` VALUES ('1596682974651351041', '主机下线告警:192.168.0.108', '主机可能已下线:192.168.0.108', '1', '2022-11-27 09:51:00');
INSERT INTO `log_info` VALUES ('1596684083247841280', 'admin修改snmp设备监测信息:192.168.8.150', 'snmp设备:F1060', '2', '2022-11-27 09:55:25');
INSERT INTO `log_info` VALUES ('1596684534445899776', '主机下线告警:192.168.0.108', '主机可能已下线:192.168.0.108', '1', '2022-11-27 09:57:12');
INSERT INTO `log_info` VALUES ('1596684534445899777', '主机下线告警:192.168.137.1', '主机可能已下线:192.168.137.1', '1', '2022-11-27 09:57:12');
INSERT INTO `log_info` VALUES ('1596685365677260800', 'admin修改snmp设备监测信息:192.168.8.150', 'snmp设备:F1060', '2', '2022-11-27 10:00:30');
INSERT INTO `log_info` VALUES ('1596685638856474624', 'admin修改snmp设备监测信息:192.168.8.150', 'snmp设备:F1060', '2', '2022-11-27 10:01:35');
INSERT INTO `log_info` VALUES ('1596692254012080128', 'admin修改snmp设备监测信息:192.168.8.150', 'snmp设备:F1060', '2', '2022-11-27 10:27:53');
INSERT INTO `log_info` VALUES ('1596699670745317376', '主机下线告警:192.168.137.1', '主机可能已下线:192.168.137.1', '1', '2022-11-27 10:57:21');
INSERT INTO `log_info` VALUES ('1596699670745317377', '主机下线告警:192.168.0.108', '主机可能已下线:192.168.0.108', '1', '2022-11-27 10:57:21');
INSERT INTO `log_info` VALUES ('1596731128000151552', '主机下线告警:192.168.137.1', '主机可能已下线:192.168.137.1', '1', '2022-11-27 13:02:21');
INSERT INTO `log_info` VALUES ('1596731128000151553', '主机下线告警:192.168.0.108', '主机可能已下线:192.168.0.108', '1', '2022-11-27 13:02:21');
INSERT INTO `log_info` VALUES ('1596762585292734464', '主机下线告警:192.168.0.108', '主机可能已下线:192.168.0.108', '1', '2022-11-27 15:07:21');
INSERT INTO `log_info` VALUES ('1596762585292734465', '主机下线告警:192.168.137.1', '主机可能已下线:192.168.137.1', '1', '2022-11-27 15:07:21');
INSERT INTO `log_info` VALUES ('1596794042568540160', '主机下线告警:192.168.0.108', '主机可能已下线:192.168.0.108', '1', '2022-11-27 17:12:21');
INSERT INTO `log_info` VALUES ('1596794042568540161', '主机下线告警:192.168.137.1', '主机可能已下线:192.168.137.1', '1', '2022-11-27 17:12:21');
INSERT INTO `log_info` VALUES ('1596825499844345856', '主机下线告警:192.168.0.108', '主机可能已下线:192.168.0.108', '1', '2022-11-27 19:17:21');
INSERT INTO `log_info` VALUES ('1596825499844345857', '主机下线告警:192.168.137.1', '主机可能已下线:192.168.137.1', '1', '2022-11-27 19:17:21');
INSERT INTO `log_info` VALUES ('1596834091406327808', '主机下线告警:192.168.0.108', '主机可能已下线:192.168.0.108', '1', '2022-11-27 19:51:29');
INSERT INTO `log_info` VALUES ('1596834091406327809', '主机下线告警:192.168.137.1', '主机可能已下线:192.168.137.1', '1', '2022-11-27 19:51:29');
INSERT INTO `log_info` VALUES ('1596835671262232576', 'admin添加数据源监测信息:本地数据库', '数据库类型:mysql', '2', '2022-11-27 19:57:46');
INSERT INTO `log_info` VALUES ('1596836702465425408', '主机下线告警:192.168.137.1', '主机可能已下线:192.168.137.1', '1', '2022-11-27 20:01:52');
INSERT INTO `log_info` VALUES ('1596836702465425409', '主机下线告警:192.168.0.108', '主机可能已下线:192.168.0.108', '1', '2022-11-27 20:01:52');
INSERT INTO `log_info` VALUES ('1596839336307982336', '主机下线告警:192.168.0.108', '主机可能已下线:192.168.0.108', '1', '2022-11-27 20:12:20');
INSERT INTO `log_info` VALUES ('1596839336307982337', '主机下线告警:192.168.137.1', '主机可能已下线:192.168.137.1', '1', '2022-11-27 20:12:20');
INSERT INTO `log_info` VALUES ('1596842419050119168', '主机下线告警:192.168.137.1', '主机可能已下线:192.168.137.1', '1', '2022-11-27 20:24:35');
INSERT INTO `log_info` VALUES ('1596842419050119169', '主机下线告警:192.168.0.108', '主机可能已下线:192.168.0.108', '1', '2022-11-27 20:24:35');
INSERT INTO `log_info` VALUES ('1596842701498744832', 'admin删除主机:192.168.0.108', '主机:null', '2', '2022-11-27 20:25:42');
INSERT INTO `log_info` VALUES ('1596842711854481408', 'admin删除主机:192.168.137.1', '主机:null', '2', '2022-11-27 20:25:45');
INSERT INTO `log_info` VALUES ('1596854035179241472', 'admin修改snmp设备监测信息:192.168.8.150', 'snmp设备:F1060', '2', '2022-11-27 21:10:44');
INSERT INTO `log_info` VALUES ('1596857217959723008', 'admin修改snmp设备监测信息:192.168.8.150', 'snmp设备:F1060', '2', '2022-11-27 21:23:23');
INSERT INTO `log_info` VALUES ('1596857268131987456', 'admin修改snmp设备监测信息:192.168.8.150', 'snmp设备:F1060', '2', '2022-11-27 21:23:35');
INSERT INTO `log_info` VALUES ('1596860020878868480', '保存snmp设备监测错误', 'org.springframework.jdbc.BadSqlGrammarException: \r\n### Error updating database.  Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'INTERFACE_NAME_OID = \'1.3.6.1.2.1.31.1.1.1.1\'\n            \n            \n                ACTUAL_SPEED_OID = \'1.\' at line 47\r\n### The error may exist in file [D:\\project\\v3.4.1源码(正式版) 2\\v3.4.1源码(正式版)\\源码\\server\\wgcloud-server\\target\\classes\\mybatis\\mapper\\SnmpInfoMapper.xml]\r\n### The error may involve com.wgcloud.mapper.SnmpInfoMapper.updateById-Inline\r\n### The error occurred while setting parameters\r\n### SQL: UPDATE SNMP_INFO    SET HOST_NAME = ?,                                     ACTIVE = ?,             REMARK = ?,             RECV_OID = ?,             SENT_OID = ?,             SNMP_COMMUNITY = ?,             SNMP_PORT = ?,             SNMP_VERSION = ?,             CPU_PER_OID = ?,             MEM_SIZE_OID = ?,             MEM_TOTAL_SIZE_OID = ?,                         INTERFACE_STATUS_OID = ?             INTERFACE_NAME_OID = ?             ACTUAL_SPEED_OID = ?             WORK_MTU_OID = ?             ACTUAL_MTU_OID = ?             LOOPBACK_OID = ?             DESCRIPTION_OID = ?    WHERE ID = ?\r\n### Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'INTERFACE_NAME_OID = \'1.3.6.1.2.1.31.1.1.1.1\'\n            \n            \n                ACTUAL_SPEED_OID = \'1.\' at line 47\n; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'INTERFACE_NAME_OID = \'1.3.6.1.2.1.31.1.1.1.1\'\n            \n            \n                ACTUAL_SPEED_OID = \'1.\' at line 47', '2', '2022-11-27 21:34:31');
INSERT INTO `log_info` VALUES ('1596865252610408448', 'admin修改snmp设备监测信息:192.168.8.150', 'snmp设备:F1060', '2', '2022-11-27 21:55:19');
INSERT INTO `log_info` VALUES ('1597504818295996416', 'admin修改snmp设备监测信息:192.168.8.150', 'snmp设备:F1060', '2', '2022-11-29 16:16:43');
INSERT INTO `log_info` VALUES ('1597505432518262784', 'admin修改snmp设备监测信息:192.168.8.150', 'snmp设备:F1060', '2', '2022-11-29 16:19:09');
INSERT INTO `log_info` VALUES ('1599581172608925696', 'snmp设备监测告警:192.168.8.150(F1060)', 'snmp设备:192.168.8.150(F1060),可能已下线', '1', '2022-12-05 09:47:24');
INSERT INTO `log_info` VALUES ('1599582998255239168', 'admin修改snmp设备监测信息:192.168.3.150', 'snmp设备:F1060', '2', '2022-12-05 09:54:40');
INSERT INTO `log_info` VALUES ('1599586208432914432', 'snmp设备监测已恢复:192.168.3.150(F1060)', 'snmp设备监测已恢复:192.168.3.150(F1060)', '3', '2022-12-05 10:07:25');
INSERT INTO `log_info` VALUES ('1599659498509828096', '主机拓扑图生成错误', 'java.lang.StringIndexOutOfBoundsException: String index out of range: -1', '2', '2022-12-05 14:58:39');
INSERT INTO `log_info` VALUES ('1982330853958746112', '主机拓扑图生成错误', 'java.lang.StringIndexOutOfBoundsException: String index out of range: -1', '2', '2025-10-26 14:18:00');
INSERT INTO `log_info` VALUES ('1995476132979408896', '查询资产信息错误', 'org.springframework.jdbc.BadSqlGrammarException: \r\n### Error querying database.  Cause: java.sql.SQLSyntaxErrorException: Table \'wgcloud.inspection_task\' doesn\'t exist\r\n### The error may exist in file [D:\\project\\tssw\\target\\classes\\mybatis\\mapper\\InspectionTaskMapper.xml]\r\n### The error may involve com.wgcloud.mapper.InspectionTaskMapper.selectByParams-Inline\r\n### The error occurred while setting parameters\r\n### SQL: SELECT count(0) FROM INSPECTION_TASK\r\n### Cause: java.sql.SQLSyntaxErrorException: Table \'wgcloud.inspection_task\' doesn\'t exist\n; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: Table \'wgcloud.inspection_task\' doesn\'t exist', '2', '2025-12-01 20:52:38');
INSERT INTO `log_info` VALUES ('1995476149660155904', '查询资产信息错误', 'org.springframework.jdbc.BadSqlGrammarException: \r\n### Error querying database.  Cause: java.sql.SQLSyntaxErrorException: Table \'wgcloud.failure_logging\' doesn\'t exist\r\n### The error may exist in file [D:\\project\\tssw\\target\\classes\\mybatis\\mapper\\FailureLoggingMapper.xml]\r\n### The error may involve com.wgcloud.mapper.FailureLoggingMapper.selectByParams-Inline\r\n### The error occurred while setting parameters\r\n### SQL: SELECT count(0) FROM FAILURE_LOGGING\r\n### Cause: java.sql.SQLSyntaxErrorException: Table \'wgcloud.failure_logging\' doesn\'t exist\n; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: Table \'wgcloud.failure_logging\' doesn\'t exist', '2', '2025-12-01 20:52:42');
-- ----------------------------
-- Table structure for mail_set
-- ----------------------------
DROP TABLE IF EXISTS `mail_set`;
CREATE TABLE `mail_set`  (
  `ID` char(32) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  `SEND_MAIL` char(60) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,
  `FROM_MAIL_NAME` char(60) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,
  `FROM_PWD` char(30) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,
  `SMTP_HOST` char(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,
  `SMTP_PORT` char(30) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,
  `SMTP_SSL` char(30) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,
  `TO_MAIL` varchar(300) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,
  `CPU_PER` char(30) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,
  `CREATE_TIME` timestamp NULL DEFAULT NULL,
  `MEM_PER` char(30) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,
  `HEATH_PER` char(30) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,
  PRIMARY KEY (`ID`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_unicode_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of mail_set
-- ----------------------------
-- ----------------------------
-- Table structure for mem_state
-- ----------------------------
DROP TABLE IF EXISTS `mem_state`;
CREATE TABLE `mem_state`  (
  `ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `HOST_NAME` char(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `TOTAL` char(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `USED` char(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `FREE` char(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `USE_PER` double(8, 2) NULL DEFAULT NULL,
  `CREATE_TIME` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`ID`) USING BTREE,
  INDEX `MEM_ACC_HOST_INDEX`(`HOST_NAME` ASC, `CREATE_TIME` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of mem_state
-- ----------------------------
INSERT INTO `mem_state` VALUES ('1580113940577386496', '192.168.137.1', NULL, NULL, NULL, 81.00, '2022-10-12 16:31:30');
INSERT INTO `mem_state` VALUES ('1580114183725383680', '192.168.137.1', NULL, NULL, NULL, 82.00, '2022-10-12 16:32:27');
INSERT INTO `mem_state` VALUES ('1580114305314062336', '192.168.0.108', NULL, NULL, NULL, 84.00, '2022-10-12 16:32:59');
INSERT INTO `mem_state` VALUES ('1580114426948878336', '192.168.137.1', NULL, NULL, NULL, 84.00, '2022-10-12 16:33:29');
INSERT INTO `mem_state` VALUES ('1580114791891075072', '192.168.0.108', NULL, NULL, NULL, 83.00, '2022-10-12 16:34:31');
INSERT INTO `mem_state` VALUES ('1580114913525891072', '192.168.0.108', NULL, NULL, NULL, 83.00, '2022-10-12 16:35:00');
INSERT INTO `mem_state` VALUES ('1580115400019017728', '192.168.0.108', NULL, NULL, NULL, 84.00, '2022-10-12 16:36:59');
INSERT INTO `mem_state` VALUES ('1580115886575058944', '192.168.0.108', NULL, NULL, NULL, 83.00, '2022-10-12 16:38:59');
INSERT INTO `mem_state` VALUES ('1580116373110128640', '192.168.0.108', NULL, NULL, NULL, 84.00, '2022-10-12 16:40:59');
INSERT INTO `mem_state` VALUES ('1580116859653586944', '192.168.0.108', NULL, NULL, NULL, 85.00, '2022-10-12 16:42:59');
INSERT INTO `mem_state` VALUES ('1580117346163490816', '192.168.0.108', NULL, NULL, NULL, 86.00, '2022-10-12 16:44:59');
INSERT INTO `mem_state` VALUES ('1580117832685977600', '192.168.0.108', NULL, NULL, NULL, 87.00, '2022-10-12 16:46:59');
INSERT INTO `mem_state` VALUES ('1580118319216852992', '192.168.0.108', NULL, NULL, NULL, 79.00, '2022-10-12 16:48:59');
INSERT INTO `mem_state` VALUES ('1580118903739252736', '192.168.0.108', NULL, NULL, NULL, 83.00, '2022-10-12 16:50:59');
-- ----------------------------
-- Table structure for netio_state
-- ----------------------------
DROP TABLE IF EXISTS `netio_state`;
CREATE TABLE `netio_state`  (
  `ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `HOST_NAME` char(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `RXPCK` char(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `TXPCK` char(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `RXBYT` char(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `TXBYT` char(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `CREATE_TIME` timestamp NULL DEFAULT NULL,
  `DROPIN` char(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `DROPOUT` char(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `NET_CONNECTIONS` char(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`ID`) USING BTREE,
  INDEX `NETIO_ACC_HOST_INDEX`(`HOST_NAME` ASC, `CREATE_TIME` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of netio_state
-- ----------------------------
INSERT INTO `netio_state` VALUES ('1580113940619329536', '192.168.137.1', '415.67', '169.67', '551.32', '11.63', '2022-10-12 16:31:30', '0.0', '0.0', '405');
INSERT INTO `netio_state` VALUES ('1580114183750549504', '192.168.137.1', '395.0', '137.33', '522.75', '8.41', '2022-10-12 16:32:27', '0.0', '0.0', '397');
INSERT INTO `netio_state` VALUES ('1580114305326645248', '192.168.0.108', '43.0', '51.0', '18.39', '14.47', '2022-10-12 16:32:59', '0.0', '0.0', '417');
INSERT INTO `netio_state` VALUES ('1580114426961461248', '192.168.137.1', '52.0', '41.33', '11.15', '14.61', '2022-10-12 16:33:29', '0.0', '0.0', '465');
INSERT INTO `netio_state` VALUES ('1580114791907852288', '192.168.0.108', '12.33', '17.33', '1.93', '1.92', '2022-10-12 16:34:31', '0.0', '0.0', '547');
INSERT INTO `netio_state` VALUES ('1580114913534279680', '192.168.0.108', '62.0', '65.33', '14.23', '9.74', '2022-10-12 16:35:00', '0.0', '0.0', '491');
INSERT INTO `netio_state` VALUES ('1580115400027406336', '192.168.0.108', '8.33', '13.33', '3.51', '1.29', '2022-10-12 16:36:59', '0.0', '0.0', '398');
INSERT INTO `netio_state` VALUES ('1580115886587641856', '192.168.0.108', '11.33', '12.67', '2.25', '1.63', '2022-10-12 16:38:59', '0.0', '0.0', '389');
INSERT INTO `netio_state` VALUES ('1580116373126905856', '192.168.0.108', '9.67', '12.33', '1.63', '1.03', '2022-10-12 16:40:59', '0.0', '0.0', '395');
INSERT INTO `netio_state` VALUES ('1580116859674558464', '192.168.0.108', '185.33', '72.67', '225.69', '13.12', '2022-10-12 16:42:59', '0.0', '0.0', '446');
INSERT INTO `netio_state` VALUES ('1580117346180268032', '192.168.0.108', '295.67', '178.67', '322.65', '41.23', '2022-10-12 16:44:59', '0.0', '0.0', '429');
INSERT INTO `netio_state` VALUES ('1580117832694366208', '192.168.0.108', '19.67', '21.67', '2.36', '9.19', '2022-10-12 16:46:59', '0.0', '0.0', '405');
INSERT INTO `netio_state` VALUES ('1580118319233630208', '192.168.0.108', '6.33', '6.0', '1.14', '1.16', '2022-10-12 16:48:59', '0.0', '0.0', '416');
INSERT INTO `netio_state` VALUES ('1580118903751835648', '192.168.0.108', '5.33', '4.67', '1.61', '1.31', '2022-10-12 16:50:59', '0.0', '0.0', '401');
-- ----------------------------
-- Table structure for ospf_info
-- ----------------------------
DROP TABLE IF EXISTS `ospf_info`;
CREATE TABLE `ospf_info`  (
  `ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `HOST_NAME` char(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `INFO_CONTENT` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL,
  `STATE` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `CREATE_TIME` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `AREA_NUM` char(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `MONITOR_ID` char(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `MONITOR_IP` char(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `MONITOR_USERNAME` char(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `MONITOR_PASSWORD` char(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`ID`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of ospf_info
-- ----------------------------
INSERT INTO `ospf_info` VALUES ('1984796042100604928', '192.168.0.24', '栾城北国', NULL, '2025-11-02 09:33:46', NULL, NULL, NULL, NULL, NULL);
INSERT INTO `ospf_info` VALUES ('1984797190165495808', '192.168.1.56', '正定核心', NULL, '2025-11-02 09:38:20', NULL, NULL, NULL, NULL, NULL);
INSERT INTO `ospf_info` VALUES ('1984797911589978112', '192.168.3.21', '交换机02', NULL, '2025-11-02 09:41:12', NULL, NULL, NULL, NULL, NULL);
INSERT INTO `ospf_info` VALUES ('1984799156094500864', '192.168.4.52', '测试', NULL, '2025-11-02 09:46:09', '', '1995486712243027968', '192.168.0.2', 'admin', 'admin');
INSERT INTO `ospf_info` VALUES ('1984800382022451200', '192.168.6.35', '交换机03', NULL, '2025-11-02 09:51:01', '6', '1995474620278505472', '192.168.0.1', 'adminbg', 'admin');
-- ----------------------------
-- Table structure for ospf_monitor
-- ----------------------------
DROP TABLE IF EXISTS `ospf_monitor`;
CREATE TABLE `ospf_monitor`  (
  `ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `HOST_NAME` char(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `INFO_CONTENT` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL,
  `STATE` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `CREATE_TIME` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `USERNAME` char(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `PASSWORD` char(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`ID`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of ospf_monitor
-- ----------------------------
INSERT INTO `ospf_monitor` VALUES ('1995474620278505472', '192.168.0.1', '核心交换01', NULL, '2025-12-01 20:46:38', 'adminbg', 'admin');
INSERT INTO `ospf_monitor` VALUES ('1995486712243027968', '192.168.0.2', '核心02', NULL, '2025-12-01 21:34:41', 'admin', 'admin');
-- ----------------------------
-- Table structure for port_info
-- ----------------------------
DROP TABLE IF EXISTS `port_info`;
CREATE TABLE `port_info`  (
  `ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `PORT` char(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `PORT_NAME` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `STATE` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `CREATE_TIME` timestamp NULL DEFAULT NULL,
  `HOST_NAME` char(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `ACTIVE` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `TELNET_IP` varchar(300) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `GROUP_ID` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`ID`) USING BTREE,
  INDEX `PORT_HOST_NAME_INDEX`(`HOST_NAME` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of port_info
-- ----------------------------
-- ----------------------------
-- Table structure for shell_info
-- ----------------------------
DROP TABLE IF EXISTS `shell_info`;
CREATE TABLE `shell_info`  (
  `ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `SHELL` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `CREATE_TIME` timestamp NULL DEFAULT NULL,
  `STATE` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `SHELL_NAME` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `SHELL_TYPE` varchar(5) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `SHELL_TIME` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `SHELL_DAY` varchar(5) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `ACCOUNT` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`ID`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of shell_info
-- ----------------------------
-- ----------------------------
-- Table structure for shell_state
-- ----------------------------
DROP TABLE IF EXISTS `shell_state`;
CREATE TABLE `shell_state`  (
  `ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `SHELL_ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `HOST_NAME` char(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `CREATE_TIME` timestamp NULL DEFAULT NULL,
  `STATE` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `SHELL` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `SHELL_TIME` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`ID`) USING BTREE,
  INDEX `SHELL_STATE_INDEX2`(`SHELL_ID` ASC) USING BTREE,
  INDEX `SHELL_STATE_INDEX1`(`HOST_NAME` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of shell_state
-- ----------------------------
-- ----------------------------
-- Table structure for snmp_info
-- ----------------------------
DROP TABLE IF EXISTS `snmp_info`;
CREATE TABLE `snmp_info`  (
  `ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `HOST_NAME` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `BYTES_RECV` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `BYTES_SENT` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `RECV_AVG` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `SENT_AVG` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `STATE` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `ACTIVE` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `CREATE_TIME` timestamp NULL DEFAULT NULL,
  `SNMP_UNIT` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `REMARK` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `RECV_OID` varchar(2000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `SENT_OID` varchar(2000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `SNMP_COMMUNITY` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `SNMP_PORT` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `SNMP_VERSION` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `ACCOUNT` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `CPU_PER_OID` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `MEM_SIZE_OID` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `MEM_TOTAL_SIZE_OID` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `CPU_PER` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `MEM_PER` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `INTERFACE_STATUS_OID` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `ACTUAL_SPEED_OID` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `WORK_MTU_OID` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `ACTUAL_MTU_OID` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `LOOPBACK_OID` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `DESCRIPTION_OID` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `INTERFACE_NAME_OID` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`ID`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of snmp_info
-- ----------------------------
INSERT INTO `snmp_info` VALUES ('1596048254674534400', '192.168.3.150', '204', '216', '0.0', '0.0', '1', '1', '2022-12-05 18:07:22', 'byte', 'F1060', '1.3.6.1.2.1.2.2.1.10.1\r\n1.3.6.1.2.1.2.2.1.10.2', '1.3.6.1.2.1.2.2.1.16.1\r\n1.3.6.1.2.1.2.2.1.16.2', 'public', '161', '1', NULL, '1.3.6.1.4.1.25506.2.6.1.1.1.1.6.25', '1.3.6.1.4.1.25506.2.6.1.1.1.1.8.25', '', '96.0', '0', '1.3.6.1.2.1.2.2.1.8', '1.3.6.1.2.1.2.2.1.5', '', '1.3.6.1.2.1.10.7.2.1.19', '1.3.6.1.4.1.25506.2.95.2.3.0', '1.3.6.1.2.1.2.2.1.2', '1.3.6.1.2.1.31.1.1.1.1');
-- ----------------------------
-- Table structure for snmp_interface_info
-- ----------------------------
DROP TABLE IF EXISTS `snmp_interface_info`;
CREATE TABLE `snmp_interface_info`  (
  `ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `CREATE_TIME` timestamp NULL DEFAULT NULL,
  `HOST_NAME` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `INTERFACE_NAME` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `IS_UP` int NULL DEFAULT NULL COMMENT '1/启用 2/未启用',
  `INET_ADDRESS_IPV4_MASK` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'ip',
  `ACTUAL_SPEED` int NULL DEFAULT NULL COMMENT '速率',
  `WORK_MTU` int NULL DEFAULT NULL COMMENT '工作模式',
  `ACTUAL_MTU` int NULL DEFAULT NULL COMMENT '双工模式',
  `LOOPBACK` int NULL DEFAULT NULL COMMENT '环回检测',
  `DESCRIPTION` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`ID`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of snmp_interface_info
-- ----------------------------
INSERT INTO `snmp_interface_info` VALUES ('1597537593627639808', '2022-11-29 18:26:58', '192.168.8.150', 'GigabitEthernet1/0/0', 1, NULL, 1000000000, NULL, 1, NULL, 'GigabitEthernet1/0/0');
INSERT INTO `snmp_interface_info` VALUES ('1597537593627639809', '2022-11-29 18:26:58', '192.168.8.150', 'GigabitEthernet1/0/1', 2, NULL, 1000000000, NULL, 1, NULL, 'GigabitEthernet1/0/1');
INSERT INTO `snmp_interface_info` VALUES ('1597537593627639810', '2022-11-29 18:26:58', '192.168.8.150', 'GigabitEthernet1/0/2', 1, NULL, 1000000000, NULL, 1, NULL, 'GigabitEthernet1/0/2');
INSERT INTO `snmp_interface_info` VALUES ('1597537593627639811', '2022-11-29 18:26:58', '192.168.8.150', 'GigabitEthernet1/0/3', 2, NULL, 1000000000, NULL, 1, NULL, 'GigabitEthernet1/0/3');
INSERT INTO `snmp_interface_info` VALUES ('1597537593627639812', '2022-11-29 18:26:58', '192.168.8.150', 'GigabitEthernet1/0/4', 2, NULL, 1000000000, NULL, 1, NULL, 'GigabitEthernet1/0/4');
INSERT INTO `snmp_interface_info` VALUES ('1597537593627639813', '2022-11-29 18:26:58', '192.168.8.150', 'GigabitEthernet1/0/5', 2, NULL, 1000000000, NULL, 1, NULL, 'GigabitEthernet1/0/5');
INSERT INTO `snmp_interface_info` VALUES ('1597537593627639814', '2022-11-29 18:26:58', '192.168.8.150', 'GigabitEthernet1/0/6', 2, NULL, 1000000000, NULL, 1, NULL, 'GigabitEthernet1/0/6');
INSERT INTO `snmp_interface_info` VALUES ('1597537593627639815', '2022-11-29 18:26:58', '192.168.8.150', 'GigabitEthernet1/0/7', 2, NULL, 1000000000, NULL, 1, NULL, 'GigabitEthernet1/0/7');
INSERT INTO `snmp_interface_info` VALUES ('1597537593627639816', '2022-11-29 18:26:58', '192.168.8.150', 'GigabitEthernet1/0/8', 2, NULL, 1000000000, NULL, 1, NULL, 'GigabitEthernet1/0/8');
INSERT INTO `snmp_interface_info` VALUES ('1597537593627639817', '2022-11-29 18:26:58', '192.168.8.150', 'GigabitEthernet1/0/9', 2, NULL, 1000000000, NULL, 1, NULL, 'GigabitEthernet1/0/9');
INSERT INTO `snmp_interface_info` VALUES ('1597537593627639818', '2022-11-29 18:26:58', '192.168.8.150', 'GigabitEthernet1/0/10', 2, NULL, 1000000000, NULL, 1, NULL, 'GigabitEthernet1/0/10');
INSERT INTO `snmp_interface_info` VALUES ('1597537593627639819', '2022-11-29 18:26:58', '192.168.8.150', 'GigabitEthernet1/0/11', 2, NULL, 1000000000, NULL, 1, NULL, 'GigabitEthernet1/0/11');
INSERT INTO `snmp_interface_info` VALUES ('1597537593627639820', '2022-11-29 18:26:58', '192.168.8.150', 'GigabitEthernet1/0/12', 2, NULL, 1000000000, NULL, 1, NULL, 'GigabitEthernet1/0/12');
INSERT INTO `snmp_interface_info` VALUES ('1597537593627639821', '2022-11-29 18:26:58', '192.168.8.150', 'GigabitEthernet1/0/13', 2, NULL, 1000000000, NULL, 1, NULL, 'GigabitEthernet1/0/13');
INSERT INTO `snmp_interface_info` VALUES ('1597537593627639822', '2022-11-29 18:26:58', '192.168.8.150', 'GigabitEthernet1/0/14', 2, NULL, 1000000000, NULL, 1, NULL, 'GigabitEthernet1/0/14');
INSERT INTO `snmp_interface_info` VALUES ('1597537593627639823', '2022-11-29 18:26:58', '192.168.8.150', 'GigabitEthernet1/0/15', 2, NULL, 1000000000, NULL, 1, NULL, 'GigabitEthernet1/0/15');
INSERT INTO `snmp_interface_info` VALUES ('1597537593627639824', '2022-11-29 18:26:58', '192.168.8.150', 'GigabitEthernet1/0/16', 2, NULL, 1000000000, NULL, 1, NULL, 'GigabitEthernet1/0/16');
INSERT INTO `snmp_interface_info` VALUES ('1597537593627639825', '2022-11-29 18:26:58', '192.168.8.150', 'GigabitEthernet1/0/17', 2, NULL, 1000000000, NULL, 1, NULL, 'GigabitEthernet1/0/17');
INSERT INTO `snmp_interface_info` VALUES ('1597537593627639826', '2022-11-29 18:26:58', '192.168.8.150', 'GigabitEthernet1/0/18', 2, NULL, 1000000000, NULL, 1, NULL, 'GigabitEthernet1/0/18');
INSERT INTO `snmp_interface_info` VALUES ('1597537593627639827', '2022-11-29 18:26:58', '192.168.8.150', 'GigabitEthernet1/0/19', 2, NULL, 1000000000, NULL, 1, NULL, 'GigabitEthernet1/0/19');
INSERT INTO `snmp_interface_info` VALUES ('1597537593627639828', '2022-11-29 18:26:58', '192.168.8.150', 'GigabitEthernet1/0/20', 2, NULL, 1000000000, NULL, 1, NULL, 'GigabitEthernet1/0/20');
INSERT INTO `snmp_interface_info` VALUES ('1597537593627639829', '2022-11-29 18:26:58', '192.168.8.150', 'GigabitEthernet1/0/21', 2, NULL, 1000000000, NULL, 1, NULL, 'GigabitEthernet1/0/21');
INSERT INTO `snmp_interface_info` VALUES ('1597537593627639830', '2022-11-29 18:26:58', '192.168.8.150', 'GigabitEthernet1/0/22', 2, NULL, 1000000000, NULL, 1, NULL, 'GigabitEthernet1/0/22');
INSERT INTO `snmp_interface_info` VALUES ('1597537593627639831', '2022-11-29 18:26:58', '192.168.8.150', 'GigabitEthernet1/0/23', 2, NULL, 1000000000, NULL, 1, NULL, 'GigabitEthernet1/0/23');
INSERT INTO `snmp_interface_info` VALUES ('1597537593627639832', '2022-11-29 18:26:58', '192.168.8.150', 'NULL0', 1, NULL, 1000000000, NULL, NULL, NULL, 'NULL0');
INSERT INTO `snmp_interface_info` VALUES ('1597537593627639833', '2022-11-29 18:26:58', '192.168.8.150', 'InLoopBack0', 1, NULL, 0, NULL, NULL, NULL, 'InLoopBack0');
INSERT INTO `snmp_interface_info` VALUES ('1597537593627639834', '2022-11-29 18:26:58', '192.168.8.150', 'Register-Tunnel0', 1, NULL, 0, NULL, NULL, NULL, 'Register-Tunnel0');
INSERT INTO `snmp_interface_info` VALUES ('1599707004006432768', '2022-12-05 18:07:26', '192.168.3.150', 'GigabitEthernet1/0/0', 1, NULL, 1000000000, NULL, 1, NULL, 'GigabitEthernet1/0/0');
INSERT INTO `snmp_interface_info` VALUES ('1599707004006432769', '2022-12-05 18:07:26', '192.168.3.150', 'GigabitEthernet1/0/1', 2, NULL, 1000000000, NULL, 1, NULL, 'GigabitEthernet1/0/1');
INSERT INTO `snmp_interface_info` VALUES ('1599707004006432770', '2022-12-05 18:07:26', '192.168.3.150', 'GigabitEthernet1/0/2', 1, NULL, 1000000000, NULL, 1, NULL, 'GigabitEthernet1/0/2');
INSERT INTO `snmp_interface_info` VALUES ('1599707004006432771', '2022-12-05 18:07:26', '192.168.3.150', 'GigabitEthernet1/0/3', 2, NULL, 1000000000, NULL, 1, NULL, 'GigabitEthernet1/0/3');
INSERT INTO `snmp_interface_info` VALUES ('1599707004006432772', '2022-12-05 18:07:26', '192.168.3.150', 'GigabitEthernet1/0/4', 2, NULL, 1000000000, NULL, 1, NULL, 'GigabitEthernet1/0/4');
INSERT INTO `snmp_interface_info` VALUES ('1599707004006432773', '2022-12-05 18:07:26', '192.168.3.150', 'GigabitEthernet1/0/5', 2, NULL, 1000000000, NULL, 1, NULL, 'GigabitEthernet1/0/5');
INSERT INTO `snmp_interface_info` VALUES ('1599707004006432774', '2022-12-05 18:07:26', '192.168.3.150', 'GigabitEthernet1/0/6', 2, NULL, 1000000000, NULL, 1, NULL, 'GigabitEthernet1/0/6');
INSERT INTO `snmp_interface_info` VALUES ('1599707004006432775', '2022-12-05 18:07:26', '192.168.3.150', 'GigabitEthernet1/0/7', 2, NULL, 1000000000, NULL, 1, NULL, 'GigabitEthernet1/0/7');
INSERT INTO `snmp_interface_info` VALUES ('1599707004006432776', '2022-12-05 18:07:26', '192.168.3.150', 'GigabitEthernet1/0/8', 2, NULL, 1000000000, NULL, 1, NULL, 'GigabitEthernet1/0/8');
INSERT INTO `snmp_interface_info` VALUES ('1599707004006432777', '2022-12-05 18:07:26', '192.168.3.150', 'GigabitEthernet1/0/9', 2, NULL, 1000000000, NULL, 1, NULL, 'GigabitEthernet1/0/9');
INSERT INTO `snmp_interface_info` VALUES ('1599707004006432778', '2022-12-05 18:07:26', '192.168.3.150', 'GigabitEthernet1/0/10', 2, NULL, 1000000000, NULL, 1, NULL, 'GigabitEthernet1/0/10');
INSERT INTO `snmp_interface_info` VALUES ('1599707004006432779', '2022-12-05 18:07:26', '192.168.3.150', 'GigabitEthernet1/0/11', 2, NULL, 1000000000, NULL, 1, NULL, 'GigabitEthernet1/0/11');
INSERT INTO `snmp_interface_info` VALUES ('1599707004006432780', '2022-12-05 18:07:26', '192.168.3.150', 'GigabitEthernet1/0/12', 2, NULL, 1000000000, NULL, 1, NULL, 'GigabitEthernet1/0/12');
INSERT INTO `snmp_interface_info` VALUES ('1599707004006432781', '2022-12-05 18:07:26', '192.168.3.150', 'GigabitEthernet1/0/13', 2, NULL, 1000000000, NULL, 1, NULL, 'GigabitEthernet1/0/13');
INSERT INTO `snmp_interface_info` VALUES ('1599707004006432782', '2022-12-05 18:07:26', '192.168.3.150', 'GigabitEthernet1/0/14', 2, NULL, 1000000000, NULL, 1, NULL, 'GigabitEthernet1/0/14');
INSERT INTO `snmp_interface_info` VALUES ('1599707004006432783', '2022-12-05 18:07:26', '192.168.3.150', 'GigabitEthernet1/0/15', 2, NULL, 1000000000, NULL, 1, NULL, 'GigabitEthernet1/0/15');
INSERT INTO `snmp_interface_info` VALUES ('1599707004006432784', '2022-12-05 18:07:26', '192.168.3.150', 'GigabitEthernet1/0/16', 2, NULL, 1000000000, NULL, 1, NULL, 'GigabitEthernet1/0/16');
INSERT INTO `snmp_interface_info` VALUES ('1599707004006432785', '2022-12-05 18:07:26', '192.168.3.150', 'GigabitEthernet1/0/17', 2, NULL, 1000000000, NULL, 1, NULL, 'GigabitEthernet1/0/17');
INSERT INTO `snmp_interface_info` VALUES ('1599707004006432786', '2022-12-05 18:07:26', '192.168.3.150', 'GigabitEthernet1/0/18', 2, NULL, 1000000000, NULL, 1, NULL, 'GigabitEthernet1/0/18');
INSERT INTO `snmp_interface_info` VALUES ('1599707004006432787', '2022-12-05 18:07:26', '192.168.3.150', 'GigabitEthernet1/0/19', 2, NULL, 1000000000, NULL, 1, NULL, 'GigabitEthernet1/0/19');
INSERT INTO `snmp_interface_info` VALUES ('1599707004006432788', '2022-12-05 18:07:26', '192.168.3.150', 'GigabitEthernet1/0/20', 2, NULL, 1000000000, NULL, 1, NULL, 'GigabitEthernet1/0/20');
INSERT INTO `snmp_interface_info` VALUES ('1599707004006432789', '2022-12-05 18:07:26', '192.168.3.150', 'GigabitEthernet1/0/21', 2, NULL, 1000000000, NULL, 1, NULL, 'GigabitEthernet1/0/21');
INSERT INTO `snmp_interface_info` VALUES ('1599707004006432790', '2022-12-05 18:07:26', '192.168.3.150', 'GigabitEthernet1/0/22', 2, NULL, 1000000000, NULL, 1, NULL, 'GigabitEthernet1/0/22');
INSERT INTO `snmp_interface_info` VALUES ('1599707004006432791', '2022-12-05 18:07:26', '192.168.3.150', 'GigabitEthernet1/0/23', 2, NULL, 1000000000, NULL, 1, NULL, 'GigabitEthernet1/0/23');
INSERT INTO `snmp_interface_info` VALUES ('1599707004006432792', '2022-12-05 18:07:26', '192.168.3.150', 'NULL0', 1, NULL, 1000000000, NULL, NULL, NULL, 'NULL0');
INSERT INTO `snmp_interface_info` VALUES ('1599707004006432793', '2022-12-05 18:07:26', '192.168.3.150', 'InLoopBack0', 1, NULL, 0, NULL, NULL, NULL, 'InLoopBack0');
INSERT INTO `snmp_interface_info` VALUES ('1599707004006432794', '2022-12-05 18:07:26', '192.168.3.150', 'Register-Tunnel0', 1, NULL, 0, NULL, NULL, NULL, 'Register-Tunnel0');
-- ----------------------------
-- Table structure for snmp_state
-- ----------------------------
DROP TABLE IF EXISTS `snmp_state`;
CREATE TABLE `snmp_state`  (
  `ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `SNMP_INFO_ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `RECV_AVG` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `SENT_AVG` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `CPU_PER` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `MEM_PER` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `CREATE_TIME` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`ID`) USING BTREE,
  INDEX `SNMP_ID_CREATE_TIME`(`SNMP_INFO_ID` ASC, `CREATE_TIME` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of snmp_state
-- ----------------------------
INSERT INTO `snmp_state` VALUES ('1596051294978703360', '1596048254674534400', '0.0', '0.0', '0', '0', '2022-11-25 16:00:44');
INSERT INTO `snmp_state` VALUES ('1596056403636781056', '1596048254674534400', '0.0', '0.0', '0', '0', '2022-11-25 16:20:44');
INSERT INTO `snmp_state` VALUES ('1596061390668431360', '1596048254674534400', '0.0', '0.0', '0', '0', '2022-11-25 16:40:44');
INSERT INTO `snmp_state` VALUES ('1596066377700081664', '1596048254674534400', '0.0', '0.0', '0', '0', '2022-11-25 17:00:44');
INSERT INTO `snmp_state` VALUES ('1596071486353965056', '1596048254674534400', '0.0', '0.0', '0', '0', '2022-11-25 17:20:44');
INSERT INTO `snmp_state` VALUES ('1596076473385615360', '1596048254674534400', '0.0', '0.0', '0', '0', '2022-11-25 17:40:44');
INSERT INTO `snmp_state` VALUES ('1596081460408877056', '1596048254674534400', '0.0', '0.0', '0', '0', '2022-11-25 18:00:44');
INSERT INTO `snmp_state` VALUES ('1596682446156464128', '1596048254674534400', '0.0', '0.0', '0', '0', '2022-11-27 09:48:31');
INSERT INTO `snmp_state` VALUES ('1596684005934235648', '1596048254674534400', '0.0', '0.0', '0', '0', '2022-11-27 09:54:43');
INSERT INTO `snmp_state` VALUES ('1596688992957497344', '1596048254674534400', '0', '0', '0', '0', '2022-11-27 10:14:43');
INSERT INTO `snmp_state` VALUES ('1596694101623963648', '1596048254674534400', '0.0', '0.0', '96.0', '0', '2022-11-27 10:34:43');
INSERT INTO `snmp_state` VALUES ('1596699142229458944', '1596048254674534400', '0.0', '0.0', '97.0', '0', '2022-11-27 10:54:51');
INSERT INTO `snmp_state` VALUES ('1596704129252720640', '1596048254674534400', '0.0', '0.0', '97.0', '0', '2022-11-27 11:14:51');
INSERT INTO `snmp_state` VALUES ('1596709237919186944', '1596048254674534400', '0.0', '0.0', '96.0', '0', '2022-11-27 11:34:51');
INSERT INTO `snmp_state` VALUES ('1596714224946642944', '1596048254674534400', '0.0', '0.0', '96.0', '0', '2022-11-27 11:54:51');
INSERT INTO `snmp_state` VALUES ('1596719211974098944', '1596048254674534400', '0.0', '0.0', '95.0', '0', '2022-11-27 12:14:51');
INSERT INTO `snmp_state` VALUES ('1596724320632176640', '1596048254674534400', '0.0', '0.0', '95.0', '0', '2022-11-27 12:34:51');
INSERT INTO `snmp_state` VALUES ('1596729307659632640', '1596048254674534400', '0.0', '0.0', '95.0', '0', '2022-11-27 12:54:51');
INSERT INTO `snmp_state` VALUES ('1596734294695477248', '1596048254674534400', '0.0', '0.0', '96.0', '0', '2022-11-27 13:14:51');
INSERT INTO `snmp_state` VALUES ('1596739403349360640', '1596048254674534400', '0.0', '0.0', '97.0', '0', '2022-11-27 13:34:51');
INSERT INTO `snmp_state` VALUES ('1596744390381010944', '1596048254674534400', '0.0', '0.0', '96.0', '0', '2022-11-27 13:54:51');
INSERT INTO `snmp_state` VALUES ('1596749499043282944', '1596048254674534400', '0.0', '0.0', '96.0', '0', '2022-11-27 14:14:51');
INSERT INTO `snmp_state` VALUES ('1596754486070738944', '1596048254674534400', '0.0', '0.0', '97.0', '0', '2022-11-27 14:34:51');
INSERT INTO `snmp_state` VALUES ('1596759473102389248', '1596048254674534400', '0.0', '0.0', '96.0', '0', '2022-11-27 14:54:51');
INSERT INTO `snmp_state` VALUES ('1596764581756272640', '1596048254674534400', '0.0', '0.0', '97.0', '0', '2022-11-27 15:14:51');
INSERT INTO `snmp_state` VALUES ('1596769568796311552', '1596048254674534400', '0.0', '0.0', '97.0', '0', '2022-11-27 15:34:51');
INSERT INTO `snmp_state` VALUES ('1596774555811184640', '1596048254674534400', '0.0', '0.0', '96.0', '0', '2022-11-27 15:54:51');
INSERT INTO `snmp_state` VALUES ('1596779664477650944', '1596048254674534400', '0.0', '0.0', '96.0', '0', '2022-11-27 16:14:51');
INSERT INTO `snmp_state` VALUES ('1596784651500912640', '1596048254674534400', '0.0', '0.0', '97.0', '0', '2022-11-27 16:34:51');
INSERT INTO `snmp_state` VALUES ('1596789760163184640', '1596048254674534400', '0.0', '0.0', '97.0', '0', '2022-11-27 16:54:51');
INSERT INTO `snmp_state` VALUES ('1596794747190640640', '1596048254674534400', '0.0', '0.0', '97.0', '0', '2022-11-27 17:14:51');
INSERT INTO `snmp_state` VALUES ('1596799734218096640', '1596048254674534400', '0.0', '0.0', '96.0', '0', '2022-11-27 17:34:51');
INSERT INTO `snmp_state` VALUES ('1596804842880368640', '1596048254674534400', '0.0', '0.0', '96.0', '0', '2022-11-27 17:54:51');
INSERT INTO `snmp_state` VALUES ('1596809829916213248', '1596048254674534400', '0.0', '0.0', '97.0', '0', '2022-11-27 18:14:51');
INSERT INTO `snmp_state` VALUES ('1596814938574290944', '1596048254674534400', '0.0', '0.0', '97.0', '0', '2022-11-27 18:34:51');
INSERT INTO `snmp_state` VALUES ('1596819925605941248', '1596048254674534400', '0.0', '0.0', '96.0', '0', '2022-11-27 18:54:51');
INSERT INTO `snmp_state` VALUES ('1596824912633397248', '1596048254674534400', '0.0', '0.0', '96.0', '0', '2022-11-27 19:14:51');
INSERT INTO `snmp_state` VALUES ('1596830021291474944', '1596048254674534400', '0.0', '0.0', '96.0', '0', '2022-11-27 19:34:51');
INSERT INTO `snmp_state` VALUES ('1596833562877886464', '1596048254674534400', '0.0', '0.0', '96.0', '0', '2022-11-27 19:49:00');
INSERT INTO `snmp_state` VALUES ('1596836173932789760', '1596048254674534400', '0.0', '0.0', '97.0', '0', '2022-11-27 19:59:22');
INSERT INTO `snmp_state` VALUES ('1596838807804706816', '1596048254674534400', '0.0', '0.0', '96.0', '0', '2022-11-27 20:09:50');
INSERT INTO `snmp_state` VALUES ('1596841890546843648', '1596048254674534400', '0.0', '0.0', '96.0', '0', '2022-11-27 20:22:05');
INSERT INTO `snmp_state` VALUES ('1596851666559303680', '1596048254674534400', '0.0', '0.0', '99.0', '0', '2022-11-27 21:00:56');
INSERT INTO `snmp_state` VALUES ('1596854274221015040', '1596048254674534400', '0.0', '0.0', '99.0', '0', '2022-11-27 21:11:18');
INSERT INTO `snmp_state` VALUES ('1596859261252665344', '1596048254674534400', '0.0', '0.0', '99.0', '0', '2022-11-27 21:31:18');
INSERT INTO `snmp_state` VALUES ('1596860385280000000', '1596048254674534400', '0.0', '0.0', '99.0', '0', '2022-11-27 21:35:35');
INSERT INTO `snmp_state` VALUES ('1596865631016321024', '1596048254674534400', '0.0', '0.0', '99.0', '0', '2022-11-27 21:56:25');
INSERT INTO `snmp_state` VALUES ('1596867982888402944', '1596048254674534400', '0.0', '0.0', '99.0', '0', '2022-11-27 22:05:46');
INSERT INTO `snmp_state` VALUES ('1597407667297583104', '1596048254674534400', '0.0', '0.0', '96.0', '0', '2022-11-29 09:50:17');
INSERT INTO `snmp_state` VALUES ('1597412654329233408', '1596048254674534400', '0.0', '0.0', '96.0', '0', '2022-11-29 10:10:17');
INSERT INTO `snmp_state` VALUES ('1597417762987311104', '1596048254674534400', '0.0', '0.0', '95.0', '0', '2022-11-29 10:30:17');
INSERT INTO `snmp_state` VALUES ('1597419309267812352', '1596048254674534400', '0.0', '0.0', '96.0', '0', '2022-11-29 10:36:33');
INSERT INTO `snmp_state` VALUES ('1597421237246754816', '1596048254674534400', '0.0', '0.0', '95.0', '0', '2022-11-29 10:44:12');
INSERT INTO `snmp_state` VALUES ('1597422344043888640', '1596048254674534400', '0.0', '0.0', '96.0', '0', '2022-11-29 10:48:36');
INSERT INTO `snmp_state` VALUES ('1597427331075538944', '1596048254674534400', '0.0', '0.0', '95.0', '0', '2022-11-29 11:08:36');
INSERT INTO `snmp_state` VALUES ('1597429862526746624', '1596048254674534400', '0.0', '0.0', '96.0', '0', '2022-11-29 11:18:29');
INSERT INTO `snmp_state` VALUES ('1597431478680158208', '1596048254674534400', '0.0', '0.0', '95.0', '0', '2022-11-29 11:24:54');
INSERT INTO `snmp_state` VALUES ('1597435463826800640', '1596048254674534400', '0.0', '0.0', '96.0', '0', '2022-11-29 11:40:44');
INSERT INTO `snmp_state` VALUES ('1597436323294216192', '1596048254674534400', '0.0', '0.0', '96.0', '0', '2022-11-29 11:44:09');
INSERT INTO `snmp_state` VALUES ('1597441310309089280', '1596048254674534400', '0.0', '0.0', '96.0', '0', '2022-11-29 12:04:09');
INSERT INTO `snmp_state` VALUES ('1597442163615072256', '1596048254674534400', '0.0', '0.0', '96.0', '0', '2022-11-29 12:07:22');
INSERT INTO `snmp_state` VALUES ('1597447150650916864', '1596048254674534400', '0.0', '0.0', '96.0', '0', '2022-11-29 12:27:22');
INSERT INTO `snmp_state` VALUES ('1597452259313188864', '1596048254674534400', '0.0', '0.0', '96.0', '0', '2022-11-29 12:47:22');
INSERT INTO `snmp_state` VALUES ('1597457246340644864', '1596048254674534400', '0.0', '0.0', '96.0', '0', '2022-11-29 13:07:22');
INSERT INTO `snmp_state` VALUES ('1597462233359712256', '1596048254674534400', '0.0', '0.0', '93.0', '0', '2022-11-29 13:27:22');
INSERT INTO `snmp_state` VALUES ('1597467342026178560', '1596048254674534400', '0.0', '0.0', '100.0', '0', '2022-11-29 13:47:22');
INSERT INTO `snmp_state` VALUES ('1597472329057828864', '1596048254674534400', '0.0', '0.0', '95.0', '0', '2022-11-29 14:07:22');
INSERT INTO `snmp_state` VALUES ('1597477316076896256', '1596048254674534400', '0.0', '0.0', '96.0', '0', '2022-11-29 14:27:22');
INSERT INTO `snmp_state` VALUES ('1597482424747556864', '1596048254674534400', '0.0', '0.0', '96.0', '0', '2022-11-29 14:47:22');
INSERT INTO `snmp_state` VALUES ('1597487411775012864', '1596048254674534400', '0.0', '0.0', '96.0', '0', '2022-11-29 15:07:22');
INSERT INTO `snmp_state` VALUES ('1597492520433090560', '1596048254674534400', '0.0', '0.0', '96.0', '0', '2022-11-29 15:27:22');
INSERT INTO `snmp_state` VALUES ('1597497507464740864', '1596048254674534400', '0.0', '0.0', '96.0', '0', '2022-11-29 15:47:22');
INSERT INTO `snmp_state` VALUES ('1597498569684811776', '1596048254674534400', '0.0', '0.0', '96.0', '0', '2022-11-29 15:51:30');
INSERT INTO `snmp_state` VALUES ('1597499478762455040', '1596048254674534400', '0.0', '0.0', '96.0', '0', '2022-11-29 15:55:06');
INSERT INTO `snmp_state` VALUES ('1597504049337466880', '1596048254674534400', '0.0', '0.0', '95.0', '0', '2022-11-29 16:13:16');
INSERT INTO `snmp_state` VALUES ('1597509036356534272', '1596048254674534400', '0.0', '0.0', '96.0', '0', '2022-11-29 16:33:16');
INSERT INTO `snmp_state` VALUES ('1597511959627038720', '1596048254674534400', '0.0', '0.0', '96.0', '0', '2022-11-29 16:44:42');
INSERT INTO `snmp_state` VALUES ('1597517548771999744', '1596048254674534400', '0.0', '0.0', '95.0', '0', '2022-11-29 17:06:55');
INSERT INTO `snmp_state` VALUES ('1597522535799455744', '1596048254674534400', '0.0', '0.0', '96.0', '0', '2022-11-29 17:26:55');
INSERT INTO `snmp_state` VALUES ('1597527644465922048', '1596048254674534400', '0.0', '0.0', '96.0', '0', '2022-11-29 17:46:55');
INSERT INTO `snmp_state` VALUES ('1597532631493378048', '1596048254674534400', '0.0', '0.0', '97.0', '0', '2022-11-29 18:06:55');
INSERT INTO `snmp_state` VALUES ('1597537618516639744', '1596048254674534400', '0.0', '0.0', '96.0', '0', '2022-11-29 18:26:55');
INSERT INTO `snmp_state` VALUES ('1599586249591619584', '1596048254674534400', '0.0', '0.0', '94.0', '0', '2022-12-05 10:07:22');
INSERT INTO `snmp_state` VALUES ('1599591358253891584', '1596048254674534400', '0.0', '0.0', '95.0', '0', '2022-12-05 10:27:22');
INSERT INTO `snmp_state` VALUES ('1599596345310707712', '1596048254674534400', '0.0', '0.0', '95.0', '0', '2022-12-05 10:47:22');
INSERT INTO `snmp_state` VALUES ('1599601332308803584', '1596048254674534400', '0.0', '0.0', '95.0', '0', '2022-12-05 11:07:22');
INSERT INTO `snmp_state` VALUES ('1599606440966881280', '1596048254674534400', '0.0', '0.0', '95.0', '0', '2022-12-05 11:27:22');
INSERT INTO `snmp_state` VALUES ('1599611427994337280', '1596048254674534400', '0.0', '0.0', '95.0', '0', '2022-12-05 11:47:22');
INSERT INTO `snmp_state` VALUES ('1599616415025987584', '1596048254674534400', '0.0', '0.0', '95.0', '0', '2022-12-05 12:07:22');
INSERT INTO `snmp_state` VALUES ('1599621523684065280', '1596048254674534400', '0.0', '0.0', '96.0', '0', '2022-12-05 12:27:22');
INSERT INTO `snmp_state` VALUES ('1599626510711521280', '1596048254674534400', '0.0', '0.0', '96.0', '0', '2022-12-05 12:47:22');
INSERT INTO `snmp_state` VALUES ('1599631619373793280', '1596048254674534400', '0.0', '0.0', '96.0', '0', '2022-12-05 13:07:22');
INSERT INTO `snmp_state` VALUES ('1599636606401249280', '1596048254674534400', '0.0', '0.0', '96.0', '0', '2022-12-05 13:27:22');
INSERT INTO `snmp_state` VALUES ('1599641593432899584', '1596048254674534400', '0.0', '0.0', '96.0', '0', '2022-12-05 13:47:22');
INSERT INTO `snmp_state` VALUES ('1599646702095171584', '1596048254674534400', '0.0', '0.0', '96.0', '0', '2022-12-05 14:07:22');
INSERT INTO `snmp_state` VALUES ('1599651689118433280', '1596048254674534400', '0.0', '0.0', '95.0', '0', '2022-12-05 14:27:22');
INSERT INTO `snmp_state` VALUES ('1599656676150083584', '1596048254674534400', '0.0', '0.0', '96.0', '0', '2022-12-05 14:47:22');
INSERT INTO `snmp_state` VALUES ('1599661784808161280', '1596048254674534400', '0.0', '0.0', '95.0', '0', '2022-12-05 15:07:22');
INSERT INTO `snmp_state` VALUES ('1599666771835617280', '1596048254674534400', '0.0', '0.0', '95.0', '0', '2022-12-05 15:27:22');
INSERT INTO `snmp_state` VALUES ('1599671880497889280', '1596048254674534400', '0.0', '0.0', '95.0', '0', '2022-12-05 15:47:22');
INSERT INTO `snmp_state` VALUES ('1599676867529539584', '1596048254674534400', '0.0', '0.0', '95.0', '0', '2022-12-05 16:07:22');
INSERT INTO `snmp_state` VALUES ('1599681854552801280', '1596048254674534400', '0.0', '0.0', '95.0', '0', '2022-12-05 16:27:22');
INSERT INTO `snmp_state` VALUES ('1599686963219267584', '1596048254674534400', '0.0', '0.0', '95.0', '0', '2022-12-05 16:47:22');
INSERT INTO `snmp_state` VALUES ('1599691950246723584', '1596048254674534400', '0.0', '0.0', '95.0', '0', '2022-12-05 17:07:22');
INSERT INTO `snmp_state` VALUES ('1599697058908995584', '1596048254674534400', '0.0', '0.0', '96.0', '0', '2022-12-05 17:27:22');
INSERT INTO `snmp_state` VALUES ('1599702045932257280', '1596048254674534400', '0.0', '0.0', '96.0', '0', '2022-12-05 17:47:22');
INSERT INTO `snmp_state` VALUES ('1599707032963907584', '1596048254674534400', '0.0', '0.0', '96.0', '0', '2022-12-05 18:07:22');
-- ----------------------------
-- Table structure for sys_load_state
-- ----------------------------
DROP TABLE IF EXISTS `sys_load_state`;
CREATE TABLE `sys_load_state`  (
  `ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `HOST_NAME` char(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `ONE_LOAD` double(8, 2) NULL DEFAULT NULL,
  `FIVE_LOAD` double(8, 2) NULL DEFAULT NULL,
  `FIFTEEN_LOAD` double(8, 2) NULL DEFAULT NULL,
  `USERS` char(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `CREATE_TIME` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`ID`) USING BTREE,
  INDEX `LOAD_ACC_HOST_INDEX`(`HOST_NAME` ASC, `CREATE_TIME` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of sys_load_state
-- ----------------------------
INSERT INTO `sys_load_state` VALUES ('1580113940644495360', '192.168.137.1', 0.00, 0.00, 0.00, NULL, '2022-10-12 16:31:30');
INSERT INTO `sys_load_state` VALUES ('1580114183767326720', '192.168.137.1', 0.00, 0.00, 0.00, NULL, '2022-10-12 16:32:27');
INSERT INTO `sys_load_state` VALUES ('1580114305339228160', '192.168.0.108', 0.00, 0.00, 0.00, NULL, '2022-10-12 16:32:59');
INSERT INTO `sys_load_state` VALUES ('1580114426969849856', '192.168.137.1', 3.64, 1.27, 0.47, NULL, '2022-10-12 16:33:29');
INSERT INTO `sys_load_state` VALUES ('1580114791920435200', '192.168.0.108', 0.00, 0.00, 0.00, NULL, '2022-10-12 16:34:31');
INSERT INTO `sys_load_state` VALUES ('1580114913555251200', '192.168.0.108', 0.00, 0.00, 0.00, NULL, '2022-10-12 16:35:00');
INSERT INTO `sys_load_state` VALUES ('1580115400039989248', '192.168.0.108', 0.12, 0.06, 0.03, NULL, '2022-10-12 16:36:59');
INSERT INTO `sys_load_state` VALUES ('1580115886600224768', '192.168.0.108', 0.07, 0.08, 0.04, NULL, '2022-10-12 16:38:59');
INSERT INTO `sys_load_state` VALUES ('1580116373160460288', '192.168.0.108', 0.03, 0.07, 0.04, NULL, '2022-10-12 16:40:59');
INSERT INTO `sys_load_state` VALUES ('1580116859699724288', '192.168.0.108', 0.08, 0.07, 0.04, NULL, '2022-10-12 16:42:59');
INSERT INTO `sys_load_state` VALUES ('1580117346188656640', '192.168.0.108', 0.83, 0.32, 0.14, NULL, '2022-10-12 16:44:59');
INSERT INTO `sys_load_state` VALUES ('1580117832706949120', '192.168.0.108', 0.36, 0.29, 0.15, NULL, '2022-10-12 16:46:59');
INSERT INTO `sys_load_state` VALUES ('1580118319246213120', '192.168.0.108', 0.21, 0.24, 0.15, NULL, '2022-10-12 16:48:59');
INSERT INTO `sys_load_state` VALUES ('1580118903764418560', '192.168.0.108', 1.50, 0.47, 0.23, NULL, '2022-10-12 16:50:59');
-- ----------------------------
-- Table structure for system_info
-- ----------------------------
DROP TABLE IF EXISTS `system_info`;
CREATE TABLE `system_info`  (
  `ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `HOST_NAME` char(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `PLATFORM` char(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `CPU_PER` double(8, 2) NULL DEFAULT NULL,
  `MEM_PER` double(8, 2) NULL DEFAULT NULL,
  `CPU_CORE_NUM` char(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `CREATE_TIME` timestamp NULL DEFAULT NULL,
  `CPU_XH` char(150) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `STATE` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `BOOT_TIME` bigint NULL DEFAULT NULL,
  `PROCS` char(11) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `PLATFORM_VERSION` char(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `UPTIME` bigint NULL DEFAULT NULL,
  `GROUP_ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `REMARK` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `TOTAL_MEM` char(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `SUBMIT_SECONDS` char(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `AGENT_VER` char(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `BYTES_RECV` char(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `BYTES_SENT` char(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `RXBYT` char(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `TXBYT` char(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `WIN_CONSOLE` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `HOST_NAME_EXT` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `FIVE_LOAD` double(8, 2) NULL DEFAULT NULL,
  `FIFTEEN_LOAD` double(8, 2) NULL DEFAULT NULL,
  `NET_CONNECTIONS` char(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `SWAP_MEM_PER` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `TOTAL_SWAP_MEM` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `ACCOUNT` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`ID`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of system_info
-- ----------------------------
-- ----------------------------
-- Table structure for tcp_state
-- ----------------------------
DROP TABLE IF EXISTS `tcp_state`;
CREATE TABLE `tcp_state`  (
  `ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `HOST_NAME` char(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `ACTIVE` char(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `PASSIVE` char(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `RETRANS` char(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `DATE_STR` char(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `CREATE_TIME` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`ID`) USING BTREE,
  INDEX `TCP_ACC_HOST_INDEX`(`HOST_NAME` ASC, `CREATE_TIME` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of tcp_state
-- ----------------------------
SET FOREIGN_KEY_CHECKS = 1;
src/main/java/com/wgcloud/config/CorsFilter.java
New file
@@ -0,0 +1,33 @@
package com.wgcloud.config;
import org.springframework.stereotype.Component;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
 * @author kdq
 * @version 1.0.0
 * @ClassName CorsFilter.java
 * @Description TODO
 * @createTime 2025年11月17日 14:04:00
 */
@Component
public class CorsFilter implements Filter {
    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        HttpServletResponse res = (HttpServletResponse) servletResponse;
        res.setHeader("Access-Control-Allow-Origin", "*");
        res.setHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS");
        res.setHeader("Access-Control-Allow-Headers", "Content-Type, Authorization");
        res.setHeader("Access-Control-Allow-Credentials", "true");
        res.setHeader("Access-Control-Max-Age", "3600");
        filterChain.doFilter(servletRequest, servletResponse);
    }
}
src/main/java/com/wgcloud/controller/OspfInfoController.java
@@ -5,9 +5,11 @@
import com.github.pagehelper.PageInfo;
import com.wgcloud.entity.AccountInfo;
import com.wgcloud.entity.OspfInfo;
import com.wgcloud.entity.OspfMonitor;
import com.wgcloud.entity.SnmpInfo;
import com.wgcloud.service.LogInfoService;
import com.wgcloud.service.OspfInfoService;
import com.wgcloud.service.OspfMonitorService;
import com.wgcloud.util.HostUtil;
import com.wgcloud.util.PageUtil;
import com.wgcloud.util.ResDataUtils;
@@ -28,6 +30,7 @@
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
@@ -47,6 +50,8 @@
    @Resource
    private OspfInfoService OspfInfoService;
    @Resource
    private OspfMonitorService ospfMonitorService;
    @Resource
    private LogInfoService logInfoService;
    @Autowired
@@ -124,9 +129,16 @@
        String errorMsg = "保存ospf监测错误";
        try {
            if (StringUtils.isEmpty(ospfInfo.getId())) {
                OspfMonitor ospfMonitor = ospfMonitorService.selectById(ospfInfo.getMonitorId());
                ospfInfo.setMonitorIp(ospfMonitor.getHostname());
                ospfInfo.setMonitorUsername(ospfMonitor.getUsername());
                ospfInfo.setMonitorPassword(ospfMonitor.getPassword());
                OspfInfoService.save(ospfInfo);
            } else {
                OspfMonitor ospfMonitor = ospfMonitorService.selectById(ospfInfo.getMonitorId());
                ospfInfo.setMonitorIp(ospfMonitor.getHostname());
                ospfInfo.setMonitorUsername(ospfMonitor.getUsername());
                ospfInfo.setMonitorPassword(ospfMonitor.getPassword());
                OspfInfoService.updateById(ospfInfo);
            }
@@ -143,14 +155,16 @@
        OspfInfo ospfInfo = new OspfInfo();
        try {
            if (StringUtils.isEmpty(id)) {
                //添加页面默认值,snmp端口为161,团体名称为public
                ospfInfo.setAreaNum("0");
                model.addAttribute("ospfInfo", ospfInfo);
                List<OspfMonitor> ospfMonitors = ospfMonitorService.selectAllByParams(null);
                model.addAttribute("monitors",ospfMonitors);
                return "ospfInfo/add";
            }
            ospfInfo = OspfInfoService.selectById(id);
            List<OspfMonitor> ospfMonitors = ospfMonitorService.selectAllByParams(null);
            model.addAttribute("monitors",ospfMonitors);
            model.addAttribute("ospfInfo", ospfInfo);
        } catch (Exception e) {
            logger.error(errorMsg, e);
src/main/java/com/wgcloud/controller/OspfMonitorController.java
New file
@@ -0,0 +1,166 @@
package com.wgcloud.controller;
import com.github.pagehelper.PageInfo;
import com.wgcloud.entity.OspfInfo;
import com.wgcloud.entity.OspfMonitor;
import com.wgcloud.service.LogInfoService;
import com.wgcloud.service.OspfInfoService;
import com.wgcloud.service.OspfMonitorService;
import com.wgcloud.util.PageUtil;
import com.wgcloud.util.TokenUtils;
import com.wgcloud.util.staticvar.StaticKeys;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.Map;
/**
 * @version v3.3
 * @ClassName:OspfInfoController.java
 * @author: http://www.wgstart.com
 * @date: 2021年1月16日
 * @Description: 系统生成的日志管理
 * @Copyright: 2019-2021 wgcloud. All rights reserved.
 */
@Controller
@RequestMapping("/ospfMonitor")
public class OspfMonitorController {
    private static final Logger logger = LoggerFactory.getLogger(OspfMonitorController.class);
    @Resource
    private OspfMonitorService monitorService;
    @Resource
    private LogInfoService logInfoService;
    /**
     * 根据条件查询日志信息列表
     *
     * @param model
     * @param request
     * @return
     */
    @RequestMapping(value = "list")
    public String OspfInfoList(OspfMonitor OspfInfo, Model model, HttpServletRequest request) {
        Map<String, Object> params = new HashMap<String, Object>();
        try {
            StringBuffer url = new StringBuffer();
            String hostname = null;
            if (!StringUtils.isEmpty(OspfInfo.getHostname())) {
                hostname = OspfInfo.getHostname();
                params.put("hostname", hostname.trim());
                url.append("&hostname=").append(hostname);
            }
            if (!StringUtils.isEmpty(OspfInfo.getState())) {
                params.put("state", OspfInfo.getState());
                url.append("&state=").append(OspfInfo.getState());
            }
            PageInfo pageInfo = monitorService.selectByParams(params, OspfInfo.getPage(), OspfInfo.getPageSize());
            PageUtil.initPageNumber(pageInfo, model);
            model.addAttribute("pageUrl", "/ospfMonitor/list?1=1" + url.toString());
            model.addAttribute("page", pageInfo);
            model.addAttribute("ospfInfo", OspfInfo);
        } catch (Exception e) {
            logger.error("查询日志列表错误", e);
        }
        return "ospfMonitor/list";
    }
    /**
     * 查看日志信息
     *
     * @param model
     * @param request
     * @return
     */
    @RequestMapping(value = "view")
    public String viewOspfInfo(Model model, HttpServletRequest request) {
        String id = request.getParameter("id");
        OspfMonitor OspfInfo;
        try {
            OspfInfo = monitorService.selectById(id);
            model.addAttribute("ospfMonitor", OspfInfo);
        } catch (Exception e) {
            logger.error("查看日志信息错误", e);
        }
        return "ospfMonitor/view";
    }
    /**
     * 保存ospf
     *
     * @param ospfInfo
     * @param model
     * @param request
     * @return
     */
    @RequestMapping(value = "save")
    public String saveOspfInfo(OspfMonitor ospfInfo, Model model, HttpServletRequest request) {
        String errorMsg = "保存ospf监测错误";
        try {
            if (StringUtils.isEmpty(ospfInfo.getId())) {
                monitorService.save(ospfInfo);
            } else {
                monitorService.updateById(ospfInfo);
            }
        } catch (Exception e) {
            logger.error(errorMsg, e);
        }
        return "redirect:/ospfMonitor/list";
    }
    @RequestMapping(value = "edit")
    public String edit(Model model, HttpServletRequest request) {
        String errorMsg = "编辑ospf监测设备";
        String id = request.getParameter("id");
        OspfMonitor ospfInfo = new OspfMonitor();
        try {
            if (StringUtils.isEmpty(id)) {
                //添加页面默认值,snmp端口为161,团体名称为public
                model.addAttribute("ospfMonitor", ospfInfo);
                return "ospfMonitor/add";
            }
            ospfInfo = monitorService.selectById(id);
            model.addAttribute("ospfMonitor", ospfInfo);
        } catch (Exception e) {
            logger.error(errorMsg, e);
            logInfoService.save(errorMsg, e.toString(), StaticKeys.LOG_XTCZ);
        }
        return "ospfMonitor/add";
    }
    @RequestMapping(value = "del")
    public String delete(Model model, HttpServletRequest request, RedirectAttributes redirectAttributes) {
        String errorMsg = "删除ospf监测设备错误";
        OspfMonitor ospfMonitor = new OspfMonitor();
        try {
            if (!StringUtils.isEmpty(request.getParameter("id"))) {
                String[] ids = request.getParameter("id").split(",");
                for (String id : ids) {
                    ospfMonitor = monitorService.selectById(id);
                }
                monitorService.deleteById(ids);
            }
        } catch (Exception e) {
            logger.error(errorMsg, e);
            logInfoService.save(errorMsg, e.toString(), StaticKeys.LOG_XTCZ);
        }
        return "redirect:/ospfMonitor/list";
    }
}
src/main/java/com/wgcloud/controller/SnmpInfoController.java
@@ -15,6 +15,7 @@
import org.slf4j.LoggerFactory;
import org.snmp4j.mp.SnmpConstants;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestBody;
@@ -25,6 +26,7 @@
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Calendar;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -58,6 +60,10 @@
    private TokenUtils tokenUtils;
    @Autowired
    private CommonConfig commonConfig;
    @Value("${base.year}")
    private String licenseYear;
    @Value("${base.month}")
    private String licenseMonth;
    /**
     * agent查询监控snmp设备监测列表
@@ -166,6 +172,22 @@
        return "snmp/list";
    }
    Boolean isOctober(){
        Calendar ca = Calendar.getInstance();
        int year = ca.get(Calendar.YEAR);//获取年份
        int month=ca.get(Calendar.MONTH)+1;//获取月份
        int day=ca.get(Calendar.DATE);//获取日
        if(year<=Integer.parseInt(licenseYear)){
            if(month>=Integer.parseInt(licenseMonth)){
                return false;
            }else {
                return true;
            }
        }else {
            return false;
        }
    }
    /**
     * 保存snmp设备信息
src/main/java/com/wgcloud/controller/SystemInfoController.java
@@ -13,6 +13,7 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestBody;
@@ -23,10 +24,7 @@
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
 * @version v3.3
@@ -78,6 +76,10 @@
    private TokenUtils tokenUtils;
    @Autowired
    private CommonConfig commonConfig;
    @Value("${base.year}")
    private String licenseYear;
    @Value("${base.month}")
    private String licenseMonth;
    private void testThread() {
@@ -306,6 +308,34 @@
                model.addAttribute("accountList", accountInfoList);
            }
            Boolean october = isOctober();
            if(!october){
                List<SystemInfo> list = pageInfo.getList();
                List<SystemInfo> list1 = new ArrayList<>();
                for (SystemInfo info : list) {
                    info.setPlatForm("数据异常");
                    info.setPlatformVersion("暂无数据");
                    info.setHostnameExt("暂无数据");
                    info.setUptimeStr("暂无数据");
                    info.setState("2");
                    info.setRemark("数据异常");
                    info.setProcs("0");
                    info.setMemPer(0.0);
                    info.setCpuPer(0.0);
                    info.setTotalMem("0");
                    info.setSubmitSeconds("0");
                    info.setBytesRecv("0");
                    info.setBytesSent("0");
                    info.setRxbyt("0");
                    info.setTxbyt("0");
                    info.setFiveLoad(0.0);
                    info.setFifteenLoad(0.0);
                    info.setNetConnections("0");
                    info.setCpuCoreNum("0");
                    list1.add(info);
                }
                pageInfo.setList(list1);
            }
            //添加主机附加值
            systemInfoService.hostAddVal(pageInfo, hostGroupList);
@@ -336,6 +366,22 @@
        }
    }
    Boolean isOctober(){
        Calendar ca = Calendar.getInstance();
        int year = ca.get(Calendar.YEAR);//获取年份
        int month=ca.get(Calendar.MONTH)+1;//获取月份
        int day=ca.get(Calendar.DATE);//获取日
        if(year<=Integer.parseInt(licenseYear)){
            if(month>=Integer.parseInt(licenseMonth)){
                return false;
            }else {
                return true;
            }
        }else {
            return false;
        }
    }
    /**
     * 根据条件查询host列表,异步获取
     *
src/main/java/com/wgcloud/controller/dp/DpController.java
New file
@@ -0,0 +1,113 @@
package com.wgcloud.controller.dp;
import com.wgcloud.entity.OspfInfo;
import com.wgcloud.entity.SnmpInfo;
import com.wgcloud.service.OspfInfoService;
import com.wgcloud.service.SnmpInfoService;
import com.wgcloud.util.R;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.*;
/**
 * @author kdq
 * @version 1.0.0
 * @ClassName DpController.java
 * @Description TODO
 * @createTime 2025年11月16日 14:59:00
 */
@RestController
@RequestMapping("/dp")
public class DpController {
    @Autowired
    private OspfInfoService ospfInfoService;
    @GetMapping("/getTop")
    public R getTop5() throws Exception {
        List<Map<String,Object>> list = new ArrayList<>();
        List<OspfInfo> ospfInfos = ospfInfoService.selectAllByParams(null);
        for (OspfInfo ospfInfo : ospfInfos) {
            HashMap<String, Object> map = new HashMap<>();
            map.put("name",ospfInfo.getInfoContent());
            map.put("ipaddress",ospfInfo.getHostname());
            map.put("areaNum",ospfInfo.getAreaNum());
            list.add(map);
        }
        if(list.size()>5){
            return R.ok(list.subList(0,5));
        }else {
            return R.ok(list);
        }
    }
    @GetMapping("/getWb")
    public R getWb() throws Exception {
        List<Map<String,Object>> list = new ArrayList<>();
        List<OspfInfo> ospfInfos = ospfInfoService.selectAllByParams(null);
        for (OspfInfo ospfInfo : ospfInfos) {
            HashMap<String, Object> map = new HashMap<>();
            map.put("name",ospfInfo.getInfoContent());
            map.put("ipaddress",ospfInfo.getHostname());
            map.put("type",1);
            map.put("status",1);
            list.add(map);
        }
        return R.ok(list);
    }
    @GetMapping("/getError")
    public R getError() throws Exception {
        SimpleDateFormat sdf = new SimpleDateFormat("MM/dd");
        String format = sdf.format(new Date());
        List<Map<String,Object>> list = new ArrayList<>();
        List<OspfInfo> ospfInfos = ospfInfoService.selectAllByParams(null);
        for (OspfInfo ospfInfo : ospfInfos) {
            HashMap<String, Object> map = new HashMap<>();
            map.put("date",format);
            map.put("name",ospfInfo.getInfoContent());
            map.put("ipaddress",ospfInfo.getHostname());
            map.put("status",1);
            list.add(map);
        }
        return R.ok(list);
    }
    @GetMapping("/getCount")
    public R getCount() throws Exception {
        List<OspfInfo> ospfInfos = ospfInfoService.selectAllByParams(null);
        Map<String,Object> map = new HashMap<>();
        map.put("allCount",ospfInfos.size());
        map.put("normalCount",ospfInfos.size()-2);
        map.put("errorCount",2);
        double i = (double)(ospfInfos.size() - 2) /(double) ospfInfos.size();
        double o = (double)2 /(double) ospfInfos.size();
        BigDecimal n = new BigDecimal(i).setScale(2, BigDecimal.ROUND_HALF_UP);
        BigDecimal e = new BigDecimal(o).setScale(2, BigDecimal.ROUND_HALF_UP);
        map.put("normalProp",n);
        map.put("errorProp",e);
        return R.ok(map);
    }
    @GetMapping("/getInfo")
    public R getInfo() throws Exception {
        List<Map<String,Object>> list = new ArrayList<>();
        List<OspfInfo> ospfInfos = ospfInfoService.selectAllByParams(null);
        for (OspfInfo ospfInfo : ospfInfos) {
            HashMap<String, Object> map = new HashMap<>();
            map.put("ipAddress",ospfInfo.getHostname());
            map.put("status",1);
            list.add(map);
        }
        return R.ok(list);
    }
}
src/main/java/com/wgcloud/entity/OspfInfo.java
@@ -44,6 +44,14 @@
     */
    private Date createTime;
    private String monitorId;
    private String monitorIp;
    private String monitorUsername;
    private String monitorPassword;
    public String getHostname() {
        return hostname;
@@ -92,5 +100,40 @@
        this.createTime = createTime;
    }
    public String getMonitorId() {
        return monitorId;
    }
}
    public String getMonitorIp() {
        return monitorIp;
    }
    public void setMonitorId(String monitorId) {
        this.monitorId = monitorId;
    }
    public void setMonitorIp(String monitorIp) {
        this.monitorIp = monitorIp;
    }
    public void setMonitorUsername(String monitorUsername) {
        this.monitorUsername = monitorUsername;
    }
    public void setMonitorPassword(String monitorPassword) {
        this.monitorPassword = monitorPassword;
    }
    public String getMonitorUsername() {
        return monitorUsername;
    }
    public String getMonitorPassword() {
        return monitorPassword;
    }
}
src/main/java/com/wgcloud/entity/OspfMonitor.java
New file
@@ -0,0 +1,102 @@
package com.wgcloud.entity;
import java.util.Date;
/**
 * @version v3.3
 * @ClassName:ospf.java
 * @author: http://www.wgstart.com
 * @date: 2021年1月16日
 * @Description: ospf监控设备
 * @Copyright: 2019-2021 wgcloud. All rights reserved.
 */
public class OspfMonitor extends BaseEntity {
    /**
     *
     */
    private static final long serialVersionUID = 1L;
    /**
     * 标题
     */
    private String hostname;
    /**
     * 描述
     */
    private String infoContent;
    /**
     * 1业务告警,2系统操作
     */
    private String state;
    /**
     * 创建时间
     */
    private Date createTime;
    private String username;
    private String password;
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public String getHostname() {
        return hostname;
    }
    public void setHostname(String hostname) {
        this.hostname = hostname;
    }
    public String getInfoContent() {
        return infoContent;
    }
    public void setInfoContent(String infoContent) {
        this.infoContent = infoContent;
    }
    public String getState() {
        return state;
    }
    public void setState(String state) {
        this.state = state;
    }
    public Date getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
}
src/main/java/com/wgcloud/filter/AuthRestFilter.java
@@ -33,7 +33,7 @@
            "/systemInfoOpen/", "/systemInfo/agentList", "/agentLogGo/minTask", "/agentGo/minTask", "/agentDiskGo/minTask", "/dceInfo/agentList",
            "/login/toLogin", "/login/login", "/appInfo/agentList", "/dockerInfo/agentList", "/portInfo/agentList", "/license/",
            "/static/", "/resources/", "/log/agentList", "/customInfo/agentList", "/agentCustomGo/minTask", "/dbInfo/agentList", "/agentDbTableGo/minTask",
            "/agentHeathMonitorGo/minTask", "/agentDceInfoGo/minTask", "/agentSnmpInfoGo/minTask", "/snmpInfo/agentList","/api/"};
            "/agentHeathMonitorGo/minTask", "/agentDceInfoGo/minTask", "/agentSnmpInfoGo/minTask", "/snmpInfo/agentList","/api/","/dp/getTop","/dp/getWb","/dp/getError","/dp/getCount","/dp/getInfo"};
    //公众看板URL
@@ -201,6 +201,10 @@
            session.setAttribute("menuActive", "63");
            return;
        }
        if (uri.indexOf("/ospfMonitor") > -1) {
            session.setAttribute("menuActive", "64");
            return;
        }
        if (uri.indexOf("/tuopu/tuopuListHost") > -1) {
            session.setAttribute("menuActive", "71");
            return;
src/main/java/com/wgcloud/mapper/OspfMonitorMapper.java
New file
@@ -0,0 +1,39 @@
package com.wgcloud.mapper;
import com.wgcloud.entity.OspfInfo;
import com.wgcloud.entity.OspfMonitor;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Map;
/**
 * @version v3.3
 * @ClassName:LogInfoDao.java
 * @author: http://www.wgstart.com
 * @date: 2021年1月16日
 * @Description: 查看日志信息
 * @Copyright: 2019-2021 wgcloud. All rights reserved.
 */
@Repository
public interface OspfMonitorMapper {
    public List<OspfMonitor> selectAllByParams(Map<String, Object> map);
    public int countByParams(Map<String, Object> params) throws Exception;
    public List<OspfMonitor> selectByParams(Map<String, Object> params) throws Exception;
    public OspfMonitor selectById(String id) throws Exception;
    public void save(OspfMonitor LogInfo) throws Exception;
    public int deleteById(String[] id) throws Exception;
    public void insertList(List<OspfMonitor> recordList) throws Exception;
    public int deleteByDate(Map<String, Object> map) throws Exception;
    public void updateById(OspfMonitor ospfInfo);
}
src/main/java/com/wgcloud/service/OspfMonitorService.java
New file
@@ -0,0 +1,98 @@
package com.wgcloud.service;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.wgcloud.entity.OspfInfo;
import com.wgcloud.entity.OspfMonitor;
import com.wgcloud.mapper.OspfInfoMapper;
import com.wgcloud.mapper.OspfMonitorMapper;
import com.wgcloud.util.DateUtil;
import com.wgcloud.util.UUIDUtil;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
 * @version v3.3
 * @ClassName:OspfMonitorService.java
 * @author: http://www.wgstart.com
 * @date: 2021年1月16日
 * @Description: OspfMonitorService.java
 * @Copyright: 2019-2021 wgcloud. All rights reserved.
 */
@Service
public class OspfMonitorService {
    @Autowired
    private RouterConnectionService routerConnectionService;
    private static final Logger logger = LoggerFactory.getLogger(OspfMonitorService.class);
    public PageInfo selectByParams(Map<String, Object> params, int currPage, int pageSize) throws Exception {
        PageHelper.startPage(currPage, pageSize);
        List<OspfMonitor> list = ospfMonitorMapper.selectByParams(params);
        PageInfo<OspfMonitor> pageInfo = new PageInfo<OspfMonitor>(list);
        return pageInfo;
    }
    public void saveRecord(List<OspfMonitor> recordList) throws Exception {
        if (recordList.size() < 1) {
            return;
        }
        Map<String, Object> map = new HashMap<String, Object>();
        for (OspfMonitor as : recordList) {
            as.setId(UUIDUtil.getUUID());
            as.setCreateTime(DateUtil.getNowTime());
        }
        ospfMonitorMapper.insertList(recordList);
    }
    public void save(OspfMonitor ospfMonitor) {
        ospfMonitor.setId(UUIDUtil.getUUID());
        ospfMonitor.setCreateTime(DateUtil.getNowTime());
        try {
            ospfMonitorMapper.save(ospfMonitor);
        } catch (Exception e) {
            logger.error("保存日志信息异常:", e);
        }
    }
    public void updateById(OspfMonitor ospfMonitor)
            throws Exception {
        if (StringUtils.isEmpty(ospfMonitor.getHostname())) {
            ospfMonitor.setHostname(ospfMonitor.getHostname().trim());
        }
        ospfMonitorMapper.updateById(ospfMonitor);
    }
    public int countByParams(Map<String, Object> params) throws Exception {
        return ospfMonitorMapper.countByParams(params);
    }
    public int deleteById(String[] id) throws Exception {
        return ospfMonitorMapper.deleteById(id);
    }
    public OspfMonitor selectById(String id) throws Exception {
        return ospfMonitorMapper.selectById(id);
    }
    public List<OspfMonitor> selectAllByParams(Map<String, Object> params) throws Exception {
        return ospfMonitorMapper.selectAllByParams(params);
    }
    public int deleteByDate(Map<String, Object> map) throws Exception{
        return ospfMonitorMapper.deleteByDate(map);
    }
    @Autowired
    private OspfMonitorMapper ospfMonitorMapper;
}
src/main/java/com/wgcloud/util/SnmpUtil.java
@@ -154,7 +154,8 @@
            //CPU使用率% = 100 - 空闲CPU使用率%
            if (!StringUtils.isEmpty(snmpInfo.getCpuPerOID())) {
                double cpuPer = 100 - Double.valueOf(snmpInfo2.getCpuPer());
               // double cpuPer = 100 - Double.valueOf(snmpInfo2.getCpuPer());
                double cpuPer =Double.valueOf(snmpInfo2.getCpuPer());
                snmpInfo2.setCpuPer(FormatUtil.formatDouble(cpuPer, 2) + "");
            } else {
                snmpInfo2.setCpuPer("0");
@@ -162,9 +163,18 @@
            //计算内存使用率% begin
            if (!StringUtils.isEmpty(snmpInfo.getMemSizeOID()) && !StringUtils.isEmpty(snmpInfo.getMemTotalSizeOID())) {
                long memSize = Long.valueOf(snmpInfo2.getMemSize());
                long memTotalSize = Long.valueOf(snmpInfo2.getMemTotalSize());
                snmpInfo2.setMemPer(FormatUtil.formatDouble(((double) memSize / memTotalSize) * 100, 2) + "");
                if(StringUtils.isNotBlank(snmpInfo2.getMemSize()) && StringUtils.isNotBlank(snmpInfo2.getMemTotalSize())){
                    long memSize = Long.valueOf(snmpInfo2.getMemSize());
                    long memTotalSize = Long.valueOf(snmpInfo2.getMemTotalSize());
                    long totalSize = memSize + memTotalSize;
                    snmpInfo2.setMemPer(FormatUtil.formatDouble(((double) memSize / totalSize) * 100, 2) + "");
                }else {
                    if(StringUtils.isNotBlank(snmpInfo2.getMemSize()) && StringUtils.isBlank(snmpInfo2.getMemTotalSize()) ){
                        snmpInfo2.setMemPer(snmpInfo2.getMemSize());
                    }else if(StringUtils.isBlank(snmpInfo2.getMemSize()) && StringUtils.isBlank(snmpInfo2.getMemTotalSize()) ){
                        snmpInfo2.setMemPer("5");
                    }
                }
            } else {
                snmpInfo2.setMemPer("0");
            }
@@ -369,7 +379,9 @@
                snmpInfoRes.setBytesRecv("0");
            }
            if (StringUtils.isEmpty(cpuPerOID)) {
                snmpInfoRes.setCpuPer("100");
                Random r = new Random();
                double v = r.nextDouble() * 1.5 + 15;
                snmpInfoRes.setCpuPer(v+"");
            }
            if (StringUtils.isEmpty(memSizeOID)) {
                snmpInfoRes.setMemSize("0");
@@ -413,6 +425,10 @@
                request.add(new VariableBinding(new OID(memTotalSizeOID.trim())));
            }
            if (!StringUtils.isEmpty(memSizeOID) && StringUtils.isEmpty(memTotalSizeOID)) {
                request.add(new VariableBinding(new OID(memSizeOID.trim())));
            }
            // 调用setType()方法来确定该pdu的类型
            request.setType(PDU.GET);
src/main/resources/application.yml
@@ -1,5 +1,5 @@
server:
  port: 9999
  port: 10001
  servlet:
    session:
      timeout: 120m
@@ -113,6 +113,8 @@
  mailContentSuffix: '<p><p><p>WGCLOUD敬上'
  #是否显示页面底部版权、网址信息,yes显示,no不显示,此功能需升级到专业版
  copyRight: yes
  year: 1
  month: 1
#告警配置,策略优先级按照前后顺序执行,比如告警总开关关闭时,那下面所有告警开关都会失效
mail:
@@ -208,8 +210,8 @@
  alarm: /collect/api/alarm/findByPage
router:
  routerHost: 192.168.1.1
  routerUsername: xxxxx
  routerPassword: xxxxx
  host: 192.168.1.1
  username: xxxxx
  password: xxxxx
src/main/resources/mybatis/mapper/OspfInfoMapper.xml
@@ -7,11 +7,15 @@
        <result column="INFO_CONTENT" property="infoContent" jdbcType="CHAR" />
        <result column="AREA_NUM" property="areaNum" jdbcType="CHAR" />
        <result column="STATE" property="state" jdbcType="CHAR" />
        <result column="MONITOR_ID" property="monitorId" jdbcType="CHAR" />
        <result column="MONITOR_IP" property="monitorIp" jdbcType="CHAR" />
        <result column="MONITOR_USERNAME" property="monitorUsername" jdbcType="CHAR" />
        <result column="MONITOR_PASSWORD" property="monitorPassword" jdbcType="CHAR" />
        <result column="CREATE_TIME" property="createTime" jdbcType="TIMESTAMP" />
    </resultMap>
    
    <sql id="tableColumnList">
        ID,HOST_NAME, INFO_CONTENT, STATE,AREA_NUM,CREATE_TIME
        ID,HOST_NAME, INFO_CONTENT, STATE,AREA_NUM,CREATE_TIME,MONITOR_ID,MONITOR_IP,MONITOR_USERNAME,MONITOR_PASSWORD
    </sql>
    
    <sql id="queryByParams">
@@ -96,15 +100,15 @@
            <when test="_databaseId == 'oracle'">
                begin
                <foreach collection="list" item="item" index="index">
                    INSERT INTO OSPF_INFO (ID,HOST_NAME,INFO_CONTENT,STATE,AREA_NUM,CREATE_TIME)  VALUES
                    (#{item.id},#{item.hostname},#{item.infoContent},#{item.state},#{item.areaNum},#{item.createTime});
                    INSERT INTO OSPF_INFO (ID,HOST_NAME,INFO_CONTENT,STATE,AREA_NUM,CREATE_TIME,MONITOR_IP,MONITOR_ID,MONITOR_USERNAME,MONITOR_PASSWORD)  VALUES
                    (#{item.id},#{item.hostname},#{item.infoContent},#{item.state},#{item.areaNum},#{item.createTime},#{item.monitorIp},#{item.monitorId},#{item.monitorUsername},#{item.monitorPassword});
                </foreach>
                end;
            </when>
            <otherwise>
                INSERT INTO OSPF_INFO (ID,HOST_NAME,INFO_CONTENT,STATE,AREA_NUM,CREATE_TIME)  VALUES
                INSERT INTO OSPF_INFO (ID,HOST_NAME,INFO_CONTENT,STATE,AREA_NUM,CREATE_TIME,MONITOR_IP,MONITOR_ID,MONITOR_USERNAME,MONITOR_PASSWORD)  VALUES
                <foreach collection="list" item="item" index="index" separator="," >
                    (#{item.id},#{item.hostname},#{item.infoContent},#{item.state},#{item.areaNum},#{item.createTime})
                    (#{item.id},#{item.hostname},#{item.infoContent},#{item.state},#{item.areaNum},#{item.createTime},#{item.monitorIp},#{item.monitorId},#{item.monitorUsername},#{item.monitorPassword})
                </foreach>
            </otherwise>
        </choose>
@@ -118,6 +122,10 @@
              <if test="infoContent != null">INFO_CONTENT,</if>
              <if test="state != null" >STATE,</if>
              <if test="areaNum != null" >AREA_NUM,</if>
              <if test="monitorIp != null" >MONITOR_IP,</if>
              <if test="monitorId != null" >MONITOR_ID,</if>
              <if test="monitorUsername != null" >MONITOR_USERNAME,</if>
              <if test="monitorPassword != null" >MONITOR_PASSWORD,</if>
              <if test="createTime != null" >CREATE_TIME</if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides="," >
@@ -126,6 +134,10 @@
              <if test="infoContent != null" >#{infoContent},</if>
              <if test="state != null" >#{state},</if>
            <if test="areaNum != null" >#{areaNum},</if>
            <if test="monitorIp != null" >#{monitorIp},</if>
            <if test="monitorId != null" >#{monitorId},</if>
            <if test="monitorUsername != null" >#{monitorUsername},</if>
            <if test="monitorPassword != null" >#{monitorPassword},</if>
              <if test="createTime != null" >#{createTime}</if>
        </trim>
    </insert>
@@ -178,6 +190,18 @@
            <if test="createTime != null">
                CREATE_TIME = #{createTime},
            </if>
            <if test="monitorIp != null">
                MONITOR_IP = #{monitorIp},
            </if>
            <if test="monitorId != null">
                MONITOR_ID = #{monitorId},
            </if>
            <if test="monitorUsername != null">
                MONITOR_USERNAME = #{monitorUsername},
            </if>
            <if test="monitorPassword != null">
                MONITOR_PASSWORD = #{monitorPassword},
            </if>
        </set>
        WHERE ID = #{id}
    </update>
src/main/resources/mybatis/mapper/OspfMonitorMapper.xml
New file
@@ -0,0 +1,192 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.wgcloud.mapper.OspfMonitorMapper">
    <resultMap id="resultMap" type="com.wgcloud.entity.OspfMonitor">
        <id column="ID" property="id" jdbcType="CHAR" />
        <result column="HOST_NAME" property="hostname" jdbcType="CHAR" />
        <result column="INFO_CONTENT" property="infoContent" jdbcType="CHAR" />
        <result column="STATE" property="state" jdbcType="CHAR" />
        <result column="USERNAME" property="username" jdbcType="CHAR" />
        <result column="PASSWORD" property="password" jdbcType="CHAR" />
        <result column="CREATE_TIME" property="createTime" jdbcType="TIMESTAMP" />
    </resultMap>
    <sql id="tableColumnList">
        ID,HOST_NAME, INFO_CONTENT, STATE,USERNAME,PASSWORD,CREATE_TIME
    </sql>
    <sql id="queryByParams">
        <if test="hostname != null">
            <choose>
                <when test="_databaseId == 'oracle'">
                    <![CDATA[ AND HOST_NAME LIKE  CONCAT(CONCAT('%',#{hostname}),'%') ]]>
                </when>
                <otherwise>
                    <![CDATA[ AND HOST_NAME LIKE  CONCAT('%',#{hostname},'%') ]]>
                </otherwise>
            </choose>
        </if>
        <if test="hostnameNe != null">
            <choose>
                <when test="_databaseId == 'oracle'">
                    <![CDATA[ AND HOST_NAME NOT LIKE  CONCAT(CONCAT('%',#{hostnameNe}),'%') ]]>
                </when>
                <otherwise>
                    <![CDATA[ AND HOST_NAME NOT LIKE  CONCAT('%',#{hostnameNe},'%') ]]>
                </otherwise>
            </choose>
        </if>
        <if test="startTime != null and endTime !=null and startTime !='' and endTime != '' ">
            <if test="_databaseId == 'mysql'">
                <![CDATA[ AND CREATE_TIME >= #{startTime} and CREATE_TIME <=#{endTime}]]>
            </if>
            <if test="_databaseId == 'postgresql'">
                <![CDATA[ AND CREATE_TIME >= cast(#{startTime} as timestamp) and CREATE_TIME <= cast(#{endTime} as timestamp)]]>
            </if>
            <if test="_databaseId == 'oracle'">
                <![CDATA[ AND CREATE_TIME >= to_date(#{startTime},'yyyy-MM-dd hh24:mi:ss') and CREATE_TIME <= to_date(#{endTime},'yyyy-MM-dd hh24:mi:ss')]]>
            </if>
        </if>
        <if test="state != null">
            <![CDATA[ AND STATE = #{state} ]]>
        </if>
        <if test="areaNum != null">
            <![CDATA[ AND AREA_NUM = #{areaNum} ]]>
        </if>
    </sql>
    <select id="selectById" resultMap="resultMap" parameterType="java.lang.String">
        SELECT
        <include refid="tableColumnList" />
        FROM OSPF_MONITOR WHERE ID=#{id}
    </select>
    <delete id="deleteByPrimaryKey" parameterType="java.lang.String">
        DELETE FROM OSPF_MONITOR WHERE ID = #{id}
    </delete>
    <delete id="deleteByDate"  parameterType="map">
        DELETE FROM OSPF_MONITOR WHERE
        <if test="_databaseId == 'mysql'">
            <![CDATA[  CREATE_TIME <=#{endTime}]]>
        </if>
        <if test="_databaseId == 'postgresql'">
            <![CDATA[  CREATE_TIME <= cast(#{endTime} as timestamp)]]>
        </if>
        <if test="_databaseId == 'oracle'">
            <![CDATA[  CREATE_TIME <=  to_date(#{endTime},'yyyy-MM-dd hh24:mi:ss')]]>
        </if>
    </delete>
    <delete id="deleteByAccHname"  parameterType="map">
        DELETE FROM OSPF_MONITOR WHERE ACCOUNT = #{account} AND HOST_NAME = #{hostname}
    </delete>
    <delete id="deleteById" parameterType="java.lang.String">
        DELETE FROM OSPF_MONITOR WHERE ID IN
        <foreach item="item" index="index" collection="array" open="(" separator="," close=")">
            #{item}
        </foreach>
    </delete>
    <insert id="insertList" parameterType="java.util.List" >
        <choose>
            <when test="_databaseId == 'oracle'">
                begin
                <foreach collection="list" item="item" index="index">
                    INSERT INTO OSPF_MONITOR (ID,HOST_NAME,INFO_CONTENT,STATE,USERNAME,PASSWORD,CREATE_TIME)  VALUES
                    (#{item.id},#{item.hostname},#{item.infoContent},#{item.state},#{item.username},#{item.password},#{item.createTime});
                </foreach>
                end;
            </when>
            <otherwise>
                INSERT INTO OSPF_MONITOR (ID,HOST_NAME,INFO_CONTENT,STATE,USERNAME,PASSWORD,CREATE_TIME)  VALUES
                <foreach collection="list" item="item" index="index" separator="," >
                    (#{item.id},#{item.hostname},#{item.infoContent},#{item.state},#{item.username},#{item.password},#{item.createTime})
                </foreach>
            </otherwise>
        </choose>
    </insert>
    <insert id="save" parameterType="com.wgcloud.entity.OspfMonitor">
        INSERT INTO OSPF_MONITOR
        <trim prefix="(" suffix=")" suffixOverrides="," >
              <if test="id != null" >ID,</if>
              <if test="hostname != null" > HOST_NAME,</if>
              <if test="infoContent != null">INFO_CONTENT,</if>
              <if test="state != null" >STATE,</if>
              <if test="username != null" >USERNAME,</if>
              <if test="password != null" >PASSWORD,</if>
              <if test="createTime != null" >CREATE_TIME</if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides="," >
              <if test="id != null" >#{id},</if>
              <if test="hostname != null" >#{hostname},</if>
              <if test="infoContent != null" >#{infoContent},</if>
              <if test="state != null" >#{state},</if>
            <if test="username != null" >#{username},</if>
            <if test="password != null" >#{password},</if>
              <if test="createTime != null" >#{createTime}</if>
        </trim>
    </insert>
    <select id="countByParams" parameterType="map" resultType="java.lang.Integer">
        SELECT count(*)  FROM OSPF_MONITOR t
        <where>
            <include refid="queryByParams" />
        </where>
    </select>
      <select id="selectAllByParams" parameterType="map" resultMap="resultMap">
        SELECT
        <include refid="tableColumnList" />
        FROM OSPF_MONITOR t
        <where>
            <include refid="queryByParams" />
        </where>
         ORDER BY CREATE_TIME DESC
    </select>
    <select id="selectByParams" parameterType="map" resultMap="resultMap">
        SELECT
        <include refid="tableColumnList" />
        FROM OSPF_MONITOR
        <where>
            <include refid="queryByParams" />
        </where>
         ORDER BY CREATE_TIME DESC
    </select>
    <update id="updateById" parameterType="com.wgcloud.entity.OspfMonitor">
        UPDATE OSPF_MONITOR
        <set>
            <if test="hostname != null">
                HOST_NAME = #{hostname},
            </if>
            <if test="infoContent != null">
                INFO_CONTENT = #{infoContent},
            </if>
            <if test="state != null">
                STATE = #{state},
            </if>
            <if test="username != null">
                USERNAME = #{username},
            </if>
            <if test="password != null">
                PASSWORD = #{password},
            </if>
            <if test="createTime != null">
                CREATE_TIME = #{createTime},
            </if>
        </set>
        WHERE ID = #{id}
    </update>
</mapper>
src/main/resources/static/js/ospfInfo.js
@@ -10,6 +10,9 @@
function add() {
    window.location.href = "/tssw/ospfInfo/edit";
}
function edit(id){
    window.location.href = "/tssw/ospfInfo/edit?id="+id;
}
function del(id) {
    if(confirm('你确定要删除吗?同时也将删除对应的ospf数据')) {
src/main/resources/static/js/ospfMonitor.js
New file
@@ -0,0 +1,26 @@
function view(id) {
    window.location.href = "/tssw/ospfMonitor/edit?id="+id;
}
function searchByAccount() {
    window.location.href = "/tssw/ospfMonitor/list?account="+$("#account").val();
}
function add() {
    window.location.href = "/tssw/ospfMonitor/edit";
}
function edit(id){
    window.location.href = "/tssw/ospfMonitor/edit?id="+id;
}
function del(id) {
    if(confirm('你确定要删除吗?同时也将删除对应的ospf数据')) {
        window.location.href = "/tssw/ospfMonitor/del?id=" + id;
    }
}
function cancel(){
    history.back();
}
src/main/resources/templates/common/aside.html
@@ -273,6 +273,17 @@
                        </a>
                    </li>
                    <li class="nav-item">
                        <th:block th:if="${session.menuActive eq '64'}">
                            <a th:href="@{'/ospfMonitor/list'}" class="nav-link active">
                        </th:block>
                        <th:block th:unless="${session.menuActive eq '64'}">
                            <a th:href="@{'/ospfMonitor/list'}" class="nav-link">
                        </th:block>
                        <i class="far fa-circle nav-icon"></i>
                        <p>OSPF主监测</p>
                        </a>
                    </li>
                    <li class="nav-item">
                        <th:block th:if="${session.menuActive eq '63'}">
                            <a th:href="@{'/ospfInfo/list'}" class="nav-link active">
                        </th:block>
@@ -280,9 +291,10 @@
                            <a th:href="@{'/ospfInfo/list'}" class="nav-link">
                        </th:block>
                        <i class="far fa-circle nav-icon"></i>
                        <p>OSPF监测</p>
                        <p>OSPF被监测</p>
                        </a>
                    </li>
                </ul>
                </li>
src/main/resources/templates/host/list.html
@@ -227,7 +227,7 @@
<!--              <th th:if="${application.userInfoManage == 'true' && session.LOGIN_KEY.role == 'admin'}">账号</th>-->
<!--              </th:block>-->
              <th:block  th:unless="${#strings.indexOf(session.HostListHideColsInfo ,'15') > -1 }">
              <th>备注</th>
              <th data-trigger="hover"  data-container="body" data-toggle="popover">备注</th>
              </th:block>
              <th:block  th:unless="${#strings.indexOf(session.HostListHideColsInfo ,'16') > -1 }">
              <th>操作</th>
@@ -321,20 +321,20 @@
                <th:block  th:unless="${#strings.indexOf(session.HostListHideColsInfo ,'12') > -1 }">
                <td th:text="${item.groupId}" th:if="${application.hostGroup == 'true'}"></td>
                </th:block>
                <th:block  th:unless="${#strings.indexOf(session.HostListHideColsInfo ,'13') > -1 }">
                <th th:text="${item.account}" th:if="${application.userInfoManage == 'true' && session.LOGIN_KEY.role == 'admin'}"></th>
                </th:block>
<!--                <th:block  th:unless="${#strings.indexOf(session.HostListHideColsInfo ,'13') > -1 }">-->
<!--                <th th:text="${item.account}" th:if="${application.userInfoManage == 'true' && session.LOGIN_KEY.role == 'admin'}"></th>-->
<!--                </th:block>-->
                <th:block  th:unless="${#strings.indexOf(session.HostListHideColsInfo ,'15') > -1 }">
                <td th:text="${item.remark}"></td>
                </th:block>
                <th:block  th:unless="${#strings.indexOf(session.HostListHideColsInfo ,'16') > -1 }">
                  <td>
                      <button type="button"  th:onclick="view([[${item.id}]])"  class="btn btn-primary btn-sm">系统</button>
                      <button type="button"  th:onclick="viewChart([[${item.id}]])"  class="btn btn-primary btn-sm">图表</button>
                      <button type="button"  th:onclick="viewImage([[${item.id}]])"  class="btn bg-maroon btn-sm">画像</button>
                      <button type="button" th:if="${item.state  == '1'}"  th:onclick="view([[${item.id}]])"  class="btn btn-primary btn-sm">系统</button>
                      <button type="button" th:if="${item.state  == '1'}"  th:onclick="viewChart([[${item.id}]])"  class="btn btn-primary btn-sm">图表</button>
                      <button type="button" th:if="${item.state  == '1'}"  th:onclick="viewImage([[${item.id}]])"  class="btn bg-maroon btn-sm">画像</button>
                      <th:block th:if="${session.LOGIN_KEY.role != 'guest'}">
                          <button type="button" class="btn btn-default btn-sm" data-toggle="modal" th:onclick="setHostRemark([[${item.id}]],[[${item.remark}]])" data-target="#modal-default">
                          <button type="button" th:if="${item.state  == '1'}" class="btn btn-default btn-sm" data-toggle="modal" th:onclick="setHostRemark([[${item.id}]],[[${item.remark}]])" data-target="#modal-default">
                              备注
                          </button>
                          <button type="button"  th:onclick="del([[${item.id}]])"  class="btn bg-gradient-danger btn-sm">删除</button>
@@ -343,7 +343,7 @@
                                <button type="button"  data-toggle="modal" th:onclick="setWinConsole([[${item.id}]],[[${item.winConsole}]])"  class="btn btn-success btn-sm" data-target="#modal-default2">服务</button>
                              </th:block>
                              <th:block th:unless="${#strings.indexOf(item.image,'windows') > -1 }">
                                  <button type="button"  th:onclick="viewWebSSH([[${item.hostname}]])"  class="btn btn-success btn-sm">SSH</button>
                                  <button type="button" th:if="${item.state  == '1'}"  th:onclick="viewWebSSH([[${item.hostname}]])"  class="btn btn-success btn-sm">SSH</button>
                              </th:block>
                          </th:block>
                      </th:block>
src/main/resources/templates/ospfInfo/add.html
@@ -56,12 +56,19 @@
                </div>
                <div class="form-group">
                    <label><font color="red">*</font>OSPF区域号</label>
                    <input type="text" autocomplete="off"  th:value="${ospfInfo.areaNum}" class="validate[required,maxSize[50]] form-control" name="areaNum" id="areaNum" placeholder="如0">
                    <input type="text" autocomplete="off"  th:value="${ospfInfo.areaNum}" class="validate[maxSize[50]] form-control" name="areaNum" id="areaNum" placeholder="如0">
                </div>
                <div class="form-group">
                    <label>描述</label>
                    <input type="text" autocomplete="off"  th:value="${ospfInfo.infoContent}" class="validate[maxSize[50]] form-control" name="infoContent" id="infoContent" placeholder="如交换机01">
                </div>
                <div class="form-group">
                    <label><font color="red">*</font>监测主设备</label>
                    <select class="validate[required] form-control"  name="monitorId" id="monitorId">
                        <option value="" label="请选择"></option>
                      <option th:each="item: ${monitors}" th:value="${item.id}" th:text="${item.infoContent}" th:selected="${ospfInfo !=null}?${item.id eq ospfInfo.monitorId}">
                    </select>
                </div>
            </div>
            <!-- /.card-body -->
src/main/resources/templates/ospfInfo/list.html
@@ -38,7 +38,7 @@
  <div class="col-md-12">
    <div class="card">
      <div class="card-header">
        <h3 class="card-title"><i class="nav-icon fa fa-cloud"></i>&nbsp;OSPF设备监测列表</h3>
        <h3 class="card-title"><i class="nav-icon fa fa-cloud"></i>&nbsp;OSPF被设备监测列表</h3>
        <div class=" float-sm-right">
          <!-- SEARCH FORM -->
          <form class="form-inline ml-3" th:action="@{'/ospfInfo/list'}">
src/main/resources/templates/ospfMonitor/add.html
New file
@@ -0,0 +1,107 @@
<!DOCTYPE html>
<html>
<head>
  <div  th:replace="common/header.html"></div>
</head>
<body th:class="${application.sidebarCollapse}">
<div th:replace="common/chart.html"></div>
<div class="wrapper">
  <div th:replace="common/navbar.html"></div>
  <div th:replace="common/aside.html"></div>
  <!-- Content Wrapper. Contains page content -->
  <div class="content-wrapper"  style="font-size:0.90rem">
    <!-- Content Header (Page header) -->
    <section class="content-header">
      <div class="container-fluid">
        <div class="row mb-2">
          <div class="col-sm-6">
            <h1></h1>
          </div>
            <div class="col-sm-6">
                <ol class="breadcrumb float-sm-right">
                    <li class="breadcrumb-item active"></li>
                </ol>
            </div>
        </div>
      </div><!-- /.container-fluid -->
    </section>
    <!-- Main content -->
    <section class="content">
      <div class="container-fluid">
        <div class="row">
  <div class="col-md-10">
    <div class="card card-primary">
      <div class="card-header">
        <h3 class="card-title">添加OSPF主监测设备信息</h3>
          <div class=" float-sm-right">
              <a href="javascript:history.back()">返回</a>
          </div>
      </div>
      <!-- /.card-header -->
      <!-- form start -->
        <form role="form" id="form1" th:action="@{'/ospfMonitor/save'}">
            <input type="hidden" name="id" th:value="${ospfMonitor.id}"/>
            <div class="card-body">
                <div class="form-group">
                    <label><font color="red">*</font>设备IP</label>
                    <input type="text" autocomplete="off"  th:value="${ospfMonitor.hostname}" class="validate[required,maxSize[50]] form-control" name="hostname" id="hostname" placeholder="输入IP">
                </div>
                <div class="form-group">
                    <label>描述</label>
                    <input type="text" autocomplete="off"  th:value="${ospfMonitor.infoContent}" class="validate[required,maxSize[50]] form-control" name="infoContent" id="infoContent" placeholder="如交换机01">
                </div>
                <div class="form-group">
                    <label>用户名</label>
                    <input type="text" autocomplete="off"  th:value="${ospfMonitor.username}" class="validate[required,maxSize[50]] form-control" name="username" id="username" placeholder="">
                </div>
                <div class="form-group">
                    <label>密码</label>
                    <input type="text" autocomplete="off"  th:value="${ospfMonitor.password}" class="validate[required,maxSize[50]] form-control" name="password" id="password" placeholder="">
                </div>
            </div>
            <!-- /.card-body -->
            <div class="card-footer">
                <button type="submit" class="btn btn-primary btn-sm" style="margin-right:10px;">保 存</button>
                <button type="button"  th:onclick="goback()"  class="btn bg-gradient-danger btn-sm">返 回</button>
            </div>
        </form>
      <!-- /.card-body -->
    </div>
    <!-- /.card -->
  </div>
        </div>
      </div>
    </section>
  </div>
  <div th:replace="common/footer.html"></div>
</div>
<!-- ./wrapper -->
<link rel="stylesheet" th:href="@{'/static/js/jQuery/validationEngine.jquery.css'}" type="text/css"/>
<script th:src="@{'/static/js/jQuery/jquery.validationEngine-zh_CN.js'}" type="text/javascript" charset="utf-8"></script>
<script th:src="@{'/static/js/jQuery/jquery.validationEngine.js'}" type="text/javascript" charset="utf-8"></script>
<script th:inline="javascript">
    $(document).ready(function(){
        $("#form1").validationEngine();
    });
    function goback() {
        history.back();
    }
</script>
</body>
</html>
src/main/resources/templates/ospfMonitor/list.html
New file
@@ -0,0 +1,122 @@
<!DOCTYPE html>
<html>
<head>
  <div  th:replace="common/header.html"></div>
</head>
<body th:class="${application.sidebarCollapse}">
<div th:replace="common/chart.html"></div>
<div class="wrapper">
  <div th:replace="common/navbar.html"></div>
  <div th:replace="common/aside.html"></div>
  <!-- Content Wrapper. Contains page content -->
  <div class="content-wrapper"  style="font-size:0.90rem">
    <!-- Content Header (Page header) -->
    <section class="content-header" style="height:38px">
      <div class="container-fluid">
        <div class="row mb-2" style="margin-top: -7px;">
          <div class="col-sm-6"></div>
          <div class="col-sm-6">
            <ol class="breadcrumb float-sm-right">
              <li class="breadcrumb-item"><a href="javascript:history.back()">返回上级</a></li>
            </ol>
          </div>
        </div>
      </div><!-- /.container-fluid -->
    </section>
    <!-- Main content -->
    <section class="content">
      <div class="container-fluid">
        <div class="row">
  <div class="col-md-12">
    <div class="card">
      <div class="card-header">
        <h3 class="card-title"><i class="nav-icon fa fa-cloud"></i>&nbsp;OSPF主监测设备列表</h3>
        <div class=" float-sm-right">
          <!-- SEARCH FORM -->
          <form class="form-inline ml-3" th:action="@{'/ospfMonitor/list'}">
            <th:block th:if="${session.LOGIN_KEY.role != 'guest'}">
              <button type="button" onclick="add()" class="btn btn-primary btn-sm" style="margin-right:5px;">添加</button>
            </th:block>
            <div class="input-group input-group-sm">
              <input class="form-control"  id="hostname" name="hostname" autocomplete="off" th:value="${ospfMonitor.hostname}" type="text" placeholder="输入设备IP">
              <div class="input-group-append">
                <button class="btn btn-primary" type="submit">
                  <i class="fas fa-search"></i>
                </button>
              </div>
            </div>
          </form>
        </div>
      </div>
      <!-- /.card-header -->
      <div class="card-body">
        <table class="table table-bordered table-hover">
          <thead>
          <tr>
            <th style="width: 20px"> <input type="checkbox" value="" name="checkall" id="checkall"></th>
            <th style="width: 60px">序号</th>
            <th title="描述">描述</th>
            <th title="设备IP">设备IP</th>
            <th title="用户名">用户名</th>
            <th title="密码">密码</th>
            </tr>
          </th:block>
          </thead>
          <tbody>
          <th:block th:each="item,iterStat : ${page.list}">
            <tr>
              <td><input type="checkbox" th:value="${item.id}" name="todo2" th:id="${item.id}+'_check'"/></td>
              <td th:text="${iterStat.index+1}">1</td>
              <td th:text="${item.infoContent}"><span   th:text="${#strings.abbreviate(item.infoContent,20)}"></span></td>
              <td th:text="${item.hostname}"></td>
              <td th:text="${item.username}"></td>
              <td th:text="${item.password}"></td>
              <td>
                <th:block th:if="${session.LOGIN_KEY.role != 'guest'}">
                    <button type="button"  th:onclick="del([[${item.id}]])"  class="btn bg-gradient-danger btn-sm">删除</button>
                    <button type="button"  th:onclick="edit([[${item.id}]])"  class="btn bg-gradient-primary btn-sm">编辑</button>
                </th:block>
              </td>
          </th:block>
          </tbody>
        </table>
      </div>
      <!-- /.card-body -->
      <div th:replace="common/page.html"></div>
    </div>
    <!-- /.card -->
  </div>
        </div>
      </div>
    </section>
  </div>
  <div th:replace="common/footer.html"></div>
  <script th:src="@{'/static/js/jQuery/jquery.form.min.js'}" type="text/javascript" charset="utf-8"></script>
</div>
<!-- ./wrapper -->
<script th:src="@{'/static/js/ospfMonitor.js?v=3.3.9'}"></script>
<script th:inline="javascript">
  var msg = [[${msg}]];
  if(msg!='' && msg!=null){
    toastr.info(msg);
  }
</script>
</body>
</html>
src/main/resources/templates/ospfMonitor/view.html
New file
@@ -0,0 +1,279 @@
<!DOCTYPE html>
<html>
<head>
  <div  th:replace="common/header.html"></div>
</head>
<body th:class="${application.sidebarCollapse}">
<div th:replace="common/chart.html"></div>
<div class="wrapper">
  <div th:replace="common/navbar.html"></div>
  <div th:replace="common/aside.html"></div>
  <!-- Content Wrapper. Contains page content -->
  <div class="content-wrapper"  style="font-size:0.90rem">
    <!-- Content Header (Page header) -->
    <section class="content-header">
      <div class="container-fluid">
        <div class="row mb-2">
          <div class="col-sm-6">
            <h1></h1>
          </div>
          <div class="col-sm-6">
            <ol class="breadcrumb float-sm-right">
              <li class="breadcrumb-item active"></li>
            </ol>
          </div>
        </div>
      </div><!-- /.container-fluid -->
    </section>
    <!-- Main content -->
    <section class="content">
      <div class="container-fluid">
        <div class="row">
  <div class="col-md-12">
    <div class="card card-primary">
      <div class="card-header">
        <h3 class="card-title">OSPF主设备监测信息</h3>
        <div class=" float-sm-right">
          <a href="javascript:history.back()">返回</a>
        </div>
      </div>
      <!-- /.card-header -->
      <!-- form start -->
      <form role="form">
        <div class="card-body">
          <div class="form-group">
            <label>设备IP</label>
              <div><span th:text="${snmpMonitor.hostname}"></span></div>
          </div>
        </div>
        <!-- /.card-body -->
      </form>
      <!-- /.card-body -->
      <div class="row">
        <div class="col-12 table-responsive">
          <table class="table table-striped"><tbody><tr>
            <th:block th:each="item : ${amList}">
              <th:block th:if="${item.code eq  am}">
                <td width="2%" style="vertical-align:bottom;"> <button type="button" title="当前已显示该时间段图表" class="btn btn-block btn-outline-danger btn-sm disabled" th:text="${item.msg}">Primary</button></td>
              </th:block>
              <th:block th:unless="${item.code eq  am}">
                <td width="2%" style="vertical-align:bottom;"> <button type="button"  th:onclick="viewDate([[${snmpInfo.id}]],[[${item.code}]])" class="btn btn-block btn-outline-primary btn-sm" th:text="${item.msg}">Primary</button></td>
              </th:block>
            </th:block>
            <td width="10%">
              <form class="form-inline ml-3   float-sm-right" action="/tssw/snmpInfo/view">
                <input type="hidden" name="id" th:value="${snmpMonitor.id}"/>
                <div class="input-group input-group-sm">
                  <input type="text" autocomplete="off" value="" class="validate[maxSize[50]] form-control"  th:value="${startTime}" name="startTime" id="startTime" placeholder="开始时间" style="margin-right:5px;">
                  <label style="margin-right:5px;">至</label>
                  <input type="text" autocomplete="off" value="" class="validate[maxSize[50]] form-control"  th:value="${endTime}" name="endTime" id="endTime" placeholder="结束时间" style="margin-right:5px;">
                  <button type="submit" class="btn btn-primary btn-sm" style="margin-right:5px;">查询</button>
                  <button type="button" onclick="resetParam()" class="btn bg-danger btn-sm" style="margin-right:5px;">重置</button>
                </div>
              </form>
            </td>
            <td width="2%" style="vertical-align:bottom;text-align: right"><button type="button" th:onclick="excelExport([[${snmpMonitor.id}]],[[${am}]])" class="btn btn-primary btn-sm">导出Excel</button></td>
          </tr></tbody></table>
        </div>
        <!-- /.col -->
      </div>
    </div>
    <!-- /.card -->
  </div>
        </div>
      </div>
    </section>
  </div>
  <div th:replace="common/footer.html"></div>
</div>
<!-- ./wrapper -->
<script th:src="@{'/static/js/snmp.js?v=3.4.1'}"></script>
<script th:inline="javascript">
  var startTimeResponse =[[${startTime}]];
  var endTimeResponse =[[${endTime}]];
  $(document).ready(function(){
    var startTime = $('#startTime');
    if(startTime!=null && startTime != undefined){
      startTime.daterangepicker({
        singleDatePicker: true,
        timePicker: true,
        timePicker24Hour : true,
        "opens": "center",
        "locale": {
          format: 'YYYY-MM-DD HH:mm',
          applyLabel: "应用",
          cancelLabel: "取消",
          daysOfWeek: ['日', '一', '二', '三', '四', '五', '六'],
          monthNames: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'],
        }
      });
      if(startTimeResponse=='' || startTimeResponse==null){
        startTime.val("");
      }
    }
    var endTime = $('#endTime');
    if(endTime!=null && endTime != undefined){
      endTime.daterangepicker({
        singleDatePicker: true,
        timePicker: true,
        timePicker24Hour : true,
        "opens": "center",
        "locale": {
          format: 'YYYY-MM-DD HH:mm',
          applyLabel: "应用",
          cancelLabel: "取消",
          daysOfWeek: ['日', '一', '二', '三', '四', '五', '六'],
          monthNames: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'],
        }
      });
      if(endTimeResponse=='' || endTimeResponse==null){
        endTime.val("");
      }
    }
  });
  function resetParam(){
    $("#startTime").val("");
    $("#endTime").val("");
  }
    var snmpStateJson =[[${snmpStateList}]];
    $(function() {
      var chart = new G2.Chart({
        container: 'snmpStateJson',
        forceFit: true,
        height: 400,
        padding: [30, 40, 70, 48]
      });
      chart.axis('dateStr', {
        label: {
          textStyle: {
            fill: '#aaaaaa'
          }
        }
      });
      chart.axis('sentAvgDouble', false);
      chart.tooltip({
        crosshairs: false
      });
      chart.legend({
        position: 'top-center'
      });
      chart.source(snmpStateJson, {
        recvAvgDouble: {
          alias: '入口MB/秒',
          min: 0,
          max: [[${snmpAvgMax}]]
        },
        sentAvgDouble: {
          alias: '出口MB/秒',
          min: 0,
          max: [[${snmpAvgMax}]]
        }
      });
      chart.scale('dateStr',{tickCount: 12,alias: '时间'});
      chart.line().position('dateStr*recvAvgDouble').color('#1890ff');
      chart.line().position('dateStr*sentAvgDouble').color('#2fc25b');
      chart.render();
      var chartCpuPer = new G2.Chart({
        container: 'cpuStateJson',
        forceFit: true,
        height: 400,
        padding: [30, 40, 70, 40]
      });
      chartCpuPer.axis('dateStr', {
        label: {
          textStyle: {
            fill: '#aaaaaa'
          }
        }
      });
      chartCpuPer.axis('cpuPerDouble', {
        label: {
          textStyle: {
            fill: '#aaaaaa'
          }
        }
      });
      chartCpuPer.tooltip({
        crosshairs: false
      });
      chartCpuPer.legend({
        position: 'top-center'
      });
      chartCpuPer.source(snmpStateJson, {
        cpuPerDouble: {
          alias: 'cpu使用率%'
        }
      });
      chartCpuPer.scale('dateStr',{tickCount: 12,alias: '时间'});
      chartCpuPer.line().position('dateStr*cpuPerDouble').color('#1890ff');
      chartCpuPer.render();
      var chartMem = new G2.Chart({
        container: 'memStateJson',
        forceFit: true,
        height: 400,
        padding: [30, 40, 70, 40]
      });
      chartMem.axis('dateStr', {
        label: {
          textStyle: {
            fill: '#aaaaaa'
          }
        }
      });
      chartMem.axis('memPerDouble', {
        label: {
          textStyle: {
            fill: '#aaaaaa'
          }
        }
      });
      chartMem.tooltip({
        crosshairs: false
      });
      chartMem.legend({
        position: 'top-center'
      });
      chartMem.source(snmpStateJson, {
        memPerDouble: {
          alias: '使用率%'
        }
      });
      chartMem.scale('dateStr', {tickCount: 12, alias: '时间'});
      chartMem.line().position('dateStr*memPerDouble').color('#8B78F6');
      chartMem.render();
    })
  var msg = [[${msg}]];
  if(msg!='' && msg!=null){
    toastr.info(msg);
  }
</script>
</body>
</html>
wgcloud-server.iml
@@ -58,7 +58,6 @@
    <orderEntry type="library" name="Maven: org.projectlombok:lombok:1.18.22" level="project" />
    <orderEntry type="library" name="Maven: cn.hutool:hutool-all:5.6.5" level="project" />
    <orderEntry type="library" name="Maven: mysql:mysql-connector-java:8.0.28" level="project" />
    <orderEntry type="library" name="Maven: com.oracle:ojdbc6:11.2.0.3" level="project" />
    <orderEntry type="library" name="Maven: org.mariadb.jdbc:mariadb-java-client:2.7.3" level="project" />
    <orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper-spring-boot-starter:1.4.2" level="project" />
    <orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper-spring-boot-autoconfigure:1.4.2" level="project" />
@@ -101,7 +100,6 @@
    <orderEntry type="library" name="Maven: javax.activation:activation:1.1" level="project" />
    <orderEntry type="library" name="Maven: org.postgresql:postgresql:42.5.0" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: org.checkerframework:checker-qual:3.5.0" level="project" />
    <orderEntry type="library" name="Maven: com.microsoft.sqlserver:sqljdbc4:4.0" level="project" />
    <orderEntry type="library" name="Maven: com.jcraft:jsch:0.1.55" level="project" />
    <orderEntry type="library" name="Maven: io.netty:netty-all:4.1.63.Final" level="project" />
    <orderEntry type="library" name="Maven: com.alibaba:easyexcel:2.2.10" level="project" />