monitor.sql 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. /*
  2. Navicat Premium Data Transfer
  3. Source Server : 192.168.226.133_3306
  4. Source Server Type : MySQL
  5. Source Server Version : 100317
  6. Source Host : 192.168.226.133:3306
  7. Source Schema : monitor
  8. Target Server Type : MySQL
  9. Target Server Version : 100317
  10. File Encoding : 65001
  11. Date: 05/11/2020 10:25:27
  12. */
  13. SET NAMES utf8mb4;
  14. SET FOREIGN_KEY_CHECKS = 0;
  15. -- ----------------------------
  16. -- Table structure for cpu_percent
  17. -- ----------------------------
  18. DROP TABLE IF EXISTS `cpu_percent`;
  19. CREATE TABLE `cpu_percent` (
  20. `id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  21. `time` timestamp(0) NOT NULL DEFAULT current_timestamp() ON UPDATE CURRENT_TIMESTAMP(0),
  22. `percent` double(255, 0) UNSIGNED NULL DEFAULT NULL,
  23. PRIMARY KEY (`id`, `time`) USING BTREE
  24. ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
  25. -- ----------------------------
  26. -- Table structure for disk
  27. -- ----------------------------
  28. DROP TABLE IF EXISTS `disk`;
  29. CREATE TABLE `disk` (
  30. `id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  31. `time` timestamp(0) NOT NULL DEFAULT current_timestamp() ON UPDATE CURRENT_TIMESTAMP(0),
  32. `path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
  33. `fs_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
  34. `total` bigint(20) UNSIGNED NULL DEFAULT NULL,
  35. `free` bigint(20) UNSIGNED NULL DEFAULT NULL,
  36. `used` bigint(20) UNSIGNED NULL DEFAULT NULL,
  37. `used_percent` double UNSIGNED NULL DEFAULT NULL,
  38. PRIMARY KEY (`id`, `time`) USING BTREE
  39. ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
  40. -- ----------------------------
  41. -- Table structure for info
  42. -- ----------------------------
  43. DROP TABLE IF EXISTS `info`;
  44. CREATE TABLE `info` (
  45. `id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  46. `cpu_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
  47. `cpu_cores` int(11) UNSIGNED NULL DEFAULT NULL,
  48. `mhz` double(255, 0) UNSIGNED NULL DEFAULT NULL,
  49. `cache_size` int(11) UNSIGNED NULL DEFAULT NULL,
  50. PRIMARY KEY (`id`) USING BTREE
  51. ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
  52. -- ----------------------------
  53. -- Table structure for memory
  54. -- ----------------------------
  55. DROP TABLE IF EXISTS `memory`;
  56. CREATE TABLE `memory` (
  57. `id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  58. `time` timestamp(0) NOT NULL DEFAULT current_timestamp() ON UPDATE CURRENT_TIMESTAMP(0),
  59. `total` bigint(20) UNSIGNED NULL DEFAULT NULL,
  60. `free` bigint(20) UNSIGNED NULL DEFAULT NULL,
  61. `cached` bigint(20) UNSIGNED NULL DEFAULT NULL,
  62. `used_percent` double UNSIGNED NULL DEFAULT NULL,
  63. PRIMARY KEY (`id`, `time`) USING BTREE
  64. ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
  65. -- ----------------------------
  66. -- Table structure for netio
  67. -- ----------------------------
  68. DROP TABLE IF EXISTS `netio`;
  69. CREATE TABLE `netio` (
  70. `id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  71. `time` timestamp(0) NOT NULL DEFAULT current_timestamp() ON UPDATE CURRENT_TIMESTAMP(0),
  72. `bytes_recv` bigint(255) UNSIGNED NULL DEFAULT NULL,
  73. `bytes_sent` bigint(255) UNSIGNED NULL DEFAULT NULL,
  74. `packets_recv` bigint(255) UNSIGNED NULL DEFAULT NULL,
  75. `packets_sent` bigint(255) UNSIGNED NULL DEFAULT NULL,
  76. PRIMARY KEY (`id`, `time`) USING BTREE
  77. ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
  78. -- ----------------------------
  79. -- Procedure structure for insert_cpu_percent
  80. -- ----------------------------
  81. DROP PROCEDURE IF EXISTS `insert_cpu_percent`;
  82. delimiter ;;
  83. CREATE DEFINER=`root`@`%` PROCEDURE `insert_cpu_percent`(i varchar(255), t int, p DOUBLE)
  84. BEGIN
  85. #Routine body goes here...
  86. INSERT INTO `cpu_percent`(`id`, `time`, `percent`) VALUES (i,FROM_UNIXTIME(t),p);
  87. DELETE FROM `cpu_percent` WHERE UNIX_TIMESTAMP(time) < (t-1800); # 删除半小时之前的数据
  88. END
  89. ;;
  90. delimiter ;
  91. -- ----------------------------
  92. -- Procedure structure for insert_memory
  93. -- ----------------------------
  94. DROP PROCEDURE IF EXISTS `insert_memory`;
  95. delimiter ;;
  96. CREATE DEFINER=`root`@`%` PROCEDURE `insert_memory`(i varchar(255), t int,total bigint,free bigint, cached bigint, percent DOUBLE)
  97. BEGIN
  98. #Routine body goes here...
  99. INSERT INTO `memory`(`id`, `time`, `total`, `free`, `cached`, `used_percent`) VALUES (i,FROM_UNIXTIME(t),total,free,cached,percent);
  100. DELETE FROM `memory` WHERE UNIX_TIMESTAMP(time) < (t-1800); # 删除半小时之前的数据
  101. END
  102. ;;
  103. delimiter ;
  104. -- ----------------------------
  105. -- Procedure structure for register_client
  106. -- ----------------------------
  107. DROP PROCEDURE IF EXISTS `register_client`;
  108. delimiter ;;
  109. CREATE DEFINER=`root`@`%` PROCEDURE `register_client`(i varchar(255),cn varchar(255), cc varchar(255), mhz double, cs int)
  110. BEGIN
  111. DECLARE client_count int;
  112. select count(*) INTO client_count from info WHERE id = i;
  113. IF client_count = 0 THEN
  114. # not exist
  115. insert into info VALUE (i, cn, cc, mhz, cs);
  116. else
  117. # exist
  118. update info set cpu_name = cn, cpu_cores = cc, mhz = mhz, cache_size = cs WHERE id = i;
  119. end if;
  120. END
  121. ;;
  122. delimiter ;
  123. -- ----------------------------
  124. -- Procedure structure for select_cpu_percent_with_time
  125. -- ----------------------------
  126. DROP PROCEDURE IF EXISTS `select_cpu_percent_with_time`;
  127. delimiter ;;
  128. CREATE DEFINER=`root`@`%` PROCEDURE `select_cpu_percent_with_time`(i varchar(255),t int,li INT)
  129. BEGIN
  130. -- i id
  131. -- t time
  132. -- li limit
  133. select unix_timestamp(time),percent from cpu_percent where id = i AND UNIX_TIMESTAMP(time)>t ORDER BY time DESC LIMIT li;
  134. select unix_timestamp(max(time)) from cpu_percent where id = i AND UNIX_TIMESTAMP(time)>t;
  135. END
  136. ;;
  137. delimiter ;
  138. -- ----------------------------
  139. -- Procedure structure for select_memory
  140. -- ----------------------------
  141. DROP PROCEDURE IF EXISTS `select_memory`;
  142. delimiter ;;
  143. CREATE DEFINER=`root`@`%` PROCEDURE `select_memory`(i varchar(255),t int,li INT)
  144. BEGIN
  145. #Routine body goes here...
  146. 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;
  147. select unix_timestamp(max(time)) from memory where id = i AND UNIX_TIMESTAMP(time)>t;
  148. END
  149. ;;
  150. delimiter ;
  151. SET FOREIGN_KEY_CHECKS = 1;