diff --git a/src/main/java/com/nis/service/impl/AssetAssetServiceImpl.java b/src/main/java/com/nis/service/impl/AssetAssetServiceImpl.java index 9bcdc67..5093e65 100644 --- a/src/main/java/com/nis/service/impl/AssetAssetServiceImpl.java +++ b/src/main/java/com/nis/service/impl/AssetAssetServiceImpl.java @@ -167,7 +167,7 @@ public class AssetAssetServiceImpl extends ServiceImpl V1,V2,V3 创建人id', + `config` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '具体配置', + `port` int(1) NOT NULL DEFAULT 161 COMMENT '端口号 默认161', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_name`(`name`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of snmp_credential +-- ---------------------------- + +-- ---------------------------- +-- Table structure for snmp_mib +-- ---------------------------- +DROP TABLE IF EXISTS `snmp_mib`; +CREATE TABLE `snmp_mib` ( + `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键id', + `name` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'mib文件名称,默认去掉后缀', + `file_name` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '二进制文件名称', + `content` mediumblob NOT NULL COMMENT 'mib二进制文件', + `models` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '为空时:所有型号适用\r\n\r\n不为空时:可关联多个型号,用逗号分隔,如:1,2,3', + `remark` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '备注', + `update_by` int(10) NULL DEFAULT NULL COMMENT '更新人', + `update_at` datetime(0) NULL DEFAULT NULL COMMENT '更新时间', + `tree` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'MIB文件解析tree', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_name`(`name`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of snmp_mib +-- ---------------------------- + +-- ---------------------------- +-- Table structure for sys_api_key +-- ---------------------------- +DROP TABLE IF EXISTS `sys_api_key`; +CREATE TABLE `sys_api_key` ( + `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键', + `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '名称 唯一不重复', + `token` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '密钥 唯一不重复', + `role_id` int(10) NOT NULL COMMENT '角色id', + `create_by` int(10) NOT NULL COMMENT '创建用户', + `create_at` datetime(0) NOT NULL COMMENT '创建时间', + `expire_at` datetime(0) NULL DEFAULT NULL COMMENT '失效时间 为空不失效', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_name`(`name`) USING BTREE, + INDEX `idx_role_id`(`role_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of sys_api_key +-- ---------------------------- + +-- ---------------------------- +-- Table structure for sys_config +-- ---------------------------- +DROP TABLE IF EXISTS `sys_config`; +CREATE TABLE `sys_config` ( + `id` bigint(19) NOT NULL AUTO_INCREMENT, + `param_key` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'key', + `param_value` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL, + `status` tinyint(4) NULL DEFAULT 1 COMMENT '状态 0:隐藏 1:显示', + `remark` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `param_key`(`param_key`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 229 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '系统配置表' ROW_FORMAT = Compact; + +-- ---------------------------- +-- Records of sys_config +-- ---------------------------- +INSERT INTO `sys_config` VALUES (3, 'alert_api', '', 1, 'alert api 地址'); +INSERT INTO `sys_config` VALUES (4, 'alert_path_prefix', '', 1, '告警推送请求前缀'); +INSERT INTO `sys_config` VALUES (5, 'alert_interval', '15', 1, '告警间隔时间'); +INSERT INTO `sys_config` VALUES (14, 'confagent_port', '10090', 1, 'confagent内置端口'); +INSERT INTO `sys_config` VALUES (15, 'confagent_path', '/nz-agent', 1, 'confagent内置路径'); +INSERT INTO `sys_config` VALUES (17, 'telnet_user_tip', 'ogin:', 1, 'telnet用户名提示'); +INSERT INTO `sys_config` VALUES (18, 'telnet_password_tip', 'assword:', 1, 'telnet密码提示'); +INSERT INTO `sys_config` VALUES (19, 'telnet_relogin_password_tip', 'assword:', 1, 'telnet relogin密码提示'); +INSERT INTO `sys_config` VALUES (21, 'ldap_address', '', 1, NULL); +INSERT INTO `sys_config` VALUES (22, 'ldap_dn', '', 1, NULL); +INSERT INTO `sys_config` VALUES (23, 'ldap_password', '', 1, NULL); +INSERT INTO `sys_config` VALUES (30, 'ldap_user_filter', '', 1, NULL); +INSERT INTO `sys_config` VALUES (31, 'ldap_mapping', '', 1, NULL); +INSERT INTO `sys_config` VALUES (32, 'ldap_enable', 'off', 1, NULL); +INSERT INTO `sys_config` VALUES (33, 'geoJson', '{\"type\":\"FeatureCollection\",\"features\":[{\"type\":\"Feature\",\"properties\":{\"name\":\"Akmola Province\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[\"@@ÔdƊijʪŠèāƂNŎ‹ǀ\\\\ǔ§DȆȨC˔ŷLjƾ»ìƞ¦ƪXÄĢʈĤÉŤļÂRƌŸÐŁLĉǂâHƚƬјƬËjĜ̚ɐUŒűȞW¿ūǖCĠŋŘLOôŘXAĆτEUąȦu˖ĴƖǯiŗĥ…¾ąȸùʒŽCĶȺ…Μ¦¾ėeǩŸˆή눿ͦSà¥@ԣǛƭMŅǸd|™ȊÙɱmƛ½ŧƉŗzɥ^čƂJ޳ƍûȳ‹AÓǃ¹NjvĽśƿYÛ·äÏċ©ĥŒą­ré͕R[ȔťĂˇÇɷƑL¥ǭ}ëígšĽŒŵ«ÖïȽõƩ]nŀéò̧Éćþ˭ڎĥ˵ÍǵÀCɰ˜¢RȪʏJ̯ƻȓŽnēſËȏBΣďÇŬœüĵˆɡʓĊįsÙŤĝŇŴštÓġƹosÆ®ƾǧĸļƄހȌ³²řBĞƪRȚÐĞɦŊÂPȖ\",\"@@ÒõƒkƈĊ¿Ŧǽrĭſ\"],\"encodeOffsets\":[[67591,53693],[72928,52338]]}},{\"type\":\"Feature\",\"properties\":{\"name\":\"Aktobe Province\"},\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[\"@@žЛ̉ƸƬŨLŖĴf\"],[\"@@ƖʆǎĀǬQ˄˄zŜı²^żÙÊČÀâŀƾø¥ĎfƤŏpDĔƒXƊğȢ•dçȦţɶāͤŒêºœƺƴ‹ĈĦĨľÿÆøǂ]Ɏxưŧƶɪ¼ƪOˆǮĈʸx¼Śf”ÓŜRĬć›įƴ«ĎĭҚ¿ĊğʠPƸŞdŬƘ—ŤĝО[՞ŲĴδĺdȊNŽķưCŶ·­đǜĿŹ©SƇƢ¢¾ǁńġĎſƂũÀŏƃeLJיŅį§ŏƽȰȳď¯ĒƱʠƙƦäĢÅåė|Û˴ã̖ůȶʃĔƗƂđɗǑƝÅLJĻΫŻɳƛ̱ªrðɯǞĵ^ŗƬųĖӅQyֱ͟έXiǯ́_̡țǩƍϗϑåTćơbŏÍŭɡӵŋ੉ʁřؾŝǦsĞĿŖyŘҥĮʋĆǽŮħdžįŜÆɂCŖ²DŽmƬƇŠ~Ƣ÷Ą¦ǬaŔƍˆƗgíџļ@DއȂƅyǝĆ\"]],\"encodeOffsets\":[[[60468,46905]],[[54918,50423]]]}},{\"type\":\"Feature\",\"properties\":{\"name\":\"Almaty\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[\"@@ʴ¤wēČěıĵhűèÏƮ\"],\"encodeOffsets\":[[78580,44354]]}},{\"type\":\"Feature\",\"properties\":{\"name\":\"Almaty Province\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[\"@@ĖŘӠ͜ɴ~ʶŀʄXτšƨċŤ¬ĨÁľŽϾ—ÜûĪXÚÒǼP÷ҐŦ¤ɒŬĦņûƊŞ˶ǃłO¤ïϒ†˄ʩϞŖƢ­I«֚ȭɘOĜßɸÝƶƇ‚ÃŦ×ĘȟĮŋJħÖÛĎEɪќÝKĿę•ǧÄ̃YĵńƛBƱā˧Ÿȅ÷ǙPɕ‰ȉ×»|ɩšŶęŒnªąĀuĈýÁҏǃWƳňʑȒ̑ÅōĀuFơǏCǕőŜĽȿ‘ĩǵ¶ûXƷªħė]ǭǰϵxƃŤƏĄdĚɧ}ʍÌų¸š͏GƿÂ̛\\\\ǁaá¼ʭNţÙƻfƭ½űÐƕiùœħ_ƅĈʉä×ȔĆŞˇøă¾ʠǘ_ͤÈ]IJƇĪǝòDž^șņFǶĵĒɧĦǶ˧oƒİ~ÊɺAŸĀç̬ĨŦžĤ\",\"@@ÐƭŲçĶgIJċĜxĔʳ£\"],\"encodeOffsets\":[[75839,47106],[78580,44354]]}},{\"type\":\"Feature\",\"properties\":{\"name\":\"Astana\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[\"@@ĮƀǾqÀťƇĉƑlÑö\"],\"encodeOffsets\":[[72928,52338]]}},{\"type\":\"Feature\",\"properties\":{\"name\":\"Atyrau\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[\"@@ֺÃݒÇɸ©ЬŋOĔʾUȊvǠŞҦȺʒì´ĮǨTĴŠΤ£UğłVŌ·ŜhȂéĜDBǀÜƤĐIOȠĴ¬π}̰ȈǞąƆzˆȁ@ǃѠϐîƘhƎ‡bœ¥ǫøă}ơƈşnƫ±ǃDŕÅɁİśĨDžǾŭʌąҦĭzŗŀŕtĝ́nƑĘÓgãƖǛ\\\\īĊǽŷƱXɍ_ŝ“ϓÕɯEÝijǯĥЯEǦʎcDŽ獙Ŕ긅źǯĺӕʅtď°ǑãȩŒŭÛĥjoØı¢ȳt÷†ū¥ǷYēóƑc«ỚŁįí³ĉčIYŏ±û}ƃǃŽī•í°ƿ¨ċöı\\\\ȋö°ȯn^â̤ªÜ¤çŚǡǸDžˈËAȩɾċ¬ϯ^ȥâſDžâYĀŋŦ¼Ȥ\"],\"encodeOffsets\":[[48242,49392]]}},{\"type\":\"Feature\",\"properties\":{\"name\":\"East Kazakhstan\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[\"@@΢Ĺʜ¿ǘ¨ǦȜ‘ŊÙnkȆƅ[DzDĒƳ˜ąŠįĖŊ¸ːœƸ昞Ȱc̚ɒͤѣ̀ϟPúĠÒʐ̇ȬǀC˜Ģɜµk‘ɐµįǵ̒zŒȁŐ[ʬ¾˲ÉňǼ{ƞĔKÞƬgʔðǤhȰ·ˆŹ[¯ȎǏüǍaÇƄåȀBȒıƘ‘ÛǸȷXġ̼[ĀÁǦbðãŦŒöµÐĮČV˜Ǹ֙ƙƃȎ»FÙČ¥GÑĊûȴqJıƛŠǻeřımÁöÿ—ŗřÿ©ñŧ³œBċ«˽Cęûŷџ›ǁöΣyÝÔÙDǯėí_ßɗJ̗ǝǩŶȅ…Ïzѹ…˳ðȉĪʫ¨·Ɖǣ̹¡ƣŗ̏±ƫķTťñƭ\\\\ËčFÕÜIĨĭŌėȠťØÄƵƈɷÞěàɗP֙ȮJ¬ơ®ϝŕ˃ʪϑ…£ðŁP˵DŽƉŝŅüūĥɑť£ȡ^ûāɉυĠpŸƸsŸǔ~ÜNJÔb˜ɂđŎǿŐĴŐǔWŲވޓæ·›ÏĀ\\\\ĔǚŠŇèEÂʿnj^¶кŘøú[ǂĴâƾ¾ȎŲYÜ\"],\"encodeOffsets\":[[79562,51428]]}},{\"type\":\"Feature\",\"properties\":{\"name\":\"Jambyl Province\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[\"@@ቒP٢I׸Aੈ@ģħťè̫ ÿɹB}Ʉį˨pžǵɨĥĶđEǵȚŅdž]Ǟñƈĩ^ı£Ç`ĵʟǗĄ½ˈ÷ąŝØȓʊãƆćęţŭ„˵pͅŪďSƣŦũ‚śÜщɝsͯŵ—ÿ]ƛËǹ®ōƟ’I¼Dž†ǫcƓĖȷžǻØƉmɍĄȏÅęŠɇmąƛƭsƷ÷çǗ՟âȫźơ¾dǒċŌǩŚʇªďžZĒĝhļŀļǨvɜIJŒěвÃȠ»ÊŅ͐ėƆýɬǗȘ\"],\"encodeOffsets\":[[70725,47104]]}},{\"type\":\"Feature\",\"properties\":{\"name\":\"Karagandy Province\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[\"@@ɴƜάżLjļƞÆɘǒƁĒēƘɢƬ±Ĩ̐¦ġƎȖB¢ɚجğɤ¸nĂʠV˸ȾŊzĠƾƼĺǢÎ˨ʒɞƲOIJˬäņŰŹômĔȔ̰ƼʐIQȩ—¡DɯǶ¿˶΍ĦˮÙĈý̨ÊêñmĿƪ^ȾöÕðŶ¬ľ‹hŢìîǮ~K¦ɸƒˈÈŦā\\\\ȓ͖QqêĆ®Ħ‹ČªãÐܸǀZľŜnjuDŽºBÔȴŒƎüŝ´ƁI]Ďɦ‚Řy̠Ýdēµũ¬ĝĹÃwīČ­ɀTƀ–Ȓ¯˶ǑLçƘÙǡÏŏݖÇƖUˊŤˀbÀœŦ}ǂ®ư›´þɆtŀµŌˌ¤ȚxƪčǔaǐïƽƱZÛȍűƽ½ijá\\\\ǁ÷ùйŗ]µˀNjFÁňçǙ‰[ēÐÿΈœ”凚űšǓXijŏȀŏĒō—ɁÓaÛljŽ} ǓƷtoŷ†ğɊčüĂȢ]øҏǻOÙÑĩWÛüϽ˜ĽħÂţ«ƧČσ™ʃWʵĿɳ}ӟ͛ĕŗੇ@׷B١JቑOۡBࢿ@Ťȡ|ȋ[ڇhʱ†ǵČșƐǗtгǀɥ¬˥ĀĝIȗĊǥ–ĔŤ͛îËO\"],\"encodeOffsets\":[[64461,48324]]}},{\"type\":\"Feature\",\"properties\":{\"name\":\"Kostanay Province\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[\"@@RȃþŁũ•ʊűƗuƽÛìǑŎDKœÃ§DįŜBPʹŦBÅǏHſjáɂW[ëǃNTŇğEY˝OȕʼnÁĝɥșÏƩQ€ĝŚA´±ȋƃݎĻǨķ­ƽtÅƺpÔĢŢsňųАÚţİtʔĉɢžĶ‡›ûÈūΤĐȐAƀÌźóŅů˫ãPıɝƱ˧ʑǡÍƻĹğƽʼny˷ȽʟUmāɣ·ثĠ¡əȕAĢƍ̏¥²ħɡƫȵʄ̕Ű˳ä{ÜæĘġÆƥãʟƚđƲаȯȴŐƾݨšņLjØƄf¿ŐƁŪčƀŃ̽ǂơ¡TƈźªǛŀ®Ēŵ¸ƯDĸȉMşÌ™êʫ°ǟNÁŮͯDī|NŶɣĀŇläǒEˀƔǦA̎Ljïƈŝ^DĴŅlEĐĺTʊDzŊ¦Ŝ™äœƎéΜɒ£Ɯ’Wĺ˭Ôġèū§Ń¸ƥRÏļŤĘŊ±ƒÐÈƋTƧāªȁX˜ƘûĞƄƜƾRø×ƀlŎÉƾ[ö˪IĚėĞN˜ŚǬ’ɰOÒâ̰pʈÄƲBмĂɎYȤÐŬÿİœuƀΞĠĪ…ĈøŘjĀÝ\"],\"encodeOffsets\":[[67662,55952]]}},{\"type\":\"Feature\",\"properties\":{\"name\":\"Kyzylorda Province\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[\"@@ÌP͜íēţǦ•ȘĉĞJ˦ÿɦ«дƿǘsȚƏǶċʲ…ڈgȌ\\\\Ȣ{Žţ@Çňí¾ûãù›ɩÇăǼıŀ…Sċj̵eǯċĶÓŴoØėɆŝāû\\\\ŏ™ăąÉĕƅsĥŵԏȏċ«ࠍӛß`rȒD̺Ʌãʇδ̽ǦƵȂÏjͭƑ֩zёªङŏȧYӡдʋȐŔĭª࠽Ӻٌvʌ·ĊƧœă˵ϹdžМ¢ÖIJWlłǓéSĈæžϘϒǪƎ̢Ȝ̂`jǰήWֲ͠žzӆRŴĕŘƫĶ]ɰǝqï̲©\"],\"encodeOffsets\":[[64461,48324]]}},{\"type\":\"Feature\",\"properties\":{\"name\":\"Mangystau Province\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[\"@@аFǰĦÞĴɰFϔÖŞ”Ɏ`ƲWǾŸĬĉǜ[äƕÔhƒė̂mŞǥŚؽصƩ@Ӂ@ַFᎭĿN̓ãƷŞǙȂƓȈDÖƟŪҽ˞խùӯƕЧ˗AŦÑŞ|ĎļňĚȬÎØ]ĞĿÐş‚ōQǙ®ȡŸŝǚĕ΍è˳~ʰĪĩÐŋƦ{ńŃĈ{ƌÚ̃¬ƯüSƈÖĎβ—ŮTǬřČ@ĂÆŀ‹\\\\ĈįGķʐìņ}žŠŘǔŠŢ¼ʔNʒąƼT͆ǭWȂĨŲG˴ŝ̭ĻăùóŹșˏPÃIJwľĸŖǶPúǘŶŚmǤÊƞfɬW;ȢŘ©äƧÎěĺĩ‚vÈƿŨȯkÕāɱƧƕǎ̙ÊJúöƈ\"],\"encodeOffsets\":[[54469,47117]]}},{\"type\":\"Feature\",\"properties\":{\"name\":\"North Kazakhstan\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[\"@@ʲÂݶĺ¨¢Ș{Ǯ–žîǴiǞfŒĬãÆö°̲HĔƘǀµIĸȨµ„©Вjƶ±îïɸ¿Ⱦł˜GǂǝƱŜơǎŸķý°ȋȓ_ƬȯĸünjuA¹ȞN‚Ű˼ĔŜè•vĹľŧµĉIJ•ŒŞàĀ͖ÔĥȞ—ǮIRÆȾ¨ÝǕȧjǵʷƆ”ñŢœűOsŁĠ{ŜÐĺ•ǗƁúُijŜIȈĸœąȗŝµÇƨ…ͥT‡Àέìŷ‡fǪ½ĘΛ¥ȹ†Dĵʑȷú½ĆĦ†jŘƕǰ˕ijȥvVĆσFBąŗWPóŗKğŌǕDÀŬȝX‹ŲɏVę™iěƫÌїžƙƫáGĊǁłK ÏQƋĻÁÊţʇģÃġƩWƝ¥¼ëLJƽ˓ŸȧDCȅǓ¨ƿ[ōŒƁMçĂʩ‰ƉĴÓcZ˞ĠFSňDŽM\\\\ìɁXiâƀ‚ǐGAÆťOʺśACİĨLŔōCëǒƾÜƘvʉŲŪ–ýłQȄ\"],\"encodeOffsets\":[[67662,55952]]}},{\"type\":\"Feature\",\"properties\":{\"name\":\"Pavlodar Province\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[\"@@ǦIJƪtâÔƞkǸËĔėĆĪyĸƦk’ðĸÎɄ˦ƖCĢȈ|ԔƊ²ĊȀ“ǘx°ÖŰĭĹşģ‹ǭCĒĻڪͻӊʭͲ΁Ϫэ˔˳Ɇ˥̙ɑȯd—ŽƷåˏ›ʼn·İĕĆşƴ—CđȱƆ\\\\lȅÚm’ʼnǥțǗ§ʛÀΡĺą²žƾǏðǓbƩĎșwÁ£ŋˋĿ¶Ʌs³ýƯœǁ­ť~¿›ʿaˉţƕV•ÈŐÞǢÐƗÚKè˵ǒȑ°ſ•ȿSċ®xĬĺīжŪcĔ̟ÞŨƊƜ¾ɲnȉÚ{šǷcNņǜƮ@ԤߦƧ†¶ÈȘŞ›ĆȇķśJĴùÚǘƂŖśÏğ|tłŲPšŔ\"],\"encodeOffsets\":[[75202,54718]]}},{\"type\":\"Feature\",\"properties\":{\"name\":\"South Kazakhstan Province\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[\"@@à_ࠎӜȬԐȐŶíŽtĦĖƆĆʚĄ[ŐĂüɅŞ×ĘųpĵԞČfǰi̶TČĿ†ǻIJÈĄœɪäú½üŇî@Èࣀ@ۢAǘȗþɫĘƅņ͏¼ÉÄȟĜбıőuɛĻǧĻĿĞgYđНʈ©ǪřČŋcǑƢ½ȬŹ áǘŏdğíEģñ«ėƃĀſÓƋƿƳÏe›˷ÑùċÇLƅŋɓÓCġȡŝƇơÅcJǻxōĝFʅĞȭŦĤĀ@ĘĕIeľč]ō¢̱±փ\\\\ċ̒×͒҅ºFΤÎm\"],\"encodeOffsets\":[[67657,43355]]}},{\"type\":\"Feature\",\"properties\":{\"name\":\"West Kazakhstan\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[\"@@áĿċ¿ÚÉ]ŻIJ±yś˃˃ǫRǍÿƕʅ̯ȇο~ij«PȟďJÛƣAƿěCȁêśgŋ¸ŁUVĠΣ¤ij‰ǧS³ĭʑëҥȹǟŝȉuʽVPēЫŌɷªݑÈֹÄZˆ̓îɉäʌѤĨ~ŘĜŤǷĜĸѲɼÒƞƆăĈ˜Ĥ̄ÈîŜ–ŴĹƪĉƀţŠđŚřƴqʜðƄĆƟȪã̀ƌKǐòİĒʘÄsȮ͎bɚŨǴ~òĎǢèIŀ̚üФ‘¨ƓǬÂ`÷Ƅ¢—îļĐǒqȶîȘɽȌ¨Ī‹Ъ\\\\ƴÇhıÈÙ̮ËĠ¯Àťè­Ɇ½ķȓŊý\"],\"encodeOffsets\":[[55853,51741]]}}],\"UTF8Encoding\":true}', 1, NULL); +INSERT INTO `sys_config` VALUES (36, 'generator_path', '/opt/nezha/nz-web/generator', 1, 'generator路径'); +INSERT INTO `sys_config` VALUES (45, 'asset_ping_interval', '300', 1, NULL); +INSERT INTO `sys_config` VALUES (48, 'system_name', 'One-stop monitoring system', 1, NULL); +INSERT INTO `sys_config` VALUES (49, 'ldap_ou', '', 1, NULL); +INSERT INTO `sys_config` VALUES (50, 'timezone', 'Asia/Shanghai', 1, NULL); +INSERT INTO `sys_config` VALUES (52, 'export_pagesize', '1000', 1, 'alert_message到处时默认的每批次查询数量'); +INSERT INTO `sys_config` VALUES (54, 'alert_notify_interval', '300', 1, '单位:s'); +INSERT INTO `sys_config` VALUES (69, 'email_template', '
${alertMessage.description}
', 1, '邮件模板'); +INSERT INTO `sys_config` VALUES (71, 'test_email_send_template', '
Nezha test sending email.
', 1, NULL); +INSERT INTO `sys_config` VALUES (72, 'reset_table_infos', '[\"Delete from alert_rule where build_in !=1 \",\"Delete from asset_asset\",\"Delete from cabinet\",\"Delete from visual_chart\",\"Delete from visual_chart_element\",\"Delete from monitor_endpoint\",\"Delete from monitor_endpoint_state\",\"Delete from dc\",\"Delete from maintenance_record\",\"Delete from asset_ping\",\"Delete from asset_model\",\"Delete from asset_brand\",\"Delete from asset_feature\",\"Delete from asset_field_value\",\"Delete from asset_field_group where build_in !=1 \",\"Delete from asset_field_meta where build_in !=1 \",\"Delete from monitor_module where build_in !=1 \",\"Delete from viausl_panel where build_in !=1 \",\"Delete from monitor_project where build_in !=1 \",\"Delete from project_topo\",\"Delete from prom_server\",\"Delete from snmp_credential\",\"Delete from sys_api_key\",\"Delete from snmp_mib\",\"Delete from terminal_cmd\",\"Delete from terminal_record\",\"Delete from terminal_session\",\"Delete from sys_log\",\"Delete from sys_user where username!=\'admin\'\",\"Delete from alert_notify_log\",\"Delete from alert_notify_method where build_in !=1 \",\"Delete from alert_silence_conf\",\"Delete from alert_silence_message_rel\",\"Delete from link where build_in !=1 \",\"Delete from visual_chart where build_in !=1 \",\"Delete from visual_chart_element where build_in !=1 \",\"Delete from visual_expression_tmpl where build_in !=1 \"]', 1, '清空项目数据信息'); +INSERT INTO `sys_config` VALUES (107, 'default_cabinet_usize', '40', 1, '机柜默认U位值'); +INSERT INTO `sys_config` VALUES (114, 'alert_export_header', '{\"cn\":{\"ID\":\"ID\",\"告警名称\":\"告警名称\",\"数据中心\":\"数据中心\",\"应用名称\":\"应用名称\",\"组件名称\":\"组件名称\",\"Endpoint\":\"Endpoint\",\"主机地址\":\"主机地址\",\"告警tag信息\":\"告警tag信息\",\"告警级别\":\"告警级别\",\"告警摘要\":\"告警摘要\",\"告警描述\":\"告警描述\",\"开始时间\":\"开始时间\",\"结束时间\":\"结束时间\",\"状态\":\"状态\"},\"en\":{\"ID\":\"ID\",\"Alert Name\":\"Alert Name\",\"Datacenter\":\"Datacenter\",\"Project\":\"Project\",\"Module\":\"Module\",\"Endpoint\":\"Endpoint\",\"Asset\":\"Asset\",\"Labels\":\"Labels\",\"Severity\":\"Severity\",\"Summary\":\"Summary\",\"Description\":\"Description\",\"StartAt\":\"StartAt\",\"EndAt\":\"EndAt\",\"State\":\"State\"}}', 1, 'alert_message导出表头'); +INSERT INTO `sys_config` VALUES (118, 'map_center_config', '{\"longitude\":71.45,\"latitude\":51.16,\"zoom\":4,\"minZoom\":3,\"maxZoom\":7}', 1, '地图配置'); +INSERT INTO `sys_config` VALUES (139, 'system_version', '21.04', 1, 'nezha系统版本'); +INSERT INTO `sys_config` VALUES (142, 'query_max_series', '50', 1, '限制 prometheus query_range 接口 result 数组大小 区间范围[-1 - 1000] -1表示不限制'); +INSERT INTO `sys_config` VALUES (143, 'export_max_line', '10000', 1, '告警导出最大行数'); +INSERT INTO `sys_config` VALUES (149, 'develop_admin', 'admin', 1, NULL); +INSERT INTO `sys_config` VALUES (150, 'ldap_query_timeout', '3000', 1, 'ldap template 查询超时时间,单位 milliseconds 毫秒'); +INSERT INTO `sys_config` VALUES (153, 'unsaved_change', 'on', 1, '未保存提示开关'); +INSERT INTO `sys_config` VALUES (154, 'expretmpl_export_header', '{\"cn\":{\"*名称\":\"模板名称(必填) \\n示例: CPU利用率模板\",\"组名\":\"组名 \\n示例: base,默认值: default\",\"*表达式\":\"表达式内容(必填) \\n示例: node_cpu_usage(asset=\\\"{{asset.host}}\\\",device=\\\"{{device}}\\\")\",\"描述\":\"描述 \\n示例: node_export CPU利用率模板\"},\"en\":{\"*Name\":\"Template name (required) \\nExample: CPU utilization template\",\"Group Name\":\"Group Name \\nExample: base, Default value: default\",\"*Expression\":\"Expression content (required) Optional: node_cpu_usage(asset=\\\"{{asset.host}}\\\",device=\\\"{{device}}\\\")\",\"Remark\":\"Remark \\nExample: node_export CPU utilization template\"}}', 1, '表达式导入导出模板表头信息'); +INSERT INTO `sys_config` VALUES (157, 'confagent_name', '{\"centos\":\"nz-agent-21.04-Release.x86_64.rpm\",\"ubuntu\":\"nz-agent-21.04-Release.x86_64.rpm\"}', 1, 'confagent 下载文件名称'); +INSERT INTO `sys_config` VALUES (189, 'asset_asset_export_header', '{\"cn\":{\"*资产名称\":\"资产名称,唯一标识(必填) \\n示例: DELL服务器\",\"*SN码\":\"资产序列号,唯一标识(必填) \\n示例: A0420200101\",\"虚拟机宿主\":\"虚拟机宿主,当资产为虚拟机时必填 \\n示例: DELL物理机\",\"*管理ip\":\"主机地址(必填),IP格式 \\n示例: 172.0.0.1\",\"*品牌\":\"品牌(必填) \\n示例: DELL\",\"*型号\":\"型号(必填) \\n示例: DELL-D3\",\"*数据中心\":\"数据中心(必填) \\n示例: 北京电信中心机房\",\"机柜\":\"机柜 \\n示例: cabinet-001\",\"开始U位\":\"机柜开始位置 此信息一般和机柜结束位置联合使用 \\n示例: 1\",\"结束U位\":\"机柜结束位置 此信息一般与机柜开始位置联合使用 \\n示例: 2\",\"*资产状态\":\"资产状态 \\n示例: 在库\",\"*资产类型\":\"资产类型 \\n示例: 服务器\",\"购买日期\":\"购买日期 \\n示例: 2020/2/25\",\"属性信息\":\"资产属性信息,格式: key=value 如需填写多个请使用回车换行 \\n示例: NetworkCard=eth0 \\n user=root\",\"认证服务端口\":\"认证服务端口 \\n示例: 22\",\"认证方式\":\"认证方式,可选值: 1:用户名密码; 2: 密钥 \\n示例: 1\",\"用户名\":\"用户名, \\n示例:root\",\"密码\":\"密码 ,认证方式为1,记录登录密码; 认证方式为2,记录密钥密码. \\n示例: pass\",\"密钥\":\"登录密钥 \\n示例: ssh-rsa CFdv7Jez6K...\",\"用户名提示\":\"TELNET用户名提示 \\n示例: login:\",\"密码提示\":\"TELNET密码提示 \\n示例: pass:\",\"SNMP凭证\":\"snmp凭证名称 \\n实例: system-snmpv2\"},\"en\":{\"*Asset Name\":\"Asset name, unique identifier (required) \\nExample: DELL server\",\"*Sn\":\"Asset serial number, unique identifier (required) \\nExample: A0420200101\",\"*Virtual machine host\":\"Virtual machine host, required when the asset is a virtual machine \\nExample: DELL physical machine\",\"*Management ip\":\"Host address (required), IP format \\nExample: 172.0.0.1\",\"*Brand\":\"Brand (required) \\nExample: DELL\",\"*Model\":\"Model (required) \\nExample: DELL-D3\",\"*DC\":\"Data Center (Required) \\nExample: Beijing Telecom Center Computer Room\",\"Cabinet\":\"Cabinet \\nExample: cabinet-001\",\"Cabinet Start\":\"Cabinet start position This information is generally used in conjunction with the cabinet end position \\nExample: 1\",\"Cabinet End\":\"Cabinet end position This information is generally used in conjunction with the cabinet start position \\nExample: 2\",\"*Asset state\":\"Asset status \\nExample: In stock\",\"*Asset type\":\"Asset Type\\nExample: Server\",\"Purchase date\":\"Purchase date \\nExample: 2020/2/25\",\"Field Information\":\"Asset field information, format: key=value If you need to fill in more than one, please use carriage return and line feed \\nExample: NetworkCard=eth0 \\n user=root\",\"Server port\":\"Server port \\nExample: 22\",\"Auth methed\":\"Auth methed,Optional values: 1: username and password; 2: key \\nExample: 1\",\"User name\":\"User name, \\nExample:root\",\"Password\":\"Password ,The auth method is 1, record the login password; the auth method is 2, record the key password. \\nExample: pass\",\"PrivateKey\":\"PrivateKey \\nExample: ssh-rsa CFdv7Jez6K...\",\"User Tip\":\"TELNET username prompt \\nExample: login:\",\"Password Tip\":\"TELNET password prompt \\nExample: pass:\",\"SNMP credential\":\"SNMP credential name \\nExample: system-snmpv2\"}}', 1, NULL); +INSERT INTO `sys_config` VALUES (190, 'prom_cmd_tmpl', 'OPTION=\" --config.file=\'/opt/nezha/nz-agent/prometheus/prometheus.yml\' --web.listen-address=\'127.0.0.1:10091\' --web.enable-admin-api --storage.tsdb.path=\'/data/prometheusData\' --web.enable-lifecycle --storage.tsdb.retention.time=${storageDays}d \"', 1, 'prometheus 启动参数模板'); +INSERT INTO `sys_config` VALUES (192, 'prom_rule_tmpl', '{\r\n \"groups\": [{\r\n \"name\": \"alertRule\",\r\n \"rules\": [\r\n <#if endpointAlert>\r\n {\r\n \"alert\": \"0\",\r\n \"expr\": \"up{endpoint!=\'\'}>-1\",\r\n \"for\": \"30s\",\r\n \"annotations\": {\r\n \"summary\": \"{{$value}}\"\r\n }\r\n }, \r\n \r\n <#list ruleList as rule>\r\n {\r\n \"alert\": ${rule.id?c},\r\n \"expr\": \"(${rule.expr})${rule.operator}${rule.threshold}\",\r\n \"for\": \"${rule.last?c}s\",\r\n \"labels\": {\r\n \"severity\": \"${rule.severity_name}\",\r\n \"severity_id\": ${rule.severity_id?c}\r\n },\r\n \"annotations\": {\r\n \"summary\": <#if rule.summary?default(\"\")?trim?length gt 1>\r\n \"${rule.summary}\",\r\n <#else>\"\",\r\n \"description\": <#if rule.description?default(\"\")?trim?length gt 1>\r\n \"${rule.description}\"\r\n <#else>\"\"\r\n \r\n }\r\n }\r\n <#sep>,\r\n ]\r\n }]\r\n}', 1, 'prometheus rule文件模板'); +INSERT INTO `sys_config` VALUES (194, 'monitor_endpoint_export_header', '{\"cn\":{\"*系统\":\"系统名称(必填) \\n示例: Nezha\",\"*组件\":\"组件名称(必填) \\n示例: node_exporter\",\"名称\":\"实例名称 \\n示例: node_exporter\",\"*资产名称\":\"资产名称(必填) \\n示例: A0420200101\",\"配置\":\"实例配置,JSON格式, \\n示例: {\\\"key\\\":\\\"value\\\"}\",\"启用\":\"启用状态(非必填) 可选 0:停用 1:启用,为空时默认为1 \\n示例: 1\"},\"en\":{\"*Project Name\":\"Project Name(Required) \\nExample: Nezha\",\"*Module Name\":\"Module Name(Required) \\nExample: node_exporter\",\"Name\":\"Endpoint name \\nExample: node_exporter\",\"*Asset Name\":\"Asset name(Required) \\nExample: A0420200101\",\"Configs\":\"Endpoint Configs,JSON format, \\nExample: {\\\"key\\\":\\\"value\\\"}\",\"Enabled\":\"Enable state (not required) Optional values 0: Disable 1: Enable, when empty, the default is 1 \\nExample: 1\"}}', 1, 'monitor endpoint 导入表头'); +INSERT INTO `sys_config` VALUES (195, 'system_logo', '', 1, '系统 logo'); +INSERT INTO `sys_config` VALUES (196, 'default_scrape_interval', '60', 1, '默认60s'); +INSERT INTO `sys_config` VALUES (197, 'default_scrape_timeout', '30', 1, '默认30s'); +INSERT INTO `sys_config` VALUES (198, 'terminal_timeout', '30', 1, '默认:30,单位:minute'); +INSERT INTO `sys_config` VALUES (199, 'terminal_telnet_user_tip', 'ogin:', 1, '默认:ogin:'); +INSERT INTO `sys_config` VALUES (200, 'terminal_telnet_pin_tip', 'assword:', 1, '默认:assword:'); +INSERT INTO `sys_config` VALUES (201, 'terminal_record_local_retention', '365', 1, '默认:365,单位:天,record数据保留天数'); +INSERT INTO `sys_config` VALUES (202, 'email_enable', 'off', 1, '是否启用邮件'); +INSERT INTO `sys_config` VALUES (203, 'email_host', '', 1, ''); +INSERT INTO `sys_config` VALUES (204, 'email_port', '25', 1, ''); +INSERT INTO `sys_config` VALUES (205, 'email_timeout', '10', 1, '默认:10'); +INSERT INTO `sys_config` VALUES (206, 'email_auth_account', '', 1, ''); +INSERT INTO `sys_config` VALUES (207, 'email_auth_password', '', 1, ''); +INSERT INTO `sys_config` VALUES (208, 'email_send_account', '', 1, ''); +INSERT INTO `sys_config` VALUES (209, 'email_test_account', '', 1, ''); +INSERT INTO `sys_config` VALUES (210, 'email_security_type', 'NONE', 1, 'NONE SSL TLS'); +INSERT INTO `sys_config` VALUES (211, 'session_timeout', '30', 1, '默认:30,不小于 15 单位:minute'); +INSERT INTO `sys_config` VALUES (215, 'asset_ping_from', '2', 1, '1: global\r\n\r\n2: per-datacenter\r\n\r\n默认:1'); +INSERT INTO `sys_config` VALUES (216, 'prometheus_federation_enabled', '1', 1, '配置prometheus是否开启联邦模式,1:开启,0:关闭(界面禁用 添加选择 per-datacenter agent,所有endpoint 配置信息 hash 分布到 global prometheus)'); +INSERT INTO `sys_config` VALUES (217, 'prom_yml_tmpl', '{\r\n \"global\": {\r\n \"scrape_interval\": \"${scrape_interval}s\",\r\n \"scrape_timeout\": <#if scrape_timeout??> \r\n \"${scrape_timeout}s\",\r\n <#else>\r\n \"10s\",\r\n \r\n \"evaluation_interval\": \"${scrape_interval}s\"\r\n },\r\n \r\n <#-- alert 配置 -->\r\n <#if isAlert>\r\n \"alerting\": {\r\n \"alertmanagers\": [{\r\n \"path_prefix\": \"${path_prefix}\",\r\n \"static_configs\": [{\r\n \"targets\": [\"${alert_url}\"]\r\n }]\r\n }],\r\n \"alert_relabel_configs\": [{\r\n \"regex\": \"instance\",\r\n \"action\": \"labeldrop\"\r\n }, {\r\n \"regex\": \"replica\",\r\n \"action\": \"labeldrop\"\r\n }]\r\n },\r\n \"rule_files\": [\"rule.yml\"],\r\n \r\n \r\n \r\n \r\n <#-- per-datacenter 配置 -->\r\n <#if !isGlobal>\r\n \"scrape_configs\": [\r\n <#list endpointList as endpoint>\r\n {\r\n \"job_name\": ${endpoint.id?c},\r\n \"metrics_path\": <#if endpoint.config.metrics_path?default(\"\")?trim?length gt 0>\r\n \"${endpoint.config.metrics_path}\",\r\n <#else>\r\n <#if endpoint.module.type == \"http\">\r\n \"/metrics\",\r\n <#else>\r\n \"/snmp\",\r\n \r\n \r\n \"scrape_interval\": <#if endpoint.config.scrape_interval?default(\"\")?trim?length gt 0>\r\n \"${endpoint.config.scrape_interval}s\",\r\n <#else>\r\n \"${scrape_interval}s\",\r\n \r\n \"scrape_timeout\": <#if endpoint.config.scrape_timeout?default(\"\")?trim?length gt 0>\r\n \"${endpoint.config.scrape_timeout}s\",\r\n <#else>\r\n <#if scrape_timeout??> \r\n \"${scrape_timeout}s\",\r\n <#else>\r\n \"10s\",\r\n \r\n \r\n\r\n\r\n\r\n <#if endpoint.config.basic_auth??&& (endpoint.config.basic_auth?size >0)>\r\n <#if endpoint.config.basic_auth.username?default(\"\")?trim?length gt 0 && endpoint.config.basic_auth.password?default(\"\")?trim?length gt 0>\r\n \"basic_auth\":{\r\n \"username\": \"${endpoint.config.basic_auth.username}\",\r\n \"password\": \"${endpoint.config.basic_auth.password}\"\r\n },\r\n \r\n \r\n \r\n \r\n <#if endpoint.config.bearer_token??&&endpoint.config.bearer_token?trim?length gt 0>\r\n \"authorization\":{\r\n \"type\":\"Bearer\",\r\n \"credentials\":\"${endpoint.config.bearer_token}\"\r\n },\r\n \r\n\r\n \r\n <#-- params 不为空且类型为 http ,添加 params -->\r\n <#if endpoint.config.params??&& (endpoint.config.params?size >0) && endpoint.module.type == \"http\">\r\n \"params\":{\r\n <#list endpoint.config.params?keys as itemKey>\r\n \"${itemKey}\":[\r\n <#list endpoint.config.params[itemKey] as pojo>\r\n \"${pojo}\"\r\n <#sep>,\r\n \r\n ]\r\n <#sep>,\r\n \r\n },\r\n <#elseif endpoint.module.type == \"snmp\">\r\n <#-- 类型是 snmp ,组织 param 数据 , 原来params弃用,因为 snmp_exporter 不支持其他参数 -->\r\n \"params\":{\r\n \"target\":[ \"${endpoint.config.host}:${endpoint.config.port?c}\" ],\r\n \"module\":[ \"${endpoint.module.name}\" ]\r\n },\r\n \r\n \r\n \"static_configs\": [{\r\n \"targets\": [<#if endpoint.module.type == \"http\">\r\n \"${endpoint.config.host}:${endpoint.config.port?c}\"\r\n <#else>\r\n \"127.0.0.1:19116\"\r\n \r\n ],\r\n \"labels\": {\r\n \"datacenter\": \"${endpoint.dc.name}\",\r\n \"datacenter_id\":${endpoint.dc.id?c},\r\n \r\n \"project\": \"${endpoint.project.name}\",\r\n \"project_id\": ${endpoint.project.id?c},\r\n \r\n \"asset\": \"${endpoint.asset.name}\",\r\n \"asset_id\": ${endpoint.asset.id?c},\r\n \r\n \"module\": \"${endpoint.module.name}\",\r\n \"module_id\": ${endpoint.module.id?c},\r\n \r\n \"endpoint\": \"${endpoint.name}\",\r\n \"endpoint_id\": ${endpoint.id?c},\r\n \r\n \"nz_agent_id\": ${endpoint.promserver.id?c}\r\n \r\n \r\n <#if endpoint.config.labels??&& (endpoint.config.labels?size >0)>\r\n ,\r\n \r\n <#-- 补充用户自定义 Labels -->\r\n <#if endpoint.config.labels??&& (endpoint.config.labels?size >0)>\r\n <#list endpoint.config.labels?keys as key>\r\n <#if key != \"datacenter\" && key != \"datacenter_id\" && key != \"project\" && key != \"project_id\" && key != \"asset\" && key != \"asset_id\" && key != \"module\" && key != \"module_id\" && key != \"endpoint\" && key != \"endpoint_id\">\r\n \"${key}\":\"${endpoint.config.labels[key]}\"<#sep>,\r\n \r\n \r\n \r\n }\r\n }],\r\n \"relabel_configs\": [\r\n {\r\n \"regex\": \"instance\",\r\n \"action\": \"labeldrop\"\r\n },\r\n {\r\n \"regex\": \"job\",\r\n \"action\": \"labeldrop\"\r\n }\r\n ],\r\n \"metric_relabel_configs\": [\r\n {\r\n \"regex\": \"instance\",\r\n \"action\": \"labeldrop\"\r\n }\r\n ]\r\n }\r\n <#sep>,\r\n \r\n \r\n <#-- ping 配置 -->\r\n \r\n <#if endpointList??&&(endpointList?size>0)>\r\n ,\r\n \r\n \r\n <#list assetList as asset>\r\n {\r\n \"job_name\": \"asset_ping_${asset.id?c}\",\r\n \"metrics_path\": \"/probe\",\r\n \"scrape_interval\": <#if asset.assetPingInterval?default(\"\")?trim?length gt 0>\r\n \"${asset.assetPingInterval}s\",\r\n <#else>\r\n \"${scrape_interval}s\",\r\n \r\n \"scrape_timeout\": <#if asset.scrape_timeout?default(\"\")?trim?length gt 0>\r\n \"${asset.scrape_timeout}s\",\r\n <#else>\r\n <#if scrape_timeout??> \r\n \"${scrape_timeout}s\",\r\n <#else>\r\n \"10s\",\r\n \r\n \r\n \"params\": {\r\n \"target\":[ \"${asset.manageIp}\" ],\r\n \"module\":[ \"ping\" ]\r\n },\r\n \"static_configs\": [{\r\n \"targets\": [\"127.0.0.1:19115\"],\r\n \"labels\": {\r\n \"datacenter\": \"${asset.dc.name}\",\r\n \"host\": \"${asset.manageIp}\",\r\n \"module\": \"ping\",\r\n \"source_ip\": \"${asset.promserver.host}\",\r\n \"nz_agent_id\": ${asset.promserver.id?c}\r\n }\r\n }],\r\n \"relabel_configs\": [\r\n {\r\n \"regex\": \"instance\",\r\n \"action\": \"labeldrop\"\r\n }\r\n ],\r\n \"metric_relabel_configs\": [\r\n {\r\n \"regex\": \"instance\",\r\n \"action\": \"labeldrop\"\r\n }\r\n ]\r\n }\r\n <#sep>,\r\n \r\n ]\r\n <#else>\r\n <#-- global 配置 -->\r\n \"scrape_configs\": [\r\n <#list jobList as jobPojo>\r\n {\r\n \"job_name\": \"${jobPojo.job_name}\",\r\n <#if jobPojo.isFederate> \r\n \"honor_labels\": ${jobPojo.honor_labels},\r\n \"params\": {\r\n \"match[]\": [\r\n <#-- 开启联邦 -->\r\n <#if jobPojo.fedeEnabled>\r\n <#if jobPojo.scrapePing> \r\n \"{job=~\\\"asset_ping_.+\\\",nz_agent_id != \\\"${jobPojo.excludeAgentId}\\\"}\"\r\n <#else>\r\n \"{__name__=~\\\".+\\\",nz_agent_id != \\\"${jobPojo.excludeAgentId}\\\"}\"\r\n \r\n <#else>\r\n <#-- 联邦关闭,抓取所有指标即可 -->\r\n \"{__name__=~\\\".+\\\",nz_agent_id != \\\"${jobPojo.excludeAgentId}\\\"}\"\r\n \r\n ]\r\n },\r\n \"authorization\":{\r\n \"type\":\"Bearer\",\r\n \"credentials\":\"${jobPojo.token}\"\r\n },\r\n \r\n \"metrics_path\": <#if jobPojo.metrics_path?default(\"\")?trim?length gt 0>\r\n \"${jobPojo.metrics_path}\",\r\n <#else>\r\n \"/metrics\",\r\n \r\n \"static_configs\":[\r\n <#list jobPojo.staticConfigList as staticConf >\r\n {\r\n \"targets\": [\r\n <#list staticConf.targets as targetConf>\r\n \"${targetConf}\"<#sep>,\r\n \r\n ]\r\n <#if staticConf.labels ??&& (staticConf.labels?size >0)>\r\n ,\r\n \"labels\": {\r\n <#list staticConf.labels?keys as itemKey>\r\n \"${itemKey}\":<#if staticConf.labels[itemKey]?default(\"\")?trim?length gt 0>\r\n \"${staticConf.labels[itemKey]}\"\r\n <#else>\"\"<#sep>,\r\n \r\n } \r\n \r\n }<#sep>,\r\n \r\n ],\r\n \"relabel_configs\": [\r\n {\r\n \"regex\": \"job\",\r\n \"action\": \"labeldrop\"\r\n }\r\n <#if jobPojo.instanceRelabel> \r\n ,\r\n {\r\n \"regex\": \"instance\",\r\n \"action\": \"labeldrop\"\r\n }\r\n \r\n ],\r\n \"metric_relabel_configs\": [\r\n {\r\n \"regex\": \"instance\",\r\n \"action\": \"labeldrop\"\r\n }\r\n ]\r\n }<#sep>,\r\n \r\n \r\n <#-- ping 配置 -->\r\n \r\n <#if jobList??&&(jobList?size>0)>\r\n ,\r\n \r\n \r\n <#list assetList as asset>\r\n {\r\n \"job_name\": \"asset_ping_${asset.id?c}\",\r\n \"metrics_path\": \"/probe\",\r\n \"scrape_interval\": <#if asset.assetPingInterval?default(\"\")?trim?length gt 0>\r\n \"${asset.assetPingInterval}s\",\r\n <#else>\r\n \"${scrape_interval}s\",\r\n \r\n \"scrape_timeout\": <#if asset.scrape_timeout?default(\"\")?trim?length gt 0>\r\n \"${asset.scrape_timeout}s\",\r\n <#else>\r\n <#if scrape_timeout??> \r\n \"${scrape_timeout}s\",\r\n <#else>\r\n \"10s\",\r\n \r\n \r\n \"params\": {\r\n \"target\":[ \"${asset.manageIp}\" ],\r\n \"module\":[ \"ping\" ]\r\n },\r\n \"static_configs\": [{\r\n \"targets\": [\"127.0.0.1:19115\"],\r\n \"labels\": {\r\n \"datacenter\": \"${asset.dc.name}\",\r\n \"host\": \"${asset.manageIp}\",\r\n \"module\": \"ping\",\r\n \"source_ip\": \"${asset.promserver.host}\",\r\n \"nz_agent_id\": ${asset.promserver.id?c}\r\n }\r\n }],\r\n \"relabel_configs\": [\r\n {\r\n \"regex\": \"instance\",\r\n \"action\": \"labeldrop\"\r\n }\r\n ],\r\n \"metric_relabel_configs\": [\r\n {\r\n \"regex\": \"instance\",\r\n \"action\": \"labeldrop\"\r\n }\r\n ]\r\n }\r\n <#sep>,\r\n \r\n \r\n \r\n <#if ( jobList??&&(jobList?size>0)) || assetList??&&(assetList?size>0)>\r\n ,\r\n \r\n \r\n <#list endpointList as endpoint>\r\n {\r\n \"job_name\": ${endpoint.id?c},\r\n \"metrics_path\": <#if endpoint.config.metrics_path?default(\"\")?trim?length gt 0>\r\n \"${endpoint.config.metrics_path}\",\r\n <#else>\r\n \"/metrics\",\r\n \r\n \"scrape_interval\": <#if endpoint.config.scrape_interval?default(\"\")?trim?length gt 0>\r\n \"${endpoint.config.scrape_interval}s\",\r\n <#else>\r\n \"${scrape_interval}s\",\r\n \r\n \"scrape_timeout\": <#if endpoint.config.scrape_timeout?default(\"\")?trim?length gt 0>\r\n \"${endpoint.config.scrape_timeout}s\",\r\n <#else>\r\n <#if scrape_timeout??> \r\n \"${scrape_timeout}s\",\r\n <#else>\r\n \"10s\",\r\n \r\n \r\n\r\n\r\n\r\n <#if endpoint.config.basic_auth??&& (endpoint.config.basic_auth?size >0)>\r\n <#if endpoint.config.basic_auth.username?default(\"\")?trim?length gt 0 && endpoint.config.basic_auth.password?default(\"\")?trim?length gt 0>\r\n \"basic_auth\":{\r\n \"username\": \"${endpoint.config.basic_auth.username}\",\r\n \"password\": \"${endpoint.config.basic_auth.password}\"\r\n },\r\n \r\n \r\n \r\n \r\n <#if endpoint.config.bearer_token??&&endpoint.config.bearer_token?trim?length gt 0>\r\n \"authorization\":{\r\n \"type\":\"Bearer\",\r\n \"credentials\":\"${endpoint.config.bearer_token}\"\r\n },\r\n \r\n\r\n \r\n <#-- params 不为空且类型为 http ,添加 params -->\r\n <#if endpoint.config.params??&& (endpoint.config.params?size >0) && endpoint.module.type == \"http\">\r\n \"params\":{\r\n <#list endpoint.config.params?keys as itemKey>\r\n \"${itemKey}\":[\r\n <#list endpoint.config.params[itemKey] as pojo>\r\n \"${pojo}\"\r\n <#sep>,\r\n \r\n ]\r\n <#sep>,\r\n \r\n },\r\n <#elseif endpoint.module.type == \"snmp\">\r\n <#-- 类型是 snmp ,组织 param 数据 , 原来params弃用,因为 snmp_exporter 不支持其他参数 -->\r\n \"params\":{\r\n \"target\":[ \"${endpoint.config.host}:${endpoint.config.port?c}\" ],\r\n \"module\":[ \"${endpoint.module.name}\" ]\r\n },\r\n \r\n \r\n \"static_configs\": [{\r\n \"targets\": [<#if endpoint.module.type == \"http\">\r\n \"${endpoint.config.host}:${endpoint.config.port?c}\"\r\n <#else>\r\n \"127.0.0.1:19116\"\r\n \r\n ],\r\n \"labels\": {\r\n \"datacenter\": \"${endpoint.dc.name}\",\r\n \"datacenter_id\":${endpoint.dc.id?c},\r\n \r\n \"project\": \"${endpoint.project.name}\",\r\n \"project_id\": ${endpoint.project.id?c},\r\n \r\n \"asset\": \"${endpoint.asset.name}\",\r\n \"asset_id\": ${endpoint.asset.id?c},\r\n \r\n \"module\": \"${endpoint.module.name}\",\r\n \"module_id\": ${endpoint.module.id?c},\r\n \r\n \"endpoint\": \"${endpoint.name}\",\r\n \"endpoint_id\": ${endpoint.id?c},\r\n \r\n \"nz_agent_id\": ${endpoint.promserver.id?c}\r\n \r\n \r\n <#if endpoint.config.labels??&& (endpoint.config.labels?size >0)>\r\n ,\r\n \r\n <#-- 补充用户自定义 Labels -->\r\n <#if endpoint.config.labels??&& (endpoint.config.labels?size >0)>\r\n <#list endpoint.config.labels?keys as key>\r\n <#if key != \"datacenter\" && key != \"datacenter_id\" && key != \"project\" && key != \"project_id\" && key != \"asset\" && key != \"asset_id\" && key != \"module\" && key != \"module_id\" && key != \"endpoint\" && key != \"endpoint_id\">\r\n \"${key}\":\"${endpoint.config.labels[key]}\"<#sep>,\r\n \r\n \r\n \r\n }\r\n }],\r\n \"relabel_configs\": [\r\n {\r\n \"regex\": \"instance\",\r\n \"action\": \"labeldrop\"\r\n },\r\n {\r\n \"regex\": \"job\",\r\n \"action\": \"labeldrop\"\r\n }\r\n ],\r\n \"metric_relabel_configs\": [\r\n {\r\n \"regex\": \"instance\",\r\n \"action\": \"labeldrop\"\r\n }\r\n ]\r\n }\r\n <#sep>,\r\n \r\n \r\n ]\r\n \r\n}', 1, 'prometheus config文件模板'); +INSERT INTO `sys_config` VALUES (218, 'license', 'NEZHAbased3613a0b4ed2109e5dbb933f3e0c2a5684e86cf8057775d4a10de5efe61e13f04d2259a1ffd0c2954ca5d3ef0b118fdc051e4bc0b4f03c42a9a7e5c5fd744731d11b27f9584267fead3b366f7fc0e5b6a99628d8a4d6e7af976e799efc7567266baf771bd41d7b9e8e269262b10bf2c434e064badd2eb649806dba68b101a5833e58fbcbaa3ff05277f6920c488725e3cb86dc1b7e00461902b6e4a0ef797c39d2685e03872e4bac4c8e61f46b929385674022116bd254a237f256d7cae6d35da654e6d5a92785203f996c02dd9ff5087f668899a7386872485b532915c064cc7156bef3d539dc109d44182cd31e54ac5189a5d89b83703b74cde8e36afd2ba85590e646fc9c404296de4b891ca303055b0a24e1admin2021-06-01T03:13:59Z202106011100admin', 1, '3403d697d45c594a0d147d556d94ad087272830c'); +INSERT INTO `sys_config` VALUES (219, 'license_token', 'abbbb', 1, NULL); +INSERT INTO `sys_config` VALUES (220, 'rule_export_header', '{\"cn\":{\"*告警规则名称\":\"告警规则名称(必填) \\n示例: cpuAlert\",\"*运算表达式\":\"运算表达式(必填) \\n示例: 100-(avg(irate(node_cpu_seconds_total{mode=\'idle\'}[5m])) by(instance)* 100)\",\"*比较符号\":\"比较符号(必填) 可选: >,<,<=,>=,==,!= \\n示例: >\",\"*阈值\":\"阈值(必填) \\n示例: 10\",\"*单位\":\"单位(必填) 可选: \\nMisc: none,short,percent(0-100),percent(0.0-1.0),local format\\nData: bits,bytes,kilobytes,megabytes,gigabytes,terabytes,petabytes\\nDataRate: packets/sec,bits/sec,bytes/sec,kilobytes/sec,kilobits/sec,megabytes/sec,megabits/sec,gigabytes/sec,gigabits/sec,terabytes/sec,terabits/sec,petabytes/sec,petabits/sec\\nTime: Hertz(1/s),nanoseconds(ns),microseconds(us),milliseconds(ms),seconds(s),minutes(m),hours(h),days(d),YYYY-MM-DD HH:mm:ss,MM/DD/YYYY h:mm:ss a \\n示例: short\",\"*持续时间\":\"持续时间(必填),默认单位(秒) \\n示例:60\",\"*告警级别\":\"告警级别(必填) 可选 P1、P2、P3 \\n示例: P1\",\"*告警摘要\":\"告警摘要(必填) \\n示例: cpu告警\",\"告警详细描述\":\"告警详细描述 \\n示例: cpu使用率超过10%的告警规则\",\"告警通知人\":\"告警通知人,多个使用逗号分隔 \\n示例: admin / admin,root\",\"通知方式\":\"告警通知方式,告警通知人不为空时,必填.多个使用逗号分隔 \\n示例: email / email,telephone\"},\"en\":{\"*AlertName\":\"Alert rule name (required) \\nExample: cpuAlert\",\"*Expr\":\"Operation expression (required) \\nExample: 100-(avg(irate(node_cpu_seconds_total{mode=\'idle\')[5m])) by(instance)* 100)\",\"*Operator\":\"Operation symbol (required) Optional: >,<,<=,>=,==,!= \\nExample:>\",\"*Threshold\":\"Threshold (required) \\nExample: 10\",\"*Unit\":\"Unit (required) Optional: \\nMisc: none,short,percent(0-100),percent(0.0-1.0),local format\\nData: bits,bytes,kilobytes,megabytes,gigabytes,terabytes,petabytes\\nDataRate: packets/sec,bits/sec,bytes/sec,kilobytes/sec,kilobits/sec,megabytes/sec,megabits/sec,gigabytes/sec,gigabits/sec,terabytes/sec,terabits/sec,petabytes/sec,petabits/sec\\nTime: Hertz(1/s),nanoseconds(ns),microseconds(us),milliseconds(ms),seconds(s),minutes(m),hours(h),days(d),YYYY-MM-DD HH:mm:ss,MM/DD/YYYY h:mm:ss a \\nExample:short\",\"*Last\":\"Last (required), the default unit (seconds) \\nExample: 60\",\"*Severity\":\"Alert severity (required) optional P1, P2, P3 \\nExample: P1\",\"*Summary\":\"Alert summary \\nExample: Cpu warning\",\"Description\":\"Alert description \\nExample: Alarm rule for cpu usage exceeding 10%\",\"Receiver\":\"Alert receiver, separated by commas \\nExample: admin / admin,root\",\"Notification method\":\"Alarm notification method. When the receiver is not empty, it is required. Multiple use commas to separate \\nExample: email / email,telephone\"}}', 1, 'alert rule 导入导出表头'); +INSERT INTO `sys_config` VALUES (221, 'asset_chart_tpl', '{\"name\":\"{{asset.sn}}\",\"type\":\"assetInfo\",\"span\":12,\"height\":4,\"unit\":2}', 1, 'asset添加时,默认chart配置'); +INSERT INTO `sys_config` VALUES (222, 'endpoint_chart_tpl', '{\"name\":\"{{endpoint.name}}\",\"type\":\"endpointInfo\",\"span\":12,\"height\":4,\"unit\":2}', 1, 'endpoint添加时,默认chart配置'); +INSERT INTO `sys_config` VALUES (223, 'ldap_timeout', '30', 1, '超时时间秒'); +INSERT INTO `sys_config` VALUES (224, 'storage_local_retention', '15', 1, 'prometheus 本地数据保存天数 单位 d'); +INSERT INTO `sys_config` VALUES (225, 'snmp_trap_listen_port', '162', 1, NULL); +INSERT INTO `sys_config` VALUES (226, 'i18n_mapping', '{\"chartType\":{\"en\":{\"line\":\"Line Chart\",\"bar\":\"Histogram\",\"table\":\"Table\",\"stackArea\":\"Stack Area\",\"singleStat\":\"SingleStat\",\"url\":\"URL\",\"alertList\":\"Alert list\",\"text\":\"Text\",\"group\":\"Group\",\"pie\":\"Pie\"},\"cn\":{\"line\":\"曲线图\",\"bar\":\"柱状图\",\"table\":\"表格\",\"stackArea\":\"堆叠区域图\",\"singleStat\":\"SingleStat\",\"url\":\"URL\",\"alertList\":\"告警列表\",\"text\":\"文本\",\"group\":\"图表组\",\"pie\":\"饼图\"}}}', 1, NULL); +INSERT INTO `sys_config` VALUES (227, 'chart_export_header', '{\"cn\":{\"*面板\":\"面板名称(必填) \\n示例: 系统面板/主面板 (使用 / 作为字符分隔,表示 父子节点关系)\",\"图表组名\":\"组名 \\n示例: default\",\"*图表名称\":\"图表名称(必填) \\n示例: CPU使用率\",\"*图表类型\":\"图表类型(必填) 可选: 曲线图,柱状图,表格,堆叠区域图,SingleStat,URL,告警列表,文本,图表组 \\n示例: 曲线图\",\"*宽度\":\"宽度(必填) 可选:1-12 \\n示例: 10\",\"*高度\":\"高度(必填),可选:1-12 \\n示例: 10\",\"单位\":\"单位(必填) 可选: \\nMisc: none,short,percent(0-100),percent(0.0-1.0),local format\\nData: bits,bytes,kilobytes,megabytes,gigabytes,terabytes,petabytes\\nDataRate: packets/sec,bits/sec,bytes/sec,kilobytes/sec,kilobits/sec,megabytes/sec,megabits/sec,gigabytes/sec,gigabits/sec,terabytes/sec,terabits/sec,petabytes/sec,petabits/sec\\nTime: Hertz(1/s),nanoseconds(ns),microseconds(us),milliseconds(ms),seconds(s),minutes(m),hours(h),days(d),YYYY-MM-DD HH:mm:ss,MM/DD/YYYY h:mm:ss a \\n示例: short\",\"*参数\":\"单位 根据type不同,内容不同,格式为JSON格式 \\n示例: {\\\"statistics\\\":\\\"average\\\"}\",\"元素\":\"当type=line,bar,stackArea时,包含 elements key,值为对象数组。\\n 示例:[{\\\"expression\\\":\\\"sum(up)\\\",\\\"legend\\\":\\\"test\\\"}]\"},\"en\":{\"*Panel Name\":\"Panel(Required) \\nExample: System panel/Main panel (use / as a character separation to indicate the relationship between parent and child nodes)\",\"Chart Group\":\"Group name \\nExample: default\",\"*Chart Title\":\"Chart title(Required) \\nExample: CPU usage\",\"*Chart Type\":\"Chart type(Required) Optional: Line Chart,Histogram,Table,Stack Area,SingleStat,URL,Alert list,Text,Group \\nExample: Line Chart\",\"*Width\":\"width(Required) Optional:1-12 \\nExample: 10\",\"*Height\":\"height(Required) Optional:1-12 \\nExample: 10\",\"Unit\":\"unit(Required) Optional: \\nMisc: none,short,percent(0-100),percent(0.0-1.0),local format\\nData: bits,bytes,kilobytes,megabytes,gigabytes,terabytes,petabytes\\nDataRate: packets/sec,bits/sec,bytes/sec,kilobytes/sec,kilobits/sec,megabytes/sec,megabits/sec,gigabytes/sec,gigabits/sec,terabytes/sec,terabits/sec,petabytes/sec,petabits/sec\\nTime: Hertz(1/s),nanoseconds(ns),microseconds(us),milliseconds(ms),seconds(s),minutes(m),hours(h),days(d),YYYY-MM-DD HH:mm:ss,MM/DD/YYYY h:mm:ss a \\nExample: short\",\"*Parameter\":\"Parameters match type,The format is JSON format \\nExample: {\\\"statistics\\\":\\\"average\\\"}\",\"Elements\":\"When the type is line, table, stackArea, singleStat, histogram, it contains elements key and the value is an object array.\\nExample:[{\\\"expression\\\":\\\"sum(up)\\\",\\\"legend\\\":\\\"test\\\"}]\"}}', 1, NULL); +INSERT INTO `sys_config` VALUES (228, 'asset_chart_export_header', '{\"cn\":{\"图表组名\":\"组名 \\n示例: default\",\"*图表名称\":\"图表名称(必填) \\n示例: CPU使用率\",\"*图表类型\":\"图表类型(必填) 可选: 曲线图,柱状图,表格,堆叠区域图,SingleStat,URL,告警列表,文本,图表组 \\n示例: 曲线图\",\"*宽度\":\"宽度(必填) 可选:1-12 \\n示例: 10\",\"*高度\":\"高度(必填),可选:1-12 \\n示例: 10\",\"单位\":\"单位(必填) 可选: \\nMisc: none,short,percent(0-100),percent(0.0-1.0),local format\\nData: bits,bytes,kilobytes,megabytes,gigabytes,terabytes,petabytes\\nDataRate: packets/sec,bits/sec,bytes/sec,kilobytes/sec,kilobits/sec,megabytes/sec,megabits/sec,gigabytes/sec,gigabits/sec,terabytes/sec,terabits/sec,petabytes/sec,petabits/sec\\nTime: Hertz(1/s),nanoseconds(ns),microseconds(us),milliseconds(ms),seconds(s),minutes(m),hours(h),days(d),YYYY-MM-DD HH:mm:ss,MM/DD/YYYY h:mm:ss a \\n示例: short\",\"*参数\":\"单位 根据type不同,内容不同,格式为JSON格式 \\n示例: {\\\"statistics\\\":\\\"average\\\"}\",\"元素\":\"当type=line,bar,stackArea时,包含 elements key,值为对象数组。\\n 示例:[{\\\"expression\\\":\\\"sum(up)\\\",\\\"legend\\\":\\\"test\\\"}]\"},\"en\":{\"Chart Group\":\"Group name \\nExample: default\",\"*Chart Title\":\"Chart title(Required) \\nExample: CPU usage\",\"*Chart Type\":\"Chart type(Required) Optional: Line Chart,Histogram,Table,Stack Area,SingleStat,URL,Alert list,Text,Group \\nExample: Line Chart\",\"*Width\":\"width(Required) Optional:1-12 \\nExample: 10\",\"*Height\":\"height(Required),Optional:1-12 \\nExample: 10\",\"Unit\":\"unit(Required) Optional: \\nMisc: none,short,percent(0-100),percent(0.0-1.0),local format\\nData: bits,bytes,kilobytes,megabytes,gigabytes,terabytes,petabytes\\nDataRate: packets/sec,bits/sec,bytes/sec,kilobytes/sec,kilobits/sec,megabytes/sec,megabits/sec,gigabytes/sec,gigabits/sec,terabytes/sec,terabits/sec,petabytes/sec,petabits/sec\\nTime: Hertz(1/s),nanoseconds(ns),microseconds(us),milliseconds(ms),seconds(s),minutes(m),hours(h),days(d),YYYY-MM-DD HH:mm:ss,MM/DD/YYYY h:mm:ss a \\nExample: short\",\"*Parameter\":\"Parameters match type,The format is JSON format \\nExample: {\\\"statistics\\\":\\\"average\\\"}\",\"Elements\":\"When the type is line, table, stackArea, singleStat, histogram, it contains elements key and the value is an object array.\\nExample:[{\\\"expression\\\":\\\"sum(up)\\\",\\\"legend\\\":\\\"test\\\"}]\"}}', 1, NULL); + +-- ---------------------------- +-- Table structure for sys_dict +-- ---------------------------- +DROP TABLE IF EXISTS `sys_dict`; +CREATE TABLE `sys_dict` ( + `id` bigint(19) NOT NULL AUTO_INCREMENT, + `name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '字典名称', + `type` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '字典类型', + `code` int(11) NOT NULL COMMENT '字典码', + `value` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '字典值', + `i18n_code` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT 'i18n code', + `order_num` int(11) NOT NULL DEFAULT 0 COMMENT '排序', + `remark` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注', + `del_flag` tinyint(4) NOT NULL DEFAULT 0 COMMENT '删除标记 1:删除,0:未删除', + `operator` bigint(19) NOT NULL COMMENT '操作人', + `op_time` datetime(0) NOT NULL COMMENT '操作时间', + `seq` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '全局唯一,用于导入撤销', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `type`(`type`, `code`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 13 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '系统字典表' ROW_FORMAT = Compact; + +-- ---------------------------- +-- Records of sys_dict +-- ---------------------------- +INSERT INTO `sys_dict` VALUES (1, '图表类型', 'chartType', 1, 'line', '', 1, '折线图', 0, 1, '2019-12-13 17:53:19', NULL); +INSERT INTO `sys_dict` VALUES (2, '图表类型', 'chartType', 2, 'bar', '', 2, '条形图', 0, 1, '2019-12-13 17:53:19', NULL); +INSERT INTO `sys_dict` VALUES (3, '图表类型', 'chartType', 3, 'table', '', 3, '表格', 0, 1, '2019-12-13 17:53:19', NULL); +INSERT INTO `sys_dict` VALUES (4, '图表类型', 'chartType', 4, 'stackArea', '', 4, '堆栈面积图', 0, 1, '2019-12-13 17:53:19', NULL); +INSERT INTO `sys_dict` VALUES (5, '图表类型', 'chartType', 5, 'singleStat', '', 5, 'singleStat', 0, 1, '2020-03-31 10:57:30', NULL); +INSERT INTO `sys_dict` VALUES (6, '图表类型', 'chartType', 6, 'url', '', 6, 'url', 0, 1, '2020-03-31 10:57:33', NULL); +INSERT INTO `sys_dict` VALUES (7, '图表类型', 'chartType', 7, 'alertList', '', 0, '告警', 0, 1, '2020-05-27 17:50:33', NULL); +INSERT INTO `sys_dict` VALUES (8, '图表类型', 'chartType', 8, 'text', '', 8, '告警', 0, 1, '2020-05-27 17:50:33', NULL); +INSERT INTO `sys_dict` VALUES (9, '图表类型', 'chartType', 9, 'pie', '', 9, '饼图', 0, 1, '2021-02-05 10:57:33', NULL); +INSERT INTO `sys_dict` VALUES (10, '图表类型', 'chartType', 10, 'group', '', 10, '组', 0, 1, '2021-04-06 14:30:18', NULL); +INSERT INTO `sys_dict` VALUES (11, '表达式类型', 'exprType', 1, 'normal', '', 1, '简单表达式', 0, 1, '2019-12-13 17:53:19', NULL); +INSERT INTO `sys_dict` VALUES (12, '表达式类型', 'exprType', 2, 'expert', '', 2, '用户输入表达式', 0, 1, '2019-12-13 17:53:19', NULL); + +-- ---------------------------- +-- Table structure for sys_i18n +-- ---------------------------- +DROP TABLE IF EXISTS `sys_i18n`; +CREATE TABLE `sys_i18n` ( + `id` bigint(19) NOT NULL COMMENT '主键', + `code` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'i18n code', + `lang` varchar(16) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '语言', + `value` varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '翻译值', + `remark` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '备注信息', + `operator` bigint(19) NOT NULL COMMENT '操作人', + `op_time` datetime(0) NOT NULL COMMENT '操作时间', + `del_flag` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '0' COMMENT '0正常,1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = 'i18n信息表' ROW_FORMAT = Compact; + +-- ---------------------------- +-- Records of sys_i18n +-- ---------------------------- + +-- ---------------------------- +-- Table structure for sys_log +-- ---------------------------- +DROP TABLE IF EXISTS `sys_log`; +CREATE TABLE `sys_log` ( + `id` int(10) NOT NULL AUTO_INCREMENT, + `user_id` int(10) NOT NULL DEFAULT -1, + `operation` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '用户操作', + `type` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '可选值\r\n\r\nasset\r\n\r\nendpoint\r\n\r\nproject\r\n\r\nmodule\r\n\r\nalert rule\r\n\r\nalert message\r\n\r\npanel\r\n\r\nchart\r\n\r\ndatacenter\r\n\r\ncabinet', + `opera_id` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '-1', + `method` varchar(512) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '请求方法', + `params` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '请求参数', + `time` bigint(19) NULL DEFAULT NULL COMMENT '执行时长(毫秒)', + `ip` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT 'IP地址', + `state` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '请求结果', + `response` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL, + `exception` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL, + `create_date` datetime(0) NOT NULL COMMENT '创建时间', + `api_key_id` int(10) NULL DEFAULT NULL COMMENT '关联 sys_api_key.id', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_type`(`type`) USING BTREE, + INDEX `idx_operation`(`operation`) USING BTREE, + INDEX `idx_time`(`time`) USING BTREE, + INDEX `idx_ip`(`ip`) USING BTREE, + INDEX `idx_user_id`(`user_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '系统日志表' ROW_FORMAT = Compact; + +-- ---------------------------- +-- Records of sys_log +-- ---------------------------- + +-- ---------------------------- +-- Table structure for sys_menu +-- ---------------------------- +DROP TABLE IF EXISTS `sys_menu`; +CREATE TABLE `sys_menu` ( + `id` int(10) NOT NULL AUTO_INCREMENT, + `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '唯一主键,前端根据此字段判断是否显示按钮或菜单', + `i18n` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `parent_id` int(10) NOT NULL, + `perms` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '多个用逗号分隔,后台根据此字段判断用户是否有权限访问接口', + `type` int(1) NOT NULL COMMENT '1:菜单 2:按钮', + `route` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `order_num` int(10) NOT NULL COMMENT '默认: 1', + `icon` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'nz-icon nz-alert-add', + `required` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '必要权限,如编辑按钮需要 勾选查看权限\r\n填写内容为 sys_menu.id,多个逗号分隔\r\n1,2', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 2191 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of sys_menu +-- ---------------------------- +INSERT INTO `sys_menu` VALUES (1, 'dashboard', 'dashboard', 'dashboard.title', 0, '', 1, '', 1, 'nz-icon nz-icon-menu-dashboard', ''); +INSERT INTO `sys_menu` VALUES (2, 'overview', 'overview', 'dashboard.overview.title', 1, '', 1, '/overview', 1, '', ''); +INSERT INTO `sys_menu` VALUES (3, 'panel', 'panel', 'dashboard.panel.title', 1, '', 1, '/panel', 2, '', ''); +INSERT INTO `sys_menu` VALUES (4, 'explore', 'explore', 'dashboard.metricPreview.title', 1, '', 1, '/explore', 3, '', ''); +INSERT INTO `sys_menu` VALUES (5, 'asset', 'asset', 'overall.asset', 2147, '', 1, '/asset', 1, '', ''); +INSERT INTO `sys_menu` VALUES (6, 'monitor', 'monitor', 'overall.monitor', 0, '', 1, '', 3, 'nz-icon nz-icon-menu-project', ''); +INSERT INTO `sys_menu` VALUES (7, 'alert', 'alert', 'alert.alert', 0, '', 1, '', 4, 'nz-icon nz-icon-menu-alert', ''); +INSERT INTO `sys_menu` VALUES (8, 'alertMessage', 'alertMessage', 'alert.alertMessage', 7, '', 1, '/alertMessage', 1, '', ''); +INSERT INTO `sys_menu` VALUES (9, 'alertRule', 'alertRule', 'alert.alertRule', 7, '', 1, '/alertRule', 2, '', ''); +INSERT INTO `sys_menu` VALUES (10, 'settings', 'settings', 'overall.config', 0, '', 1, '', 5, 'nz-icon nz-icon-menu-setting', ''); +INSERT INTO `sys_menu` VALUES (11, 'User', 'user', 'config.user.user', 2149, '', 1, '/user', 1, '', ''); +INSERT INTO `sys_menu` VALUES (12, 'role', 'role', 'config.roles.roles', 2149, '', 1, '/roles', 2, '', ''); +INSERT INTO `sys_menu` VALUES (13, 'Agent', 'agent', 'config.agent.agent.agent', 10, '', 1, '/agent', 3, '', ''); +INSERT INTO `sys_menu` VALUES (14, 'dc', 'dc', 'config.dc.dc', 10, '', 1, '/dc', 1, '', ''); +INSERT INTO `sys_menu` VALUES (15, 'model', 'model', 'config.model.model', 2147, '', 1, '/model', 1, '', ''); +INSERT INTO `sys_menu` VALUES (16, 'SNMP', 'snmp', 'SNMP', 10, '', 1, '/snmp', 6, '', ''); +INSERT INTO `sys_menu` VALUES (17, 'system', 'system', 'config.system.system', 10, '', 1, '/system', 7, '', ''); +INSERT INTO `sys_menu` VALUES (18, 'Terminal log', 'terminalLog', 'config.terminallog.terminallog', 2149, '', 1, '/terminalLog', 12, '', ''); +INSERT INTO `sys_menu` VALUES (19, 'operationLog', 'operationLog', 'config.operationlog.operationlog', 2149, '', 1, '/operationLog', 9, '', ''); +INSERT INTO `sys_menu` VALUES (20, 'about', 'about', 'overall.about', 0, '', 1, '/about', 99, 'nz-icon nz-icon-about', ''); +INSERT INTO `sys_menu` VALUES (301, 'Add', 'panel_add', 'buttons.add', 3, 'visual:panel:save', 2, '', 10, '', ''); +INSERT INTO `sys_menu` VALUES (302, 'Edit panel', 'panel_edit', 'buttons.edit', 3, 'visual:panel:update', 2, '', 15, '', ''); +INSERT INTO `sys_menu` VALUES (303, 'Delete panel', 'panel_delete', 'buttons.delete', 3, 'visual:panel:delete', 2, '', 20, '', ''); +INSERT INTO `sys_menu` VALUES (305, 'Add chart', 'panel_chart_add', 'buttons.panel.addChart', 3, 'visual:chart:save', 2, '', 30, '', ''); +INSERT INTO `sys_menu` VALUES (308, 'Edit chart', 'panel_chart_edit', 'buttons.panel.editChart', 3, 'visual:chart:update', 2, '', 45, '', ''); +INSERT INTO `sys_menu` VALUES (310, 'Delete chart', 'panel_chart_delete', 'buttons.panel.deleteChart', 3, 'visual:chart:delete', 2, '', 55, '', ''); +INSERT INTO `sys_menu` VALUES (312, 'panel_view', 'panel_view', 'buttons.view', 3, '', 2, '', 5, '', ''); +INSERT INTO `sys_menu` VALUES (501, 'Add asset', 'asset_add', 'buttons.add', 5, 'asset:save', 2, '', 10, '', ''); +INSERT INTO `sys_menu` VALUES (502, 'Edit asset', 'asset_edit', 'buttons.edit', 5, 'asset:update', 2, '', 15, '', ''); +INSERT INTO `sys_menu` VALUES (504, 'asset_delete', 'asset_delete', 'buttons.delete', 5, 'asset:delete', 2, '', 25, '', ''); +INSERT INTO `sys_menu` VALUES (508, 'asset_connect', 'asset_connect', 'buttons.asset.connect', 5, '', 2, '', 45, '', ''); +INSERT INTO `sys_menu` VALUES (529, 'asset_view', 'asset_view', 'buttons.asset.view', 5, '', 2, '', 5, '', ''); +INSERT INTO `sys_menu` VALUES (601, 'project_edit', 'project_edit', 'buttons.edit', 2144, 'project:update', 2, '', 15, '', ''); +INSERT INTO `sys_menu` VALUES (603, 'project_delete', 'project_delete', 'buttons.delete', 2144, 'project:delete', 2, '', 20, '', ''); +INSERT INTO `sys_menu` VALUES (606, 'monitor_module_edit', 'monitor_module_edit', 'buttons.edit', 2145, 'module:update', 2, '', 15, '', ''); +INSERT INTO `sys_menu` VALUES (608, 'monitor_module_delete', 'monitor_module_delete', 'buttons.delete', 2145, 'module:delete', 2, '', 20, '', ''); +INSERT INTO `sys_menu` VALUES (609, 'monitor_endpoint_add', 'monitor_endpoint_add', 'buttons.add', 2146, 'endpoint:save', 2, '', 10, '', ''); +INSERT INTO `sys_menu` VALUES (610, 'monitor_endpoint_edit', 'monitor_endpoint_edit', 'buttons.edit', 2146, 'endpoint:update', 2, '', 15, '', ''); +INSERT INTO `sys_menu` VALUES (611, 'monitor_endpoint_delete', 'monitor_endpoint_delete', 'buttons.delete', 2146, 'endpoint:delete', 2, '', 20, '', ''); +INSERT INTO `sys_menu` VALUES (622, 'monitor_module_add', 'monitor_module_add', 'buttons.add', 2145, 'module:save', 2, '', 10, '', ''); +INSERT INTO `sys_menu` VALUES (623, 'project_view', 'project_view', 'buttons.view', 2144, '', 2, '', 5, '', ''); +INSERT INTO `sys_menu` VALUES (801, 'Expire message', 'alertMessage_expired', 'buttons.expired', 8, '', 2, '', 10, '', ''); +INSERT INTO `sys_menu` VALUES (803, 'View message', 'alertMessage_view', 'buttons.view', 8, '', 2, '', 5, '', ''); +INSERT INTO `sys_menu` VALUES (901, 'Add rule', 'alertRule_add', 'buttons.add', 9, 'alert:rule:save', 2, '', 10, '', ''); +INSERT INTO `sys_menu` VALUES (902, 'Edit rule', 'alertRule_edit', 'buttons.edit', 9, 'alert:rule:update', 2, '', 15, '', ''); +INSERT INTO `sys_menu` VALUES (903, 'Delete rule', 'alertRule_delete', 'buttons.delete', 9, 'alert:rule:delete', 2, '', 20, '', ''); +INSERT INTO `sys_menu` VALUES (910, 'View rule', 'alertRule_view', 'buttons.view', 9, '', 2, '', 5, '', ''); +INSERT INTO `sys_menu` VALUES (1101, 'Add user', 'user_add', 'buttons.add', 11, 'sys:user:save', 2, '', 10, '', ''); +INSERT INTO `sys_menu` VALUES (1102, 'Edit user', 'user_edit', 'buttons.edit', 11, 'sys:user:update', 2, '', 15, '', ''); +INSERT INTO `sys_menu` VALUES (1103, 'Delete user', 'user_delete', 'buttons.delete', 11, 'sys:user:delete', 2, '', 20, '', ''); +INSERT INTO `sys_menu` VALUES (1105, 'View user', 'user_view', 'buttons.view', 11, '', 2, '', 5, '', ''); +INSERT INTO `sys_menu` VALUES (1201, 'Add role', 'role_add', 'buttons.add', 12, 'sys:role:save', 2, '', 10, '', ''); +INSERT INTO `sys_menu` VALUES (1202, 'Edit role', 'role_edit', 'buttons.edit', 12, 'sys:role:update', 2, '', 15, '', ''); +INSERT INTO `sys_menu` VALUES (1203, 'Delete role', 'role_delete', 'buttons.delete', 12, 'sys:role:delete', 2, '', 20, '', ''); +INSERT INTO `sys_menu` VALUES (1205, 'View role', 'role_view', 'buttons.view', 12, '', 2, '', 5, '', ''); +INSERT INTO `sys_menu` VALUES (1301, 'Add agent', 'agent_add', 'buttons.add', 13, 'promserver:save', 2, '', 10, '', ''); +INSERT INTO `sys_menu` VALUES (1302, 'Edit agent', 'agent_edit', 'buttons.edit', 13, 'promserver:update', 2, '', 15, '', ''); +INSERT INTO `sys_menu` VALUES (1303, 'Delete agent', 'agent_delete', 'buttons.delete', 13, 'promserver:delete', 2, '', 20, '', ''); +INSERT INTO `sys_menu` VALUES (1305, 'View agent', 'agent_view', 'buttons.view', 13, '', 2, '', 5, '', ''); +INSERT INTO `sys_menu` VALUES (1401, 'Add data center', 'dc_add', 'buttons.add', 14, 'dc:save,cabinet:save', 2, '', 10, '', ''); +INSERT INTO `sys_menu` VALUES (1402, 'Edit data center', 'dc_edit', 'buttons.edit', 14, 'dc:update,cabinet:update', 2, '', 15, '', ''); +INSERT INTO `sys_menu` VALUES (1403, 'Delete data center', 'dc_delete', 'buttons.delete', 14, 'dc:delete,cabinet:delete', 2, '', 20, '', ''); +INSERT INTO `sys_menu` VALUES (1411, 'View data center', 'dc_view', 'buttons.view', 14, '', 2, '', 5, '', ''); +INSERT INTO `sys_menu` VALUES (1501, 'Add model', 'model_add', 'buttons.add', 15, 'asset:model:save,asset:brand:save', 2, '', 10, '', ''); +INSERT INTO `sys_menu` VALUES (1502, 'Edit model', 'model_edit', 'buttons.edit', 15, 'asset:model:update,asset:brand:update', 2, '', 15, '', ''); +INSERT INTO `sys_menu` VALUES (1503, 'Delete model', 'model_delete', 'buttons.delete', 15, 'asset:model:delete,asset:brand:delete', 2, '', 20, '', ''); +INSERT INTO `sys_menu` VALUES (1514, 'View model', 'model_view', 'buttons.view', 15, '', 2, '', 5, '', ''); +INSERT INTO `sys_menu` VALUES (1602, 'Add MIB file', 'snmp_mibFile_add', 'buttons.snmp.add', 16, 'sys:mib:save', 2, '', 5, '', ''); +INSERT INTO `sys_menu` VALUES (1603, 'Edit MIB file', 'snmp_mibFile_edit', 'buttons.snmp.edit', 16, 'sys:mib:update', 2, '', 15, '', ''); +INSERT INTO `sys_menu` VALUES (1604, 'Delete MIB file', 'snmp_mibFile_delete', 'buttons.snmp.delete', 16, 'sys:mib:delete', 2, '', 20, '', ''); +INSERT INTO `sys_menu` VALUES (1607, 'View MIB file', 'snmp_mibFile_view', 'buttons.snmp.view', 16, '', 2, '', 1, '', ''); +INSERT INTO `sys_menu` VALUES (1701, '基础设置', 'system_basic_save', 'buttons.system.basic', 17, 'sys:config:update', 2, '', 1, '', ''); +INSERT INTO `sys_menu` VALUES (1702, 'system_email_save', 'system_email_save', 'buttons.system.email', 17, 'sys:config:update', 2, '', 0, '', ''); +INSERT INTO `sys_menu` VALUES (1703, 'system_terminal_save', 'system_terminal_save', 'buttons.system.terminal', 17, 'sys:config:update', 2, '', 0, '', ''); +INSERT INTO `sys_menu` VALUES (1704, 'system_ldap_save', 'system_ldap_save', 'buttons.system.ldap', 17, 'sys:config:update', 2, '', 0, '', ''); +INSERT INTO `sys_menu` VALUES (1705, 'system_notification_add', 'system_notification_add', 'buttons.add', 2159, 'alert:notify:save', 2, '', 10, '', ''); +INSERT INTO `sys_menu` VALUES (1706, 'system_notification_edit', 'system_notification_edit', 'buttons.edit', 2159, 'alert:notify:update', 2, '', 15, '', ''); +INSERT INTO `sys_menu` VALUES (1707, 'system_notification_view', 'system_notification_view', 'buttons.view', 2159, '', 2, '', 5, '', ''); +INSERT INTO `sys_menu` VALUES (1708, 'system_notification_delete', 'system_notification_delete', 'buttons.delete', 2159, 'alert:notify:delete', 2, '', 20, '', ''); +INSERT INTO `sys_menu` VALUES (1709, 'system_link_view', 'system_link_view', 'buttons.view', 2160, '', 2, '', 5, '', ''); +INSERT INTO `sys_menu` VALUES (1710, 'system_link_edit', 'system_link_edit', 'buttons.edit', 2160, 'sys:link:update', 2, '', 15, '', ''); +INSERT INTO `sys_menu` VALUES (1711, 'system_link_add', 'system_link_add', 'buttons.add', 2160, 'sys:link:save', 2, '', 10, '', ''); +INSERT INTO `sys_menu` VALUES (1712, 'system_link_delete', 'system_link_delete', 'buttons.delete', 2160, 'sys:link:delete', 2, '', 20, '', ''); +INSERT INTO `sys_menu` VALUES (2114, 'alertSilence', 'alertSilence_list', 'alert.silence.silence', 7, '', 1, '/alertSilence', 3, '', ''); +INSERT INTO `sys_menu` VALUES (2115, 'View alert silence', 'alertSilence_view', 'buttons.view', 2114, '', 2, '', 3, '', ''); +INSERT INTO `sys_menu` VALUES (2116, 'Add alert silence', 'alertSilence_add', 'buttons.add', 2114, 'alert:silence:save', 2, '', 5, '', ''); +INSERT INTO `sys_menu` VALUES (2117, 'Edit alert silence', 'alertSilence_edit', 'buttons.edit', 2114, 'alert:silence:update', 2, '', 6, '', ''); +INSERT INTO `sys_menu` VALUES (2118, 'expressionTemplate', 'exprTemp', 'config.exprTemp.exprTemp', 2180, '', 3, '/exprTemp', 6, '', ''); +INSERT INTO `sys_menu` VALUES (2120, 'Edit expression template', 'expressionTemplate_edit', 'buttons.edit', 2118, 'expression:tmpl:update', 2, '', 15, '', ''); +INSERT INTO `sys_menu` VALUES (2121, 'Delete expression template', 'expressionTemplate_delete', 'buttons.delete', 2118, 'expression:tmpl:delete', 2, '', 20, '', ''); +INSERT INTO `sys_menu` VALUES (2122, 'View expression template', 'expressionTemplate_view', 'buttons.view', 2118, '', 2, '', 1, '', ''); +INSERT INTO `sys_menu` VALUES (2123, 'Add expression template', 'expressionTemplate_add', 'buttons.add', 2118, 'expression:tmpl:save', 2, '', 10, '', ''); +INSERT INTO `sys_menu` VALUES (2127, 'asset type to add', 'assetType_toAdd', 'buttons.assetType.toAdd', 2125, 'asset:type:save', 2, '', 1, '', ''); +INSERT INTO `sys_menu` VALUES (2128, 'Asset type view', 'assetType_view', 'buttons.assetType.view', 2125, '', 2, '', 2, '', ''); +INSERT INTO `sys_menu` VALUES (2129, 'Asset type to edit', 'assetType_toEdit', 'buttons.assetType.toEdit', 2125, 'asset:type:update', 2, '', 3, '', ''); +INSERT INTO `sys_menu` VALUES (2130, 'Asset type delete', 'assetType_delete', 'buttons.assetType.delete', 2125, 'asset:type:delete', 2, '', 4, '', ''); +INSERT INTO `sys_menu` VALUES (2131, 'Asset state view', 'assetState_view', 'buttons.assetState.view', 2126, '', 2, '', 1, '', ''); +INSERT INTO `sys_menu` VALUES (2132, 'Asset state to add', 'assetState_toAdd', 'buttons.assetState.toAdd', 2126, 'asset:state:save', 2, '', 2, '', ''); +INSERT INTO `sys_menu` VALUES (2133, 'Asset state to edit', 'assetState_toEdit', 'buttons.assetState.toEdit', 2126, 'asset:state:update', 2, '', 3, '', ''); +INSERT INTO `sys_menu` VALUES (2134, 'Asset state delete', 'assetState_delete', 'buttons.assetState.delete', 2126, 'asset:state:delete', 2, '', 4, '', ''); +INSERT INTO `sys_menu` VALUES (2136, 'Asset label', 'assetLabel', 'config.assetLabel.assetLabel', 2147, '', 1, '/assetLabel', 2, '', ''); +INSERT INTO `sys_menu` VALUES (2137, 'Add asset label', 'asset_label_add', 'buttons.add', 2136, 'field:meta:save,field:group:save', 2, '', 1, '', ''); +INSERT INTO `sys_menu` VALUES (2138, 'Edit asset label', 'asset_label_edit', 'buttons.edit', 2136, 'field:meta:update,field:group:update', 2, '', 5, '', ''); +INSERT INTO `sys_menu` VALUES (2139, 'Delete asset label', 'asset_label_delete', 'buttons.delete', 2136, 'field:meta:delete,field:group:delete', 2, '', 10, '', ''); +INSERT INTO `sys_menu` VALUES (2144, 'project', 'project', 'overall.project', 6, '', 1, '/monitor/project', 1, '', ''); +INSERT INTO `sys_menu` VALUES (2145, 'module', 'module', 'project.module.module', 6, '', 1, '/monitor/module', 5, '', ''); +INSERT INTO `sys_menu` VALUES (2146, 'endpoint', 'endpoint', 'project.endpoint.endpoint', 6, '', 1, '/monitor/endpoint', 10, '', ''); +INSERT INTO `sys_menu` VALUES (2147, 'Assets', 'assets', 'overall.asset', 0, '', 1, '', 2, 'nz-icon nz-icon-menu-assets', ''); +INSERT INTO `sys_menu` VALUES (2149, 'Administration', 'administration', 'overall.administration', 0, '', 1, '', 50, 'nz-icon nz-icon-personal-circle', ''); +INSERT INTO `sys_menu` VALUES (2150, 'Kill terminal', 'terminal_kill', 'buttons.terminalLog.kill', 18, 'terminal:kill', 2, '', 1, '', ''); +INSERT INTO `sys_menu` VALUES (2151, 'Monitor terminal', 'terminal_monitor', 'buttons.terminalLog.monitor', 18, '', 2, '', 5, '', ''); +INSERT INTO `sys_menu` VALUES (2153, 'MIB browser', 'mibBrowser', 'buttons.snmp.mibBrowser', 16, '', 2, '', 20, '', ''); +INSERT INTO `sys_menu` VALUES (2155, 'View credential', 'snmp_credential_view', 'buttons.credential.view', 16, '', 2, '', 25, '', ''); +INSERT INTO `sys_menu` VALUES (2156, 'Add credential', 'credential_add', 'buttons.credential.add', 16, 'snmp:credential:save', 2, '', 30, '', ''); +INSERT INTO `sys_menu` VALUES (2157, 'Edit credential', 'credential_edit', 'buttons.credential.edit', 16, 'snmp:credential:update', 2, '', 35, '', ''); +INSERT INTO `sys_menu` VALUES (2158, 'Delete credential', 'credential_delete', 'buttons.credential.delete', 16, 'snmp:credential:delete', 2, '', 40, '', ''); +INSERT INTO `sys_menu` VALUES (2159, 'Notification', 'notification', 'system.notification.notification', 17, '', 3, '', 1, '', ''); +INSERT INTO `sys_menu` VALUES (2160, 'Link', 'link', 'config.system.link.link', 17, '', 3, '', 10, '', ''); +INSERT INTO `sys_menu` VALUES (2161, 'Add project', 'project_add', 'buttons.add', 2144, 'project:save', 2, '', 10, '', ''); +INSERT INTO `sys_menu` VALUES (2162, 'View module', 'monitor_module_view', 'buttons.view', 2145, '', 2, '', 5, '', ''); +INSERT INTO `sys_menu` VALUES (2163, 'Expire', 'alertSilence_expire', 'buttons.expired', 2114, '', 2, '', 20, '', ''); +INSERT INTO `sys_menu` VALUES (2164, 'Browser', 'snmp_mib_browser', 'config.mib.mibBrowser', 16, '', 3, '/mib/browser', 2, '', ''); +INSERT INTO `sys_menu` VALUES (2165, 'Mib file', 'snmp_mib_file', 'config.mib.mib', 16, '', 3, '/mib/file', 1, '', ''); +INSERT INTO `sys_menu` VALUES (2166, 'Credentials', 'snmp_mib_credentials', 'config.mib.credentials', 16, '', 3, '/mib/credentials', 3, '', ''); +INSERT INTO `sys_menu` VALUES (2169, 'projectTopoIconList', 'topo_icon_list', 'project.topo.icon.list', 2144, '', 2, '', 1, '', ''); +INSERT INTO `sys_menu` VALUES (2170, 'projectTopoIconDelete', 'topo_icon_delete', 'project.topo.icon.delete', 2144, 'project:topo:icon:delete', 2, '', 1, '', ''); +INSERT INTO `sys_menu` VALUES (2171, 'project:topo:icon:save', 'topo_icon_save', 'project.topo.icon.save', 2144, 'project:topo:icon:save', 2, '', 1, '', ''); +INSERT INTO `sys_menu` VALUES (2172, 'projectTopoIconInfo', 'topo_icon_info', 'project.topo.icon.info', 2144, '', 2, '', 1, '', ''); +INSERT INTO `sys_menu` VALUES (2173, 'projectTopoList', 'topo_list', 'project.topo.list', 2144, '', 2, '', 1, '', ''); +INSERT INTO `sys_menu` VALUES (2174, 'projectTopoUpdate', 'project_topo_update', 'project.topo.update', 2144, 'project:topo:update', 2, '', 1, '', ''); +INSERT INTO `sys_menu` VALUES (2176, 'endpointList', 'endpoint_list', 'project.endpoint.list', 2146, '', 2, '', 1, '', ''); +INSERT INTO `sys_menu` VALUES (2180, 'template', 'template', 'overall.template', 10, '', 1, '/template', 4, '', ''); +INSERT INTO `sys_menu` VALUES (2181, 'exprTemp', 'config.exprTemp', 'overall.exprTemp', 2180, '', 3, '', 1, '', ''); +INSERT INTO `sys_menu` VALUES (2182, 'bbuttons.system.reset', 'system_reset_reset', 'system.reset.reset', 17, 'sys:config:reset', 2, '', 1, '', ''); +INSERT INTO `sys_menu` VALUES (2185, 'addChartTemp', 'addChartTemp', 'dashboard.addChartTemp', 3, 'visual:chart:save', 2, '', 1, '', ''); +INSERT INTO `sys_menu` VALUES (2187, 'apiKey', 'apiKey', 'system.apikey.apiKey', 17, '', 3, '', 1, '', ''); +INSERT INTO `sys_menu` VALUES (2188, 'buttons.system.apikey.add', 'system_apiKey_add', 'buttons.system.apiKey.add', 17, 'sys:apiKey:save', 2, '', 1, '', ''); +INSERT INTO `sys_menu` VALUES (2189, 'buttons.system.apiKey.edit', 'system_apiKey_edit', 'buttons.system.apiKey.edit', 17, 'sys:apiKey:save', 2, '', 2, '', ''); +INSERT INTO `sys_menu` VALUES (2190, 'buttons.system.apiKey.delete', 'system_apiKey_delete', 'buttons.system.apiKey.delete', 17, 'sys:apiKey:delete', 2, '', 3, '', ''); + +-- ---------------------------- +-- Table structure for sys_role +-- ---------------------------- +DROP TABLE IF EXISTS `sys_role`; +CREATE TABLE `sys_role` ( + `id` int(10) NOT NULL AUTO_INCREMENT, + `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `i18n` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `remark` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `build_in` int(1) NOT NULL DEFAULT 0 COMMENT '可选值:\r\n\r\n0:非内置\r\n\r\n1:内置', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 11 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of sys_role +-- ---------------------------- +INSERT INTO `sys_role` VALUES (1, 'admin', 'admin', 'The system built-in administrator role', 1); +INSERT INTO `sys_role` VALUES (2, 'common', 'common', 'The system built-in common user role', 1); + +-- ---------------------------- +-- Table structure for sys_role_menu +-- ---------------------------- +DROP TABLE IF EXISTS `sys_role_menu`; +CREATE TABLE `sys_role_menu` ( + `id` int(10) NOT NULL AUTO_INCREMENT, + `role_id` int(10) NOT NULL, + `menu_id` int(10) NOT NULL, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 256 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of sys_role_menu +-- ---------------------------- +INSERT INTO `sys_role_menu` VALUES (1, 1, 1); +INSERT INTO `sys_role_menu` VALUES (2, 1, 2); +INSERT INTO `sys_role_menu` VALUES (3, 1, 3); +INSERT INTO `sys_role_menu` VALUES (4, 1, 4); +INSERT INTO `sys_role_menu` VALUES (5, 1, 5); +INSERT INTO `sys_role_menu` VALUES (6, 1, 6); +INSERT INTO `sys_role_menu` VALUES (7, 1, 7); +INSERT INTO `sys_role_menu` VALUES (8, 1, 8); +INSERT INTO `sys_role_menu` VALUES (9, 1, 9); +INSERT INTO `sys_role_menu` VALUES (10, 1, 10); +INSERT INTO `sys_role_menu` VALUES (11, 1, 11); +INSERT INTO `sys_role_menu` VALUES (12, 1, 12); +INSERT INTO `sys_role_menu` VALUES (13, 1, 13); +INSERT INTO `sys_role_menu` VALUES (14, 1, 14); +INSERT INTO `sys_role_menu` VALUES (15, 1, 15); +INSERT INTO `sys_role_menu` VALUES (16, 1, 16); +INSERT INTO `sys_role_menu` VALUES (17, 1, 17); +INSERT INTO `sys_role_menu` VALUES (18, 1, 18); +INSERT INTO `sys_role_menu` VALUES (19, 1, 19); +INSERT INTO `sys_role_menu` VALUES (20, 1, 20); +INSERT INTO `sys_role_menu` VALUES (21, 1, 301); +INSERT INTO `sys_role_menu` VALUES (22, 1, 302); +INSERT INTO `sys_role_menu` VALUES (23, 1, 303); +INSERT INTO `sys_role_menu` VALUES (24, 1, 305); +INSERT INTO `sys_role_menu` VALUES (25, 1, 308); +INSERT INTO `sys_role_menu` VALUES (26, 1, 310); +INSERT INTO `sys_role_menu` VALUES (27, 1, 312); +INSERT INTO `sys_role_menu` VALUES (28, 1, 501); +INSERT INTO `sys_role_menu` VALUES (29, 1, 502); +INSERT INTO `sys_role_menu` VALUES (30, 1, 504); +INSERT INTO `sys_role_menu` VALUES (31, 1, 508); +INSERT INTO `sys_role_menu` VALUES (32, 1, 529); +INSERT INTO `sys_role_menu` VALUES (33, 1, 601); +INSERT INTO `sys_role_menu` VALUES (34, 1, 603); +INSERT INTO `sys_role_menu` VALUES (35, 1, 606); +INSERT INTO `sys_role_menu` VALUES (36, 1, 608); +INSERT INTO `sys_role_menu` VALUES (37, 1, 609); +INSERT INTO `sys_role_menu` VALUES (38, 1, 610); +INSERT INTO `sys_role_menu` VALUES (39, 1, 611); +INSERT INTO `sys_role_menu` VALUES (40, 1, 622); +INSERT INTO `sys_role_menu` VALUES (41, 1, 623); +INSERT INTO `sys_role_menu` VALUES (42, 1, 801); +INSERT INTO `sys_role_menu` VALUES (43, 1, 803); +INSERT INTO `sys_role_menu` VALUES (44, 1, 901); +INSERT INTO `sys_role_menu` VALUES (45, 1, 902); +INSERT INTO `sys_role_menu` VALUES (46, 1, 903); +INSERT INTO `sys_role_menu` VALUES (47, 1, 910); +INSERT INTO `sys_role_menu` VALUES (48, 1, 1101); +INSERT INTO `sys_role_menu` VALUES (49, 1, 1102); +INSERT INTO `sys_role_menu` VALUES (50, 1, 1103); +INSERT INTO `sys_role_menu` VALUES (51, 1, 1105); +INSERT INTO `sys_role_menu` VALUES (52, 1, 1201); +INSERT INTO `sys_role_menu` VALUES (53, 1, 1202); +INSERT INTO `sys_role_menu` VALUES (54, 1, 1203); +INSERT INTO `sys_role_menu` VALUES (55, 1, 1205); +INSERT INTO `sys_role_menu` VALUES (56, 1, 1301); +INSERT INTO `sys_role_menu` VALUES (57, 1, 1302); +INSERT INTO `sys_role_menu` VALUES (58, 1, 1303); +INSERT INTO `sys_role_menu` VALUES (59, 1, 1305); +INSERT INTO `sys_role_menu` VALUES (60, 1, 1401); +INSERT INTO `sys_role_menu` VALUES (61, 1, 1402); +INSERT INTO `sys_role_menu` VALUES (62, 1, 1403); +INSERT INTO `sys_role_menu` VALUES (63, 1, 1411); +INSERT INTO `sys_role_menu` VALUES (64, 1, 1501); +INSERT INTO `sys_role_menu` VALUES (65, 1, 1502); +INSERT INTO `sys_role_menu` VALUES (66, 1, 1503); +INSERT INTO `sys_role_menu` VALUES (67, 1, 1514); +INSERT INTO `sys_role_menu` VALUES (68, 1, 1602); +INSERT INTO `sys_role_menu` VALUES (69, 1, 1603); +INSERT INTO `sys_role_menu` VALUES (70, 1, 1604); +INSERT INTO `sys_role_menu` VALUES (71, 1, 1607); +INSERT INTO `sys_role_menu` VALUES (72, 1, 1701); +INSERT INTO `sys_role_menu` VALUES (73, 1, 1702); +INSERT INTO `sys_role_menu` VALUES (74, 1, 1703); +INSERT INTO `sys_role_menu` VALUES (75, 1, 1704); +INSERT INTO `sys_role_menu` VALUES (76, 1, 1705); +INSERT INTO `sys_role_menu` VALUES (77, 1, 1706); +INSERT INTO `sys_role_menu` VALUES (78, 1, 1707); +INSERT INTO `sys_role_menu` VALUES (79, 1, 1708); +INSERT INTO `sys_role_menu` VALUES (80, 1, 1709); +INSERT INTO `sys_role_menu` VALUES (81, 1, 1710); +INSERT INTO `sys_role_menu` VALUES (82, 1, 1711); +INSERT INTO `sys_role_menu` VALUES (83, 1, 1712); +INSERT INTO `sys_role_menu` VALUES (84, 1, 2114); +INSERT INTO `sys_role_menu` VALUES (85, 1, 2115); +INSERT INTO `sys_role_menu` VALUES (86, 1, 2116); +INSERT INTO `sys_role_menu` VALUES (87, 1, 2117); +INSERT INTO `sys_role_menu` VALUES (88, 1, 2118); +INSERT INTO `sys_role_menu` VALUES (89, 1, 2120); +INSERT INTO `sys_role_menu` VALUES (90, 1, 2121); +INSERT INTO `sys_role_menu` VALUES (91, 1, 2122); +INSERT INTO `sys_role_menu` VALUES (92, 1, 2123); +INSERT INTO `sys_role_menu` VALUES (93, 1, 2127); +INSERT INTO `sys_role_menu` VALUES (94, 1, 2128); +INSERT INTO `sys_role_menu` VALUES (95, 1, 2129); +INSERT INTO `sys_role_menu` VALUES (96, 1, 2130); +INSERT INTO `sys_role_menu` VALUES (97, 1, 2131); +INSERT INTO `sys_role_menu` VALUES (98, 1, 2132); +INSERT INTO `sys_role_menu` VALUES (99, 1, 2133); +INSERT INTO `sys_role_menu` VALUES (100, 1, 2134); +INSERT INTO `sys_role_menu` VALUES (101, 1, 2136); +INSERT INTO `sys_role_menu` VALUES (102, 1, 2137); +INSERT INTO `sys_role_menu` VALUES (103, 1, 2138); +INSERT INTO `sys_role_menu` VALUES (104, 1, 2139); +INSERT INTO `sys_role_menu` VALUES (105, 1, 2144); +INSERT INTO `sys_role_menu` VALUES (106, 1, 2145); +INSERT INTO `sys_role_menu` VALUES (107, 1, 2146); +INSERT INTO `sys_role_menu` VALUES (108, 1, 2147); +INSERT INTO `sys_role_menu` VALUES (109, 1, 2148); +INSERT INTO `sys_role_menu` VALUES (110, 1, 2149); +INSERT INTO `sys_role_menu` VALUES (111, 1, 2150); +INSERT INTO `sys_role_menu` VALUES (112, 1, 2151); +INSERT INTO `sys_role_menu` VALUES (113, 1, 2153); +INSERT INTO `sys_role_menu` VALUES (114, 1, 2155); +INSERT INTO `sys_role_menu` VALUES (115, 1, 2156); +INSERT INTO `sys_role_menu` VALUES (116, 1, 2157); +INSERT INTO `sys_role_menu` VALUES (117, 1, 2158); +INSERT INTO `sys_role_menu` VALUES (118, 1, 2159); +INSERT INTO `sys_role_menu` VALUES (119, 1, 2160); +INSERT INTO `sys_role_menu` VALUES (120, 1, 2161); +INSERT INTO `sys_role_menu` VALUES (121, 1, 2162); +INSERT INTO `sys_role_menu` VALUES (122, 1, 2163); +INSERT INTO `sys_role_menu` VALUES (123, 1, 2164); +INSERT INTO `sys_role_menu` VALUES (124, 1, 2165); +INSERT INTO `sys_role_menu` VALUES (125, 1, 2166); +INSERT INTO `sys_role_menu` VALUES (126, 1, 2169); +INSERT INTO `sys_role_menu` VALUES (127, 1, 2170); +INSERT INTO `sys_role_menu` VALUES (128, 1, 2171); +INSERT INTO `sys_role_menu` VALUES (129, 1, 2172); +INSERT INTO `sys_role_menu` VALUES (130, 1, 2173); +INSERT INTO `sys_role_menu` VALUES (131, 1, 2174); +INSERT INTO `sys_role_menu` VALUES (132, 1, 2176); +INSERT INTO `sys_role_menu` VALUES (133, 1, 2180); +INSERT INTO `sys_role_menu` VALUES (134, 1, 2181); +INSERT INTO `sys_role_menu` VALUES (135, 1, 2182); +INSERT INTO `sys_role_menu` VALUES (136, 1, 2185); +INSERT INTO `sys_role_menu` VALUES (137, 1, 2187); +INSERT INTO `sys_role_menu` VALUES (138, 1, 2188); +INSERT INTO `sys_role_menu` VALUES (139, 1, 2189); +INSERT INTO `sys_role_menu` VALUES (140, 1, 2190); + +-- ---------------------------- +-- Table structure for sys_timezone +-- ---------------------------- +DROP TABLE IF EXISTS `sys_timezone`; +CREATE TABLE `sys_timezone` ( + `id` int(4) NOT NULL AUTO_INCREMENT, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'timezone id', + `offset` int(10) NOT NULL COMMENT '单位:milliseconds', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 247 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of sys_timezone +-- ---------------------------- +INSERT INTO `sys_timezone` VALUES (1, 'Africa/Abidjan', 0); +INSERT INTO `sys_timezone` VALUES (2, 'Africa/Accra', 0); +INSERT INTO `sys_timezone` VALUES (3, 'Africa/Algiers', 3600000); +INSERT INTO `sys_timezone` VALUES (4, 'Africa/Bissau', 0); +INSERT INTO `sys_timezone` VALUES (5, 'Africa/Cairo', 7200000); +INSERT INTO `sys_timezone` VALUES (6, 'Africa/Casablanca', 0); +INSERT INTO `sys_timezone` VALUES (7, 'Africa/Ceuta', 3600000); +INSERT INTO `sys_timezone` VALUES (8, 'Africa/El_Aaiun', 0); +INSERT INTO `sys_timezone` VALUES (9, 'Africa/Johannesburg', 7200000); +INSERT INTO `sys_timezone` VALUES (10, 'Africa/Juba', 10800000); +INSERT INTO `sys_timezone` VALUES (11, 'Africa/Khartoum', 10800000); +INSERT INTO `sys_timezone` VALUES (12, 'Africa/Lagos', 3600000); +INSERT INTO `sys_timezone` VALUES (13, 'Africa/Maputo', 7200000); +INSERT INTO `sys_timezone` VALUES (14, 'Africa/Monrovia', 0); +INSERT INTO `sys_timezone` VALUES (15, 'Africa/Nairobi', 10800000); +INSERT INTO `sys_timezone` VALUES (16, 'Africa/Ndjamena', 3600000); +INSERT INTO `sys_timezone` VALUES (17, 'Africa/Sao_Tome', 0); +INSERT INTO `sys_timezone` VALUES (18, 'Africa/Tripoli', 7200000); +INSERT INTO `sys_timezone` VALUES (19, 'Africa/Tunis', 3600000); +INSERT INTO `sys_timezone` VALUES (20, 'Africa/Windhoek', 3600000); +INSERT INTO `sys_timezone` VALUES (21, 'Antarctica/Casey', 28800000); +INSERT INTO `sys_timezone` VALUES (22, 'Antarctica/Davis', 25200000); +INSERT INTO `sys_timezone` VALUES (23, 'Antarctica/DumontDUrville', 36000000); +INSERT INTO `sys_timezone` VALUES (24, 'Antarctica/Macquarie', 39600000); +INSERT INTO `sys_timezone` VALUES (25, 'Antarctica/Mawson', 18000000); +INSERT INTO `sys_timezone` VALUES (26, 'Antarctica/Palmer', -14400000); +INSERT INTO `sys_timezone` VALUES (27, 'Antarctica/Rothera', -10800000); +INSERT INTO `sys_timezone` VALUES (28, 'Antarctica/Syowa', 10800000); +INSERT INTO `sys_timezone` VALUES (29, 'Antarctica/Troll', 0); +INSERT INTO `sys_timezone` VALUES (30, 'Antarctica/Vostok', 21600000); +INSERT INTO `sys_timezone` VALUES (31, 'Asia/Almaty', 21600000); +INSERT INTO `sys_timezone` VALUES (32, 'Asia/Amman', 7200000); +INSERT INTO `sys_timezone` VALUES (33, 'Asia/Anadyr', 43200000); +INSERT INTO `sys_timezone` VALUES (34, 'Asia/Aqtau', 18000000); +INSERT INTO `sys_timezone` VALUES (35, 'Asia/Aqtobe', 18000000); +INSERT INTO `sys_timezone` VALUES (36, 'Asia/Ashgabat', 18000000); +INSERT INTO `sys_timezone` VALUES (37, 'Asia/Atyrau', 0); +INSERT INTO `sys_timezone` VALUES (38, 'Asia/Baghdad', 10800000); +INSERT INTO `sys_timezone` VALUES (39, 'Asia/Baku', 14400000); +INSERT INTO `sys_timezone` VALUES (40, 'Asia/Bangkok', 25200000); +INSERT INTO `sys_timezone` VALUES (41, 'Asia/Barnaul', 25200000); +INSERT INTO `sys_timezone` VALUES (42, 'Asia/Beirut', 7200000); +INSERT INTO `sys_timezone` VALUES (43, 'Asia/Bishkek', 21600000); +INSERT INTO `sys_timezone` VALUES (44, 'Asia/Brunei', 28800000); +INSERT INTO `sys_timezone` VALUES (45, 'Asia/Chita', 32400000); +INSERT INTO `sys_timezone` VALUES (46, 'Asia/Choibalsan', 28800000); +INSERT INTO `sys_timezone` VALUES (47, 'Asia/Colombo', 19800000); +INSERT INTO `sys_timezone` VALUES (48, 'Asia/Damascus', 7200000); +INSERT INTO `sys_timezone` VALUES (49, 'Asia/Dhaka', 21600000); +INSERT INTO `sys_timezone` VALUES (50, 'Asia/Dili', 32400000); +INSERT INTO `sys_timezone` VALUES (51, 'Asia/Dubai', 14400000); +INSERT INTO `sys_timezone` VALUES (52, 'Asia/Dushanbe', 18000000); +INSERT INTO `sys_timezone` VALUES (53, 'Asia/Famagusta', 0); +INSERT INTO `sys_timezone` VALUES (54, 'Asia/Gaza', 7200000); +INSERT INTO `sys_timezone` VALUES (55, 'Asia/Hebron', 7200000); +INSERT INTO `sys_timezone` VALUES (56, 'Asia/Ho_Chi_Minh', 25200000); +INSERT INTO `sys_timezone` VALUES (57, 'Asia/Hong_Kong', 28800000); +INSERT INTO `sys_timezone` VALUES (58, 'Asia/Hovd', 25200000); +INSERT INTO `sys_timezone` VALUES (59, 'Asia/Irkutsk', 28800000); +INSERT INTO `sys_timezone` VALUES (60, 'Asia/Jakarta', 25200000); +INSERT INTO `sys_timezone` VALUES (61, 'Asia/Jayapura', 32400000); +INSERT INTO `sys_timezone` VALUES (62, 'Asia/Jerusalem', 7200000); +INSERT INTO `sys_timezone` VALUES (63, 'Asia/Kabul', 16200000); +INSERT INTO `sys_timezone` VALUES (64, 'Asia/Kamchatka', 43200000); +INSERT INTO `sys_timezone` VALUES (65, 'Asia/Karachi', 18000000); +INSERT INTO `sys_timezone` VALUES (66, 'Asia/Kathmandu', 20700000); +INSERT INTO `sys_timezone` VALUES (67, 'Asia/Khandyga', 32400000); +INSERT INTO `sys_timezone` VALUES (68, 'Asia/Kolkata', 19800000); +INSERT INTO `sys_timezone` VALUES (69, 'Asia/Krasnoyarsk', 25200000); +INSERT INTO `sys_timezone` VALUES (70, 'Asia/Kuala_Lumpur', 28800000); +INSERT INTO `sys_timezone` VALUES (71, 'Asia/Kuching', 28800000); +INSERT INTO `sys_timezone` VALUES (72, 'Asia/Macau', 28800000); +INSERT INTO `sys_timezone` VALUES (73, 'Asia/Magadan', 39600000); +INSERT INTO `sys_timezone` VALUES (74, 'Asia/Makassar', 28800000); +INSERT INTO `sys_timezone` VALUES (75, 'Asia/Manila', 28800000); +INSERT INTO `sys_timezone` VALUES (76, 'Asia/Nicosia', 7200000); +INSERT INTO `sys_timezone` VALUES (77, 'Asia/Novokuznetsk', 25200000); +INSERT INTO `sys_timezone` VALUES (78, 'Asia/Novosibirsk', 21600000); +INSERT INTO `sys_timezone` VALUES (79, 'Asia/Omsk', 21600000); +INSERT INTO `sys_timezone` VALUES (80, 'Asia/Oral', 18000000); +INSERT INTO `sys_timezone` VALUES (81, 'Asia/Pontianak', 25200000); +INSERT INTO `sys_timezone` VALUES (82, 'Asia/Pyongyang', 30600000); +INSERT INTO `sys_timezone` VALUES (83, 'Asia/Qatar', 10800000); +INSERT INTO `sys_timezone` VALUES (84, 'Asia/Qostanay', 0); +INSERT INTO `sys_timezone` VALUES (85, 'Asia/Qyzylorda', 21600000); +INSERT INTO `sys_timezone` VALUES (86, 'Asia/Riyadh', 10800000); +INSERT INTO `sys_timezone` VALUES (87, 'Asia/Sakhalin', 39600000); +INSERT INTO `sys_timezone` VALUES (88, 'Asia/Samarkand', 18000000); +INSERT INTO `sys_timezone` VALUES (89, 'Asia/Seoul', 32400000); +INSERT INTO `sys_timezone` VALUES (90, 'Asia/Shanghai', 28800000); +INSERT INTO `sys_timezone` VALUES (91, 'Asia/Singapore', 28800000); +INSERT INTO `sys_timezone` VALUES (92, 'Asia/Srednekolymsk', 39600000); +INSERT INTO `sys_timezone` VALUES (93, 'Asia/Taipei', 28800000); +INSERT INTO `sys_timezone` VALUES (94, 'Asia/Tashkent', 18000000); +INSERT INTO `sys_timezone` VALUES (95, 'Asia/Tbilisi', 14400000); +INSERT INTO `sys_timezone` VALUES (96, 'Asia/Tehran', 12600000); +INSERT INTO `sys_timezone` VALUES (97, 'Asia/Thimphu', 21600000); +INSERT INTO `sys_timezone` VALUES (98, 'Asia/Tokyo', 32400000); +INSERT INTO `sys_timezone` VALUES (99, 'Asia/Tomsk', 25200000); +INSERT INTO `sys_timezone` VALUES (100, 'Asia/Ulaanbaatar', 28800000); +INSERT INTO `sys_timezone` VALUES (101, 'Asia/Urumqi', 21600000); +INSERT INTO `sys_timezone` VALUES (102, 'Asia/Ust-Nera', 36000000); +INSERT INTO `sys_timezone` VALUES (103, 'Asia/Vladivostok', 36000000); +INSERT INTO `sys_timezone` VALUES (104, 'Asia/Yakutsk', 32400000); +INSERT INTO `sys_timezone` VALUES (105, 'Asia/Yangon', 0); +INSERT INTO `sys_timezone` VALUES (106, 'Asia/Yekaterinburg', 18000000); +INSERT INTO `sys_timezone` VALUES (107, 'Asia/Yerevan', 14400000); +INSERT INTO `sys_timezone` VALUES (108, 'Atlantic/Azores', -3600000); +INSERT INTO `sys_timezone` VALUES (109, 'Atlantic/Bermuda', -14400000); +INSERT INTO `sys_timezone` VALUES (110, 'Atlantic/Canary', 0); +INSERT INTO `sys_timezone` VALUES (111, 'Atlantic/Cape_Verde', -3600000); +INSERT INTO `sys_timezone` VALUES (112, 'Atlantic/Faroe', 0); +INSERT INTO `sys_timezone` VALUES (113, 'Atlantic/Madeira', 0); +INSERT INTO `sys_timezone` VALUES (114, 'Atlantic/Reykjavik', 0); +INSERT INTO `sys_timezone` VALUES (115, 'Atlantic/South_Georgia', -7200000); +INSERT INTO `sys_timezone` VALUES (116, 'Atlantic/Stanley', -10800000); +INSERT INTO `sys_timezone` VALUES (117, 'Australia/Adelaide', 34200000); +INSERT INTO `sys_timezone` VALUES (118, 'Australia/Brisbane', 36000000); +INSERT INTO `sys_timezone` VALUES (119, 'Australia/Broken_Hill', 34200000); +INSERT INTO `sys_timezone` VALUES (120, 'Australia/Darwin', 34200000); +INSERT INTO `sys_timezone` VALUES (121, 'Australia/Eucla', 31500000); +INSERT INTO `sys_timezone` VALUES (122, 'Australia/Hobart', 36000000); +INSERT INTO `sys_timezone` VALUES (123, 'Australia/Lindeman', 36000000); +INSERT INTO `sys_timezone` VALUES (124, 'Australia/Lord_Howe', 37800000); +INSERT INTO `sys_timezone` VALUES (125, 'Australia/Melbourne', 36000000); +INSERT INTO `sys_timezone` VALUES (126, 'Australia/Perth', 28800000); +INSERT INTO `sys_timezone` VALUES (127, 'Australia/Sydney', 36000000); +INSERT INTO `sys_timezone` VALUES (128, 'Etc/GMT', 0); +INSERT INTO `sys_timezone` VALUES (129, 'Etc/GMT+1', -3600000); +INSERT INTO `sys_timezone` VALUES (130, 'Etc/GMT+10', -36000000); +INSERT INTO `sys_timezone` VALUES (131, 'Etc/GMT+11', -39600000); +INSERT INTO `sys_timezone` VALUES (132, 'Etc/GMT+12', -43200000); +INSERT INTO `sys_timezone` VALUES (133, 'Etc/GMT+2', -7200000); +INSERT INTO `sys_timezone` VALUES (134, 'Etc/GMT+3', -10800000); +INSERT INTO `sys_timezone` VALUES (135, 'Etc/GMT+4', -14400000); +INSERT INTO `sys_timezone` VALUES (136, 'Etc/GMT+5', -18000000); +INSERT INTO `sys_timezone` VALUES (137, 'Etc/GMT+6', -21600000); +INSERT INTO `sys_timezone` VALUES (138, 'Etc/GMT+7', -25200000); +INSERT INTO `sys_timezone` VALUES (139, 'Etc/GMT+8', -28800000); +INSERT INTO `sys_timezone` VALUES (140, 'Etc/GMT+9', -32400000); +INSERT INTO `sys_timezone` VALUES (141, 'Etc/GMT-1', 3600000); +INSERT INTO `sys_timezone` VALUES (142, 'Etc/GMT-10', 36000000); +INSERT INTO `sys_timezone` VALUES (143, 'Etc/GMT-11', 39600000); +INSERT INTO `sys_timezone` VALUES (144, 'Etc/GMT-12', 43200000); +INSERT INTO `sys_timezone` VALUES (145, 'Etc/GMT-13', 46800000); +INSERT INTO `sys_timezone` VALUES (146, 'Etc/GMT-14', 50400000); +INSERT INTO `sys_timezone` VALUES (147, 'Etc/GMT-2', 7200000); +INSERT INTO `sys_timezone` VALUES (148, 'Etc/GMT-3', 10800000); +INSERT INTO `sys_timezone` VALUES (149, 'Etc/GMT-4', 14400000); +INSERT INTO `sys_timezone` VALUES (150, 'Etc/GMT-5', 18000000); +INSERT INTO `sys_timezone` VALUES (151, 'Etc/GMT-6', 21600000); +INSERT INTO `sys_timezone` VALUES (152, 'Etc/GMT-7', 25200000); +INSERT INTO `sys_timezone` VALUES (153, 'Etc/GMT-8', 28800000); +INSERT INTO `sys_timezone` VALUES (154, 'Etc/GMT-9', 32400000); +INSERT INTO `sys_timezone` VALUES (155, 'Etc/UTC', 0); +INSERT INTO `sys_timezone` VALUES (156, 'Europe/Amsterdam', 3600000); +INSERT INTO `sys_timezone` VALUES (157, 'Europe/Andorra', 3600000); +INSERT INTO `sys_timezone` VALUES (158, 'Europe/Astrakhan', 14400000); +INSERT INTO `sys_timezone` VALUES (159, 'Europe/Athens', 7200000); +INSERT INTO `sys_timezone` VALUES (160, 'Europe/Belgrade', 3600000); +INSERT INTO `sys_timezone` VALUES (161, 'Europe/Berlin', 3600000); +INSERT INTO `sys_timezone` VALUES (162, 'Europe/Brussels', 3600000); +INSERT INTO `sys_timezone` VALUES (163, 'Europe/Bucharest', 7200000); +INSERT INTO `sys_timezone` VALUES (164, 'Europe/Budapest', 3600000); +INSERT INTO `sys_timezone` VALUES (165, 'Europe/Chisinau', 7200000); +INSERT INTO `sys_timezone` VALUES (166, 'Europe/Copenhagen', 3600000); +INSERT INTO `sys_timezone` VALUES (167, 'Europe/Dublin', 0); +INSERT INTO `sys_timezone` VALUES (168, 'Europe/Gibraltar', 3600000); +INSERT INTO `sys_timezone` VALUES (169, 'Europe/Helsinki', 7200000); +INSERT INTO `sys_timezone` VALUES (170, 'Europe/Istanbul', 7200000); +INSERT INTO `sys_timezone` VALUES (171, 'Europe/Kaliningrad', 7200000); +INSERT INTO `sys_timezone` VALUES (172, 'Europe/Kiev', 7200000); +INSERT INTO `sys_timezone` VALUES (173, 'Europe/Kirov', 10800000); +INSERT INTO `sys_timezone` VALUES (174, 'Europe/Lisbon', 0); +INSERT INTO `sys_timezone` VALUES (175, 'Europe/London', 0); +INSERT INTO `sys_timezone` VALUES (176, 'Europe/Luxembourg', 3600000); +INSERT INTO `sys_timezone` VALUES (177, 'Europe/Madrid', 3600000); +INSERT INTO `sys_timezone` VALUES (178, 'Europe/Malta', 3600000); +INSERT INTO `sys_timezone` VALUES (179, 'Europe/Minsk', 10800000); +INSERT INTO `sys_timezone` VALUES (180, 'Europe/Monaco', 3600000); +INSERT INTO `sys_timezone` VALUES (181, 'Europe/Moscow', 10800000); +INSERT INTO `sys_timezone` VALUES (182, 'Europe/Oslo', 3600000); +INSERT INTO `sys_timezone` VALUES (183, 'Europe/Paris', 3600000); +INSERT INTO `sys_timezone` VALUES (184, 'Europe/Prague', 3600000); +INSERT INTO `sys_timezone` VALUES (185, 'Europe/Riga', 7200000); +INSERT INTO `sys_timezone` VALUES (186, 'Europe/Rome', 3600000); +INSERT INTO `sys_timezone` VALUES (187, 'Europe/Samara', 14400000); +INSERT INTO `sys_timezone` VALUES (188, 'Europe/Saratov', 0); +INSERT INTO `sys_timezone` VALUES (189, 'Europe/Simferopol', 10800000); +INSERT INTO `sys_timezone` VALUES (190, 'Europe/Sofia', 7200000); +INSERT INTO `sys_timezone` VALUES (191, 'Europe/Stockholm', 3600000); +INSERT INTO `sys_timezone` VALUES (192, 'Europe/Tallinn', 7200000); +INSERT INTO `sys_timezone` VALUES (193, 'Europe/Tirane', 3600000); +INSERT INTO `sys_timezone` VALUES (194, 'Europe/Ulyanovsk', 14400000); +INSERT INTO `sys_timezone` VALUES (195, 'Europe/Uzhgorod', 7200000); +INSERT INTO `sys_timezone` VALUES (196, 'Europe/Vienna', 3600000); +INSERT INTO `sys_timezone` VALUES (197, 'Europe/Vilnius', 7200000); +INSERT INTO `sys_timezone` VALUES (198, 'Europe/Volgograd', 10800000); +INSERT INTO `sys_timezone` VALUES (199, 'Europe/Warsaw', 3600000); +INSERT INTO `sys_timezone` VALUES (200, 'Europe/Zaporozhye', 7200000); +INSERT INTO `sys_timezone` VALUES (201, 'Europe/Zurich', 3600000); +INSERT INTO `sys_timezone` VALUES (202, 'Factory', 0); +INSERT INTO `sys_timezone` VALUES (203, 'Indian/Chagos', 21600000); +INSERT INTO `sys_timezone` VALUES (204, 'Indian/Christmas', 25200000); +INSERT INTO `sys_timezone` VALUES (205, 'Indian/Cocos', 23400000); +INSERT INTO `sys_timezone` VALUES (206, 'Indian/Kerguelen', 18000000); +INSERT INTO `sys_timezone` VALUES (207, 'Indian/Mahe', 14400000); +INSERT INTO `sys_timezone` VALUES (208, 'Indian/Maldives', 18000000); +INSERT INTO `sys_timezone` VALUES (209, 'Indian/Mauritius', 14400000); +INSERT INTO `sys_timezone` VALUES (210, 'Indian/Reunion', 14400000); +INSERT INTO `sys_timezone` VALUES (211, 'Pacific/Apia', 46800000); +INSERT INTO `sys_timezone` VALUES (212, 'Pacific/Auckland', 43200000); +INSERT INTO `sys_timezone` VALUES (213, 'Pacific/Bougainville', 39600000); +INSERT INTO `sys_timezone` VALUES (214, 'Pacific/Chatham', 45900000); +INSERT INTO `sys_timezone` VALUES (215, 'Pacific/Chuuk', 36000000); +INSERT INTO `sys_timezone` VALUES (216, 'Pacific/Easter', -21600000); +INSERT INTO `sys_timezone` VALUES (217, 'Pacific/Efate', 39600000); +INSERT INTO `sys_timezone` VALUES (218, 'Pacific/Enderbury', 46800000); +INSERT INTO `sys_timezone` VALUES (219, 'Pacific/Fakaofo', 46800000); +INSERT INTO `sys_timezone` VALUES (220, 'Pacific/Fiji', 43200000); +INSERT INTO `sys_timezone` VALUES (221, 'Pacific/Funafuti', 43200000); +INSERT INTO `sys_timezone` VALUES (222, 'Pacific/Galapagos', -21600000); +INSERT INTO `sys_timezone` VALUES (223, 'Pacific/Gambier', -32400000); +INSERT INTO `sys_timezone` VALUES (224, 'Pacific/Guadalcanal', 39600000); +INSERT INTO `sys_timezone` VALUES (225, 'Pacific/Guam', 36000000); +INSERT INTO `sys_timezone` VALUES (226, 'Pacific/Honolulu', -36000000); +INSERT INTO `sys_timezone` VALUES (227, 'Pacific/Kiritimati', 50400000); +INSERT INTO `sys_timezone` VALUES (228, 'Pacific/Kosrae', 39600000); +INSERT INTO `sys_timezone` VALUES (229, 'Pacific/Kwajalein', 43200000); +INSERT INTO `sys_timezone` VALUES (230, 'Pacific/Majuro', 43200000); +INSERT INTO `sys_timezone` VALUES (231, 'Pacific/Marquesas', -34200000); +INSERT INTO `sys_timezone` VALUES (232, 'Pacific/Nauru', 43200000); +INSERT INTO `sys_timezone` VALUES (233, 'Pacific/Niue', -39600000); +INSERT INTO `sys_timezone` VALUES (234, 'Pacific/Norfolk', 39600000); +INSERT INTO `sys_timezone` VALUES (235, 'Pacific/Noumea', 39600000); +INSERT INTO `sys_timezone` VALUES (236, 'Pacific/Pago_Pago', -39600000); +INSERT INTO `sys_timezone` VALUES (237, 'Pacific/Palau', 32400000); +INSERT INTO `sys_timezone` VALUES (238, 'Pacific/Pitcairn', -28800000); +INSERT INTO `sys_timezone` VALUES (239, 'Pacific/Pohnpei', 39600000); +INSERT INTO `sys_timezone` VALUES (240, 'Pacific/Port_Moresby', 36000000); +INSERT INTO `sys_timezone` VALUES (241, 'Pacific/Rarotonga', -36000000); +INSERT INTO `sys_timezone` VALUES (242, 'Pacific/Tahiti', -36000000); +INSERT INTO `sys_timezone` VALUES (243, 'Pacific/Tarawa', 43200000); +INSERT INTO `sys_timezone` VALUES (244, 'Pacific/Tongatapu', 46800000); +INSERT INTO `sys_timezone` VALUES (245, 'Pacific/Wake', 43200000); +INSERT INTO `sys_timezone` VALUES (246, 'Pacific/Wallis', 43200000); + +-- ---------------------------- +-- Table structure for sys_user +-- ---------------------------- +DROP TABLE IF EXISTS `sys_user`; +CREATE TABLE `sys_user` ( + `id` int(10) NOT NULL AUTO_INCREMENT, + `username` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '用户名', + `pin` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '密码', + `salt` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '盐', + `email` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '邮箱', + `status` tinyint(4) NULL DEFAULT NULL COMMENT '状态 0:禁用 1:正常', + `create_at` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `lang` varchar(4) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'en', + `source` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'system', + `name` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '用户姓名\r\n\r\n(用于系统内展示用户名称)', + `last_login_time` datetime(0) NULL DEFAULT NULL COMMENT '最后登录时间', + `last_login_ip` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '最后登录ip', + `mobile` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '手机号', + `create_by` int(10) NULL DEFAULT NULL COMMENT '添加人', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `username`(`username`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '系统用户表' ROW_FORMAT = Compact; + +-- ---------------------------- +-- Records of sys_user +-- ---------------------------- +INSERT INTO `sys_user` VALUES (1, 'admin', 'e1153123d7d180ceeb820d577ff119876678732a68eef4e6ffc0b1f06a01f91b', 'YzcmCZNvbXocrsz9dm8e', 'nezha@www.puppn.com', 1, '2016-11-11 11:11:11', 'zh', 'system', 'admin', NULL, NULL, NULL, NULL); + +-- ---------------------------- +-- Table structure for sys_user_role +-- ---------------------------- +DROP TABLE IF EXISTS `sys_user_role`; +CREATE TABLE `sys_user_role` ( + `id` int(10) NOT NULL AUTO_INCREMENT, + `user_id` int(10) NOT NULL, + `role_id` int(10) NOT NULL, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of sys_user_role +-- ---------------------------- +INSERT INTO `sys_user_role` VALUES (1, 1, 1); + +-- ---------------------------- +-- Table structure for terminal_cmd +-- ---------------------------- +DROP TABLE IF EXISTS `terminal_cmd`; +CREATE TABLE `terminal_cmd` ( + `id` int(10) NOT NULL AUTO_INCREMENT, + `uuid` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '会话id', + `cmd` varchar(4096) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户输入命令', + `time` int(10) NULL DEFAULT NULL COMMENT '单位:ms\r\n\r\n记录的是 session开始后的时间偏移量', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_uuid`(`uuid`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of terminal_cmd +-- ---------------------------- + +-- ---------------------------- +-- Table structure for terminal_record +-- ---------------------------- +DROP TABLE IF EXISTS `terminal_record`; +CREATE TABLE `terminal_record` ( + `id` int(10) NOT NULL AUTO_INCREMENT, + `uuid` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '会话ID', + `start_time` int(10) NOT NULL COMMENT '单位:ms\r\n\r\nrecord 开始时间,记录的是会话开始后的时间偏移量', + `end_time` int(10) NOT NULL COMMENT '单位:ms\r\n\r\nrecord 结束时间,记录的是会话开始后的时间偏移量', + `content` mediumblob NOT NULL COMMENT '记录的是 session开始后的时间偏移量\r\n\r\n最大储存 65K,超过部分再新增一条记录', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_uuid`(`uuid`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of terminal_record +-- ---------------------------- + +-- ---------------------------- +-- Table structure for terminal_session +-- ---------------------------- +DROP TABLE IF EXISTS `terminal_session`; +CREATE TABLE `terminal_session` ( + `id` int(10) NOT NULL AUTO_INCREMENT, + `uuid` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '会话id', + `asset_id` int(10) NULL DEFAULT NULL COMMENT '关联资产id', + `host` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '登录主机', + `port` int(10) NULL DEFAULT NULL COMMENT '端口', + `protocol` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '协议,可选值:SSH,TELNET。统一大写', + `auth_type` int(10) NULL DEFAULT NULL COMMENT '认证类型,1:密码,2:私钥证书 认证类型,1:密码,2:私钥证书\r\n\r\nssh可选值:1、2\r\n\r\ntelnet可选值:1', + `login_user` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '登录主机的用户名', + `user_id` int(10) NOT NULL COMMENT 'nezha系统内用户id', + `remote_addr` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '客户端ip地址', + `start_time` datetime(0) NOT NULL COMMENT '开始时间', + `end_time` datetime(0) NULL DEFAULT NULL COMMENT '结束时间', + `status` int(1) NOT NULL COMMENT '0:连接中\r\n\r\n1:发送失败(没有通过ssh或telnet发送成功)\r\n\r\n2:已结束\r\n\r\n3:强制退出\r\n\r\n4:未知错误', + `kill_user_id` int(10) NULL DEFAULT NULL COMMENT '强制关闭用户id', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_uuid`(`uuid`) USING BTREE, + INDEX `idx_asset_id`(`asset_id`) USING BTREE, + INDEX `idx_user_id`(`user_id`) USING BTREE, + INDEX `idx_host`(`host`) USING BTREE, + INDEX `idx_port`(`port`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of terminal_session +-- ---------------------------- + +-- ---------------------------- +-- Table structure for visual_chart +-- ---------------------------- +DROP TABLE IF EXISTS `visual_chart`; +CREATE TABLE `visual_chart` ( + `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键', + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '图表标题', + `panel_id` int(10) NOT NULL COMMENT '图表id,关联panel表\r\n\r\n当 panel_id =0 代表为模板', + `group_id` int(10) NOT NULL COMMENT '关联 visual_chart.id,关联 chart 的 type 只能为 group', + `span` int(10) NOT NULL COMMENT 'type = group,span = 12, 用户修改无效', + `height` int(10) NOT NULL COMMENT 'type = group,height = -1,用户修改无效', + `update_by` int(10) NOT NULL COMMENT '更新人', + `update_at` datetime(0) NOT NULL COMMENT '更新时间', + `type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '图表类型 line\r\nbar\r\ntable\r\nstackArea\r\nsingleStat\r\nurl\r\nassetInfo\r\nalertList\r\ngroup', + `unit` int(10) NOT NULL DEFAULT 2 COMMENT '界面显示采用二级菜单', + `weight` int(10) NOT NULL DEFAULT 0 COMMENT '默认为 0,用于chart排序', + `param` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '参数 记录type的具体参数信息,数据格式为json对象\r\n\r\n当type = url时\r\n\r\n{\r\n\r\n “url”:\"https://www.baidu.com\"\r\n\r\n}', + `pid` int(10) NULL DEFAULT NULL COMMENT '模板id 图表通过模板创建时不能为空,便于后续模板修改同步修改', + `build_in` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '1:内置,0:非内置,默认:0', + `remark` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '默认:\"\"', + `seq` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '导入唯一标识', + `var_type` int(1) NULL DEFAULT NULL COMMENT '模板或使用模板创建有效,pid != null | panel_id == 0 时不能为空\r\n\r\n1: asset\r\n\r\n2: endpoint', + `var_id` int(10) NULL DEFAULT NULL COMMENT 'pid != null 时不能为空\r\n\r\n根据var_type 分别对应 asset.id, endpoint.id,用于 表达式变量替换', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_name`(`name`) USING BTREE, + INDEX `idx_panel_id`(`panel_id`) USING BTREE, + INDEX `idx_group_id`(`group_id`) USING BTREE, + INDEX `idx_type`(`type`) USING BTREE, + INDEX `idx_var_type`(`var_type`) USING BTREE, + INDEX `idx_var_id`(`var_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of visual_chart +-- ---------------------------- + +-- ---------------------------- +-- Table structure for visual_chart_element +-- ---------------------------- +DROP TABLE IF EXISTS `visual_chart_element`; +CREATE TABLE `visual_chart_element` ( + `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键', + `chart_id` int(10) NOT NULL COMMENT '图表id,关联chart表', + `expression` varchar(4096) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'promql表达式', + `type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'normal:简单表达式,可页面解析,如:up{asset=\"192.168.40.40\",module=\"kafka\"}\r\n\r\nexpert:用户输入表达式,解析困难,直接在页面显示', + `legend` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '图例别名表达式', + `build_in` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '是否内置', + `seq` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '导入唯一标识 用于导入撤销', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_chart_id`(`chart_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of visual_chart_element +-- ---------------------------- + +-- ---------------------------- +-- Table structure for visual_expression_tmpl +-- ---------------------------- +DROP TABLE IF EXISTS `visual_expression_tmpl`; +CREATE TABLE `visual_expression_tmpl` ( + `id` int(10) NOT NULL AUTO_INCREMENT, + `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '模板名称', + `gname` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'default' COMMENT '组名,默认:default', + `expression` varchar(4096) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '表达式,不能为空', + `remark` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '描述', + `build_in` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '1:内置,0:非内置,默认:0', + `seq` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '用于导入撤销,默认:“”', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_name`(`name`) USING BTREE, + INDEX `idx_gname`(`gname`) USING BTREE, + INDEX `idx_expression`(`expression`(768)) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 42 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of visual_expression_tmpl +-- ---------------------------- +INSERT INTO `visual_expression_tmpl` VALUES (1, 'abs', 'function', 'abs()', 'abs(v instant-vector) returns the input vector with all sample values converted to their absolute value.', '1', ''); +INSERT INTO `visual_expression_tmpl` VALUES (2, 'absent', 'function', 'absent()', 'absent(v instant-vector) returns an empty vector if the vector passed to it has any elements and a 1-element vector with the value 1 if the vector passed to it has no elements.', '1', ''); +INSERT INTO `visual_expression_tmpl` VALUES (3, 'absent_over_time', 'function', 'absent_over_time()', 'absent_over_time(v range-vector) returns an empty vector if the range vector passed to it has any elements and a 1-element vector with the value 1 if the range vector passed to it has no elements.', '1', ''); +INSERT INTO `visual_expression_tmpl` VALUES (4, 'ceil', 'function', 'ceil()', 'ceil(v instant-vector) rounds the sample values of all elements in v up to the nearest integer.', '1', ''); +INSERT INTO `visual_expression_tmpl` VALUES (5, 'changes', 'function', 'changes()', 'For each input time series, changes(v range-vector) returns the number of times its value has changed within the provided time range as an instant vector.', '1', ''); +INSERT INTO `visual_expression_tmpl` VALUES (6, 'clamp', 'function', 'clamp()', 'clamp(v instant-vector, min scalar, max scalar) clamps the sample values of all elements in v to have a lower limit of min and an upper limit of max.', '1', ''); +INSERT INTO `visual_expression_tmpl` VALUES (7, 'clamp_max', 'function', 'clamp_max()', 'clamp_max(v instant-vector, max scalar) clamps the sample values of all elements in v to have an upper limit of max.', '1', ''); +INSERT INTO `visual_expression_tmpl` VALUES (8, 'clamp_min', 'function', 'clamp_min()', 'clamp_min(v instant-vector, min scalar) clamps the sample values of all elements in v to have a lower limit of min.', '1', ''); +INSERT INTO `visual_expression_tmpl` VALUES (9, 'day_of_month', 'function', 'day_of_month()', 'day_of_month(v=vector(time()) instant-vector) returns the day of the month for each of the given times in UTC. Returned values are from 1 to 31.', '1', ''); +INSERT INTO `visual_expression_tmpl` VALUES (10, 'day_of_week', 'function', 'day_of_week()', 'day_of_week(v=vector(time()) instant-vector) returns the day of the week for each of the given times in UTC. Returned values are from 0 to 6, where 0 means Sunday etc.', '1', ''); +INSERT INTO `visual_expression_tmpl` VALUES (11, 'days_in_month', 'function', 'days_in_month()', 'days_in_month(v=vector(time()) instant-vector) returns number of days in the month for each of the given times in UTC. Returned values are from 28 to 31.', '1', ''); +INSERT INTO `visual_expression_tmpl` VALUES (12, 'delta', 'function', 'delta()', 'delta(v range-vector) calculates the difference between the first and last value of each time series element in a range vector v, returning an instant vector with the given deltas and equivalent labels. The delta is extrapolated to cover the full time range as specified in the range vector selector, so that it is possible to get a non-integer result even if the sample values are all integers.', '1', ''); +INSERT INTO `visual_expression_tmpl` VALUES (13, 'deriv', 'function', 'deriv()', 'deriv(v range-vector) calculates the per-second derivative of the time series in a range vector v, using simple linear regression.\n\nderiv should only be used with gauges.', '1', ''); +INSERT INTO `visual_expression_tmpl` VALUES (14, 'exp', 'function', 'exp()', 'exp(v instant-vector) calculates the exponential function for all elements in v.', '1', ''); +INSERT INTO `visual_expression_tmpl` VALUES (15, 'floor', 'function', 'floor()', 'floor(v instant-vector) rounds the sample values of all elements in v down to the nearest integer.', '1', ''); +INSERT INTO `visual_expression_tmpl` VALUES (16, 'histogram_quantile', 'function', 'histogram_quantile()', 'histogram_quantile(φ scalar, b instant-vector) calculates the φ-quantile (0 ≤ φ ≤ 1) from the buckets b of a histogram', '1', ''); +INSERT INTO `visual_expression_tmpl` VALUES (17, 'holt_winters', 'function', 'holt_winters()', 'holt_winters(v range-vector, sf scalar, tf scalar) produces a smoothed value for time series based on the range in v. The lower the smoothing factor sf, the more importance is given to old data. The higher the trend factor tf, the more trends in the data is considered. Both sf and tf must be between 0 and 1.', '1', ''); +INSERT INTO `visual_expression_tmpl` VALUES (18, 'hour', 'function', 'hour()', 'hour(v=vector(time()) instant-vector) returns the hour of the day for each of the given times in UTC. Returned values are from 0 to 23.', '1', ''); +INSERT INTO `visual_expression_tmpl` VALUES (19, 'idelta', 'function', 'idelta()', 'idelta(v range-vector) calculates the difference between the last two samples in the range vector v, returning an instant vector with the given deltas and equivalent labels.', '1', ''); +INSERT INTO `visual_expression_tmpl` VALUES (20, 'increase', 'function', 'increase()', 'increase(v range-vector) calculates the increase in the time series in the range vector. Breaks in monotonicity (such as counter resets due to target restarts) are automatically adjusted for. The increase is extrapolated to cover the full time range as specified in the range vector selector, so that it is possible to get a non-integer result even if a counter increases only by integer increments.', '1', ''); +INSERT INTO `visual_expression_tmpl` VALUES (21, 'irate', 'function', 'irate()', 'irate(v range-vector) calculates the per-second instant rate of increase of the time series in the range vector. This is based on the last two data points. Breaks in monotonicity (such as counter resets due to target restarts) are automatically adjusted for.', '1', ''); +INSERT INTO `visual_expression_tmpl` VALUES (22, 'label_join', 'function', 'label_join()', 'For each timeseries in v, label_join(v instant-vector, dst_label string, separator string, src_label_1 string, src_label_2 string, ...) joins all the values of all the src_labels using separator and returns the timeseries with the label dst_label containing the joined value. There can be any number of src_labels in this function.', '1', ''); +INSERT INTO `visual_expression_tmpl` VALUES (23, 'label_replace', 'function', 'label_replace()', 'For each timeseries in v, label_replace(v instant-vector, dst_label string, replacement string, src_label string, regex string) matches the regular expression regex against the label src_label. If it matches, then the timeseries is returned with the label dst_label replaced by the expansion of replacement. $1 is replaced with the first matching subgroup, $2 with the second etc. If the regular expression doesn\'t match then the timeseries is returned unchanged.', '1', ''); +INSERT INTO `visual_expression_tmpl` VALUES (24, 'ln', 'function', 'ln()', 'ln(v instant-vector) calculates the natural logarithm for all elements in v', '1', ''); +INSERT INTO `visual_expression_tmpl` VALUES (25, 'log2', 'function', 'log2()', 'log2(v instant-vector) calculates the binary logarithm for all elements in v. The special cases are equivalent to those in ln.', '1', ''); +INSERT INTO `visual_expression_tmpl` VALUES (26, 'log10', 'function', 'log10()', 'log10(v instant-vector) calculates the decimal logarithm for all elements in v. The special cases are equivalent to those in ln.', '1', ''); +INSERT INTO `visual_expression_tmpl` VALUES (27, 'minute', 'function', 'minute()', 'minute(v=vector(time()) instant-vector) returns the minute of the hour for each of the given times in UTC. Returned values are from 0 to 59.', '1', ''); +INSERT INTO `visual_expression_tmpl` VALUES (28, 'month', 'function', 'month()', 'month(v=vector(time()) instant-vector) returns the month of the year for each of the given times in UTC. Returned values are from 1 to 12, where 1 means January etc.', '1', ''); +INSERT INTO `visual_expression_tmpl` VALUES (29, 'predict_linear', 'function', 'predict_linear()', 'predict_linear(v range-vector, t scalar) predicts the value of time series t seconds from now, based on the range vector v, using simple linear regression.', '1', ''); +INSERT INTO `visual_expression_tmpl` VALUES (30, 'rate', 'function', 'rate()', 'rate(v range-vector) calculates the per-second average rate of increase of the time series in the range vector. Breaks in monotonicity (such as counter resets due to target restarts) are automatically adjusted for. Also, the calculation extrapolates to the ends of the time range, allowing for missed scrapes or imperfect alignment of scrape cycles with the range\'s time period.', '1', ''); +INSERT INTO `visual_expression_tmpl` VALUES (31, 'resets', 'function', 'resets()', 'For each input time series, resets(v range-vector) returns the number of counter resets within the provided time range as an instant vector. Any decrease in the value between two consecutive samples is interpreted as a counter reset.', '1', ''); +INSERT INTO `visual_expression_tmpl` VALUES (32, 'round', 'function', 'round()', 'round(v instant-vector, to_nearest=1 scalar) rounds the sample values of all elements in v to the nearest integer. Ties are resolved by rounding up. The optional to_nearest argument allows specifying the nearest multiple to which the sample values should be rounded. This multiple may also be a fraction.', '1', ''); +INSERT INTO `visual_expression_tmpl` VALUES (33, 'scalar', 'function', 'scalar()', 'Given a single-element input vector, scalar(v instant-vector) returns the sample value of that single element as a scalar. If the input vector does not have exactly one element, scalar will return NaN.', '1', ''); +INSERT INTO `visual_expression_tmpl` VALUES (34, 'sgn', 'function', 'sgn()', 'sgn(v instant-vector) returns a vector with all sample values converted to their sign, defined as this: 1 if v is positive, -1 if v is negative and 0 if v is equal to zero.', '1', ''); +INSERT INTO `visual_expression_tmpl` VALUES (35, 'sort', 'function', 'sort()', 'sort(v instant-vector) returns vector elements sorted by their sample values, in ascending order.', '1', ''); +INSERT INTO `visual_expression_tmpl` VALUES (36, 'sort_desc', 'function', 'sort_desc()', 'Same as sort, but sorts in descending order.', '1', ''); +INSERT INTO `visual_expression_tmpl` VALUES (37, 'sqrt', 'function', 'sqrt()', 'sqrt(v instant-vector) calculates the square root of all elements in v.', '1', ''); +INSERT INTO `visual_expression_tmpl` VALUES (38, 'time', 'function', 'time()', 'time() returns the number of seconds since January 1, 1970 UTC. Note that this does not actually return the current time, but the time at which the expression is to be evaluated.', '1', ''); +INSERT INTO `visual_expression_tmpl` VALUES (39, 'timestamp', 'function', 'timestamp()', 'timestamp(v instant-vector) returns the timestamp of each of the samples of the given vector as the number of seconds since January 1, 1970 UTC.', '1', ''); +INSERT INTO `visual_expression_tmpl` VALUES (40, 'vector', 'function', 'vector()', 'vector(s scalar) returns the scalar s as a vector with no labels.', '1', ''); +INSERT INTO `visual_expression_tmpl` VALUES (41, 'year', 'function', 'year()', 'year(v=vector(time()) instant-vector) returns the year for each of the given times in UTC.', '1', ''); + +-- ---------------------------- +-- Table structure for visual_panel +-- ---------------------------- +DROP TABLE IF EXISTS `visual_panel`; +CREATE TABLE `visual_panel` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键', + `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '图表名', + `create_by` int(10) NOT NULL COMMENT '创建人id', + `type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'dashboard' COMMENT '可选值:dashboard,asset,project,module,endpoint, model\r\n\r\n默认值:dashboard', + `link` int(10) NULL DEFAULT NULL COMMENT '关联id', + `pid` int(10) NOT NULL DEFAULT 0 COMMENT '父id 默认0', + `weight` int(10) NOT NULL DEFAULT 0 COMMENT '排序 默认0', + `build_in` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '是否内置', + `seq` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '默认:“”\r\n\r\n用于导入撤销', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_name`(`name`) USING BTREE, + INDEX `idx_type`(`type`) USING BTREE, + INDEX `idx_link`(`link`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 8 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of visual_panel +-- ---------------------------- + +SET FOREIGN_KEY_CHECKS = 1;