iaun 5 лет назад
Родитель
Сommit
25133e31d2
1 измененных файлов с 166 добавлено и 0 удалено
  1. 166 0
      monitor.sql

+ 166 - 0
monitor.sql

@@ -0,0 +1,166 @@
+/*
+ Navicat Premium Data Transfer
+
+ Source Server         : 192.168.226.133_3306
+ Source Server Type    : MySQL
+ Source Server Version : 100317
+ Source Host           : 192.168.226.133:3306
+ Source Schema         : monitor
+
+ Target Server Type    : MySQL
+ Target Server Version : 100317
+ File Encoding         : 65001
+
+ Date: 05/11/2020 10:25:27
+*/
+
+SET NAMES utf8mb4;
+SET FOREIGN_KEY_CHECKS = 0;
+
+-- ----------------------------
+-- Table structure for cpu_percent
+-- ----------------------------
+DROP TABLE IF EXISTS `cpu_percent`;
+CREATE TABLE `cpu_percent`  (
+  `id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+  `time` timestamp(0) NOT NULL DEFAULT current_timestamp() ON UPDATE CURRENT_TIMESTAMP(0),
+  `percent` double(255, 0) UNSIGNED NULL DEFAULT NULL,
+  PRIMARY KEY (`id`, `time`) USING BTREE
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Table structure for disk
+-- ----------------------------
+DROP TABLE IF EXISTS `disk`;
+CREATE TABLE `disk`  (
+  `id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+  `time` timestamp(0) NOT NULL DEFAULT current_timestamp() ON UPDATE CURRENT_TIMESTAMP(0),
+  `path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
+  `fs_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
+  `total` bigint(20) UNSIGNED NULL DEFAULT NULL,
+  `free` bigint(20) UNSIGNED NULL DEFAULT NULL,
+  `used` bigint(20) UNSIGNED NULL DEFAULT NULL,
+  `used_percent` double UNSIGNED NULL DEFAULT NULL,
+  PRIMARY KEY (`id`, `time`) USING BTREE
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Table structure for info
+-- ----------------------------
+DROP TABLE IF EXISTS `info`;
+CREATE TABLE `info`  (
+  `id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+  `cpu_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
+  `cpu_cores` int(11) UNSIGNED NULL DEFAULT NULL,
+  `mhz` double(255, 0) UNSIGNED NULL DEFAULT NULL,
+  `cache_size` int(11) UNSIGNED NULL DEFAULT NULL,
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Table structure for memory
+-- ----------------------------
+DROP TABLE IF EXISTS `memory`;
+CREATE TABLE `memory`  (
+  `id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+  `time` timestamp(0) NOT NULL DEFAULT current_timestamp() ON UPDATE CURRENT_TIMESTAMP(0),
+  `total` bigint(20) UNSIGNED NULL DEFAULT NULL,
+  `free` bigint(20) UNSIGNED NULL DEFAULT NULL,
+  `cached` bigint(20) UNSIGNED NULL DEFAULT NULL,
+  `used_percent` double UNSIGNED NULL DEFAULT NULL,
+  PRIMARY KEY (`id`, `time`) USING BTREE
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Table structure for netio
+-- ----------------------------
+DROP TABLE IF EXISTS `netio`;
+CREATE TABLE `netio`  (
+  `id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+  `time` timestamp(0) NOT NULL DEFAULT current_timestamp() ON UPDATE CURRENT_TIMESTAMP(0),
+  `bytes_recv` bigint(255) UNSIGNED NULL DEFAULT NULL,
+  `bytes_sent` bigint(255) UNSIGNED NULL DEFAULT NULL,
+  `packets_recv` bigint(255) UNSIGNED NULL DEFAULT NULL,
+  `packets_sent` bigint(255) UNSIGNED NULL DEFAULT NULL,
+  PRIMARY KEY (`id`, `time`) USING BTREE
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Procedure structure for insert_cpu_percent
+-- ----------------------------
+DROP PROCEDURE IF EXISTS `insert_cpu_percent`;
+delimiter ;;
+CREATE DEFINER=`root`@`%` PROCEDURE `insert_cpu_percent`(i varchar(255), t int, p DOUBLE)
+BEGIN
+	#Routine body goes here...
+	INSERT INTO `cpu_percent`(`id`, `time`, `percent`) VALUES (i,FROM_UNIXTIME(t),p);
+	DELETE FROM `cpu_percent` WHERE UNIX_TIMESTAMP(time) < (t-1800); # 删除半小时之前的数据
+END
+;;
+delimiter ;
+
+-- ----------------------------
+-- Procedure structure for insert_memory
+-- ----------------------------
+DROP PROCEDURE IF EXISTS `insert_memory`;
+delimiter ;;
+CREATE DEFINER=`root`@`%` PROCEDURE `insert_memory`(i varchar(255), t int,total bigint,free bigint, cached bigint, percent DOUBLE)
+BEGIN
+	#Routine body goes here...
+	INSERT INTO `memory`(`id`, `time`, `total`, `free`, `cached`, `used_percent`) VALUES (i,FROM_UNIXTIME(t),total,free,cached,percent);
+	DELETE FROM `memory` WHERE UNIX_TIMESTAMP(time) < (t-1800); # 删除半小时之前的数据
+END
+;;
+delimiter ;
+
+-- ----------------------------
+-- Procedure structure for register_client
+-- ----------------------------
+DROP PROCEDURE IF EXISTS `register_client`;
+delimiter ;;
+CREATE DEFINER=`root`@`%` PROCEDURE `register_client`(i varchar(255),cn varchar(255), cc varchar(255), mhz double, cs int)
+BEGIN
+	DECLARE client_count int;
+	select count(*) INTO client_count from info WHERE id = i;
+	IF client_count = 0 THEN
+		# not exist
+		insert into info VALUE (i, cn, cc, mhz, cs);
+	else
+		# exist
+		update info set cpu_name = cn, cpu_cores = cc, mhz = mhz, cache_size = cs WHERE id = i;
+	end if;
+END
+;;
+delimiter ;
+
+-- ----------------------------
+-- Procedure structure for select_cpu_percent_with_time
+-- ----------------------------
+DROP PROCEDURE IF EXISTS `select_cpu_percent_with_time`;
+delimiter ;;
+CREATE DEFINER=`root`@`%` PROCEDURE `select_cpu_percent_with_time`(i varchar(255),t int,li INT)
+BEGIN
+	-- i  id
+	-- t  time
+	-- li limit
+	select unix_timestamp(time),percent from cpu_percent where id = i AND UNIX_TIMESTAMP(time)>t ORDER BY time DESC LIMIT li;
+	select unix_timestamp(max(time)) from cpu_percent where id = i AND UNIX_TIMESTAMP(time)>t;
+END
+;;
+delimiter ;
+
+-- ----------------------------
+-- Procedure structure for select_memory
+-- ----------------------------
+DROP PROCEDURE IF EXISTS `select_memory`;
+delimiter ;;
+CREATE DEFINER=`root`@`%` PROCEDURE `select_memory`(i varchar(255),t int,li INT)
+BEGIN
+	#Routine body goes here...
+	select unix_timestamp(time),total,free,cached,used_percent from memory where id = i AND UNIX_TIMESTAMP(time)>t ORDER BY time DESC LIMIT li;
+	select unix_timestamp(max(time)) from memory where id = i AND UNIX_TIMESTAMP(time)>t;
+END
+;;
+delimiter ;
+
+SET FOREIGN_KEY_CHECKS = 1;