Merge branch 'master' of http://192.168.1.136:82/monitor_v3/hg-monitor-web
Conflicts: doc/SQL/zj/V1015_1_乙方运维数据库设计SQL.txt hg-monitor-web-zj/src/main/resources/static/vue3/src/components/page/operationMaintenance/user/index.js
Showing
6 changed files
with
362 additions
and
36 deletions
@@ -111,42 +111,114 @@ INSERT INTO `user-center`.`sys_menu` (`id`, `parentId`, `menuCode`, `name`, `url | @@ -111,42 +111,114 @@ INSERT INTO `user-center`.`sys_menu` (`id`, `parentId`, `menuCode`, `name`, `url | ||
111 | INSERT INTO `user-center`.`sys_role_menu` (`roleId`, `menuId`) VALUES (1, 1000009); | 111 | INSERT INTO `user-center`.`sys_role_menu` (`roleId`, `menuId`) VALUES (1, 1000009); |
112 | INSERT INTO `user-center`.`sys_role_menu` (`roleId`, `menuId`) VALUES (1, 1000011); | 112 | INSERT INTO `user-center`.`sys_role_menu` (`roleId`, `menuId`) VALUES (1, 1000011); |
113 | -- 8、修改项目表中的预留字段 | 113 | -- 8、修改项目表中的预留字段 |
114 | -ALTER TABLE `cloud_backend_monitor`.`b_ops_project` | 114 | +ALTER TABLE `cloud_backend_monitor`.`b_ops_project` |
115 | MODIFY COLUMN `state` int NULL DEFAULT 0 COMMENT '0:正常,1:延期,3:预留' AFTER `remark`; | 115 | MODIFY COLUMN `state` int NULL DEFAULT 0 COMMENT '0:正常,1:延期,3:预留' AFTER `remark`; |
116 | 116 | ||
117 | --- 9、同步流程业务添加触发器 | ||
118 | --- 新增触发器 | ||
119 | -DELIMITER $$ | ||
120 | -CREATE TRIGGER syn_business_add AFTER INSERT ON b_bustype | ||
121 | -FOR EACH ROW | ||
122 | -begin | ||
123 | - IF NEW.isLeaf = 1 THEN | ||
124 | - INSERT INTO `itsm_demo`.`system_handler` (`system_id`, `system_name`, `sort`, `system_type`, `enable`) VALUES (NEW.busId, NEW.busTypeName, NEW.sort, "0","0"); | ||
125 | - END IF; | ||
126 | -end$$ | ||
127 | -DELIMITER ; | ||
128 | --- 修改触发器 | ||
129 | -DELIMITER $$ | ||
130 | -CREATE TRIGGER syn_business_change AFTER UPDATE ON b_bustype | ||
131 | -FOR EACH ROW | ||
132 | -begin | ||
133 | - IF NEW.isLeaf = 1 and OLD.isLeaf =1 THEN | ||
134 | - UPDATE `itsm_demo`.`system_handler` SET `system_name` = NEW.busTypeName, `sort` = NEW.sort WHERE `system_id` = OLD.busId; | ||
135 | - ELSE | ||
136 | - DELETE FROM `itsm_demo`.`system_handler` where `system_id` = OLD.busId; | ||
137 | - END IF; | ||
138 | -end$$ | ||
139 | -DELIMITER ; | ||
140 | --- 删除触发器 | ||
141 | -DELIMITER $$ | ||
142 | -CREATE TRIGGER syn_business_delete AFTER DELETE ON b_bustype | ||
143 | -FOR EACH ROW | ||
144 | -begin | ||
145 | - IF OLD.isLeaf = 1 THEN | ||
146 | - DELETE FROM `itsm_demo`.`system_handler` where `system_id` = OLD.busId; | ||
147 | - END IF; | ||
148 | -end$$ | ||
149 | -DELIMITER ; | 117 | +-- 9、触发器及其他 |
118 | + -- 1、流程表添加是否是虚拟字段 | ||
119 | + ALTER TABLE `itsm_demo`.`system_handler` | ||
120 | + MODIFY COLUMN `isvirtual` varchar(1) NULL DEFAULT NULL COMMENT '是否虚拟 0:虚拟;1:正常' AFTER `enable`; | ||
121 | + -- 2、文件类型的备注由个人保密协议变成入场资料 | ||
122 | + ALTER TABLE `cloud_backend_monitor`.`b_ops_file` | ||
123 | + MODIFY COLUMN `type` int NULL DEFAULT NULL COMMENT '上传文件类型:10:入场资料,11:个人月度总结,21:月报,22:考勤记录,23:健康检查报告,31:文档资料,32:项目保密协议' AFTER `id`; | ||
124 | + -- 乙方运维项目表添加是否是虚拟字段 | ||
125 | + ALTER TABLE `cloud_backend_monitor`.`b_ops_project` | ||
126 | + ADD COLUMN `isvirtual` varchar(1) NULL COMMENT '是否虚拟 0:虚拟;1:正常' AFTER `enable`; | ||
127 | + -- 3、同步流程业务添加触发器 | ||
128 | + -- 新增触发器 | ||
129 | + DELIMITER $$ | ||
130 | + CREATE TRIGGER syn_business_add AFTER INSERT ON b_bustype | ||
131 | + FOR EACH ROW | ||
132 | + begin | ||
133 | + IF NEW.isLeaf = 1 THEN | ||
134 | + INSERT INTO `itsm_demo`.`system_handler` (`system_id`, `system_name`, `sort`, `system_type`, `enable`,`isvirtual`) VALUES (NEW.busId, NEW.busTypeName, NEW.sort, "0",NEW.isUse,"1"); | ||
135 | + END IF; | ||
136 | + end$$ | ||
137 | + DELIMITER ; | ||
138 | + | ||
139 | + | ||
140 | + -- 修改触发器 | ||
141 | + DELIMITER $$ | ||
142 | + CREATE TRIGGER syn_business_change AFTER UPDATE ON b_bustype | ||
143 | + FOR EACH ROW | ||
144 | + begin | ||
145 | + IF NEW.isLeaf = 1 and OLD.isLeaf =1 THEN | ||
146 | + UPDATE `itsm_demo`.`system_handler` SET `system_name` = NEW.busTypeName, `enable`= NEW.isUse, `sort` = NEW.sort WHERE `system_id` = OLD.busId; | ||
147 | + ELSE | ||
148 | + DELETE FROM `itsm_demo`.`system_handler` where `system_id` = OLD.busId; | ||
149 | + END IF; | ||
150 | + end$$ | ||
151 | + DELIMITER ; | ||
152 | + | ||
153 | + -- 删除触发器 | ||
154 | + DELIMITER $$ | ||
155 | + CREATE TRIGGER syn_business_delete AFTER DELETE ON b_bustype | ||
156 | + FOR EACH ROW | ||
157 | + begin | ||
158 | + IF OLD.isLeaf = 1 THEN | ||
159 | + DELETE FROM `itsm_demo`.`system_handler` where `system_id` = OLD.busId; | ||
160 | + END IF; | ||
161 | + end$$ | ||
162 | + DELIMITER ; | ||
163 | + | ||
164 | + -- 4、同步流程用户添加触发器 暂无删除触发器 如果有垃圾数据需要从库中sql进行删除 | ||
165 | + -- 新增触发器 | ||
166 | + DELIMITER $$ | ||
167 | + CREATE TRIGGER syn_person_add AFTER INSERT ON b_ops_project_person | ||
168 | + FOR EACH ROW | ||
169 | + begin | ||
170 | + -- 根据插入的项目id获取业务id | ||
171 | + select `busId` into @system_id_ from b_ops_project WHERE id = NEW.projectId; | ||
172 | + -- 根据用户Id获取用户昵称、在职状态 | ||
173 | + select `nickname`,`state` INTO @user_name_,@enable_ from b_ops_person WHERE id = NEW.personId; | ||
174 | + -- 插入用户信息 | ||
175 | + INSERT INTO `itsm_demo`.`system_handler_evaluate_user` (`system_id`, `user_id`, `user_name`, `enable`) VALUES (@system_id_, NEW.personId, @user_name_, @enable_); | ||
176 | + end$$ | ||
177 | + DELIMITER ; | ||
178 | + | ||
179 | + -- 修改触发器 | ||
180 | + -- 如果修改用户表,修改流程用户 | ||
181 | + DELIMITER $$ | ||
182 | + CREATE TRIGGER syn_ops_person_change AFTER UPDATE ON b_ops_person | ||
183 | + FOR EACH ROW | ||
184 | + begin | ||
185 | + -- 根据用户信息获取业务id | ||
186 | + select DISTINCT(a.`busId`) into @system_id_ from b_ops_project a left JOIN b_ops_project_person b on a.id=b.projectId where b.personId=OLD.id; | ||
187 | + -- 根据用户id修改流程用户信息 | ||
188 | + UPDATE `itsm_demo`.`system_handler_evaluate_user` SET `user_name` = NEW.nickname , `enable` = NEW.state WHERE `system_id` = @system_id_ and `user_id` = OLD.id; | ||
189 | + end$$ | ||
190 | + DELIMITER ; | ||
191 | + | ||
192 | + -- 5、流程项目同步是否虚拟和是否乙方运维项目 | ||
193 | + -- 新增触发器 修改流程业务的是否乙方运维和是否虚拟 | ||
194 | + DELIMITER $$ | ||
195 | + CREATE TRIGGER syn_project_add AFTER INSERT ON b_ops_project | ||
196 | + FOR EACH ROW | ||
197 | + begin | ||
198 | + -- 添加项目时修改是否乙方运维、是否虚拟 | ||
199 | + UPDATE `itsm_demo`.`system_handler` SET `system_type`=1 ,`isvirtual`=NEW.isvirtual WHERE `system_id` = NEW.busId; | ||
200 | + end$$ | ||
201 | + DELIMITER ; | ||
202 | + | ||
203 | + | ||
204 | + -- 修改触发器 修改流程业务的是否是虚拟 | ||
205 | + DELIMITER $$ | ||
206 | + CREATE TRIGGER syn_project_change AFTER UPDATE ON b_ops_project | ||
207 | + FOR EACH ROW | ||
208 | + begin | ||
209 | + -- 相当于项目被隐藏 | ||
210 | + IF NEW.`enable` = 1 THEN | ||
211 | + UPDATE `itsm_demo`.`system_handler` SET `system_type`=0 ,`isvirtual`=1 WHERE `system_id` = OLD.busId; | ||
212 | + ELSE | ||
213 | + -- 修改项目时修改是否是虚拟 | ||
214 | + UPDATE `itsm_demo`.`system_handler` SET `isvirtual`=NEW.isvirtual WHERE `system_id` = OLD.busId; | ||
215 | + END IF; | ||
216 | + end$$ | ||
217 | + DELIMITER ; | ||
218 | + | ||
219 | + -- 6、乙方运维项目表添加业务唯一键 | ||
220 | + ALTER TABLE `cloud_backend_monitor`.`b_ops_project` | ||
221 | + ADD UNIQUE INDEX `busId_unique`(`busId`); | ||
150 | 222 | ||
151 | -- 10、手动把系统中的业务同步到流程的itsm_demo库中的system_handler表。且同步过来的业务只能是叶子业务,并且不能为虚拟业务 | 223 | -- 10、手动把系统中的业务同步到流程的itsm_demo库中的system_handler表。且同步过来的业务只能是叶子业务,并且不能为虚拟业务 |
152 | --(system_handler中system_id是业务id busId,system_type为乙方运维时,能在monitor库b_ops_project查到 关键字段 busId) | 224 | --(system_handler中system_id是业务id busId,system_type为乙方运维时,能在monitor库b_ops_project查到 关键字段 busId) |
@@ -160,5 +232,11 @@ INSERT INTO `inspection-report`.`b_insepectionreport_type` (`id`, `pid`, `name`, | @@ -160,5 +232,11 @@ INSERT INTO `inspection-report`.`b_insepectionreport_type` (`id`, `pid`, `name`, | ||
160 | INSERT INTO `inspection-report`.`b_insepectionreport_type` (`id`, `pid`, `name`, `docNo`, `type`, `createUser`, `createTime`, `sort`, `status`) VALUES ('FOUR_HEALTH', '0', '健康检查报告', '10005', 'FOUR_HEALTH', 'admin', '2021-10-12 19:55:13', '10005', 0); | 232 | INSERT INTO `inspection-report`.`b_insepectionreport_type` (`id`, `pid`, `name`, `docNo`, `type`, `createUser`, `createTime`, `sort`, `status`) VALUES ('FOUR_HEALTH', '0', '健康检查报告', '10005', 'FOUR_HEALTH', 'admin', '2021-10-12 19:55:13', '10005', 0); |
161 | INSERT INTO `inspection-report`.`b_insepectionreport_type` (`id`, `pid`, `name`, `docNo`, `type`, `createUser`, `createTime`, `sort`, `status`) VALUES ('FOUR_MONTHLY', '0', '月报', '10003', 'FOUR_MONTHLY', 'admin', '2021-10-12 19:55:13', '10003', 0); | 233 | INSERT INTO `inspection-report`.`b_insepectionreport_type` (`id`, `pid`, `name`, `docNo`, `type`, `createUser`, `createTime`, `sort`, `status`) VALUES ('FOUR_MONTHLY', '0', '月报', '10003', 'FOUR_MONTHLY', 'admin', '2021-10-12 19:55:13', '10003', 0); |
162 | 234 | ||
163 | --- 12、修改属性分组字段长度 | ||
164 | -ALTER TABLE `cloud_backend_monitor`.`b_ops_person_property` MODIFY COLUMN `groupings` VARCHAR(100) NULL COMMENT '分组'; | 235 | +-- 王涛 inspection-report |
236 | +alter table b_inspection_document MODIFY column fileSize varchar(50) DEFAULT NULL COMMENT '文件大小'; | ||
237 | + | ||
238 | +ALTER TABLE `inspection-report`.`b_inspection_document` | ||
239 | +ADD COLUMN `status` int(1) DEFAULT '0' COMMENT '删除状态 0 正常,1删除,默认0'; | ||
240 | + | ||
241 | +ALTER TABLE `inspection-report`.`b_insepectionreport_type` | ||
242 | +ADD COLUMN `status` int(1) DEFAULT '0' COMMENT '删除状态 0 正常,1删除,默认0'; |
doc/功能优化记录/【徐毫杰】乙方运维.md
0 → 100644
@@ -2569,6 +2569,19 @@ layui.define(['soulTable', 'commonDetail', 'common', 'laytpl', 'view', 'admin', | @@ -2569,6 +2569,19 @@ layui.define(['soulTable', 'commonDetail', 'common', 'laytpl', 'view', 'admin', | ||
2569 | {field: 'resTypeName', title: '资源类型', minWidth: x_110, align: 'center'}, | 2569 | {field: 'resTypeName', title: '资源类型', minWidth: x_110, align: 'center'}, |
2570 | {field: 'state', title: '资源状态', minWidth: x_110, align: 'center', sort: true, templet: '#resStateTpl'} | 2570 | {field: 'state', title: '资源状态', minWidth: x_110, align: 'center', sort: true, templet: '#resStateTpl'} |
2571 | ], | 2571 | ], |
2572 | + "ARMS":[ | ||
2573 | + { | ||
2574 | + field: 'resName', title: '资源名称', minWidth: x_300, sort: true, | ||
2575 | + templet: '#resindex_resName' | ||
2576 | + }, | ||
2577 | + {field: 'health', title: '健康状态', minWidth: x_110, align: 'center', sort: true, templet: '#healthTpl'}, | ||
2578 | + {field: 'lastColTime', title: '最近采集时间', minWidth: x_160, align: 'center', sort: true}, | ||
2579 | + {field: 'linkState', title: '连接状态', align: 'center', minWidth: x_110, templet: '#linkStateTpl', sort: true}, | ||
2580 | + {field: 'adminName', title: '负责人', minWidth: x_120, align: 'center', sort: true}, | ||
2581 | + {field: 'adminPhone', title: '负责人电话', minWidth: x_130, align: 'center', sort: true}, | ||
2582 | + {field: 'resTypeName', title: '资源类型', minWidth: x_110, align: 'center'}, | ||
2583 | + {field: 'state', title: '资源状态', minWidth: x_110, align: 'center', sort: true, templet: '#resStateTpl'} | ||
2584 | + ], | ||
2572 | }, | 2585 | }, |
2573 | //列点击事件 | 2586 | //列点击事件 |
2574 | colsClickEvent: function (editFlag) { | 2587 | colsClickEvent: function (editFlag) { |
This diff could not be displayed because it is too large.
1 | +layui.define(['commonDetail','common', 'admin'], function (exports) { | ||
2 | + var $ = layui.$; | ||
3 | + var commonDetail = layui.commonDetail; | ||
4 | + var common = layui.common; | ||
5 | + var admin = layui.admin; | ||
6 | + //对外暴露的接口 | ||
7 | + exports('arms', function (data) { | ||
8 | + var resId = ''; | ||
9 | + var resType = ''; | ||
10 | + var os = ''; | ||
11 | + var domainName = common.domainName; | ||
12 | + var showFlag = common.getUrlParam("show"); | ||
13 | + if(showFlag && showFlag == '0'){ | ||
14 | + resId = common.getUrlParam("resId"); | ||
15 | + resType = common.getUrlParam("resType"); | ||
16 | + os = common.getUrlParam("os"); | ||
17 | + }else{ | ||
18 | + resId = data.resId; | ||
19 | + resType = data.resType; | ||
20 | + os = data.os; | ||
21 | + } | ||
22 | + | ||
23 | + //基本信息 | ||
24 | + var jbxxKpi = "KPIE13DD9A3,KPIF74D9D2B"; | ||
25 | + | ||
26 | + commonDetail.bindTips(); | ||
27 | + | ||
28 | + renderPageInfo() | ||
29 | + | ||
30 | + //渲染页面 | ||
31 | + function renderPageInfo() { | ||
32 | + //资源状态 | ||
33 | + commonDetail.renderResHealth("arms_health_state", resId); | ||
34 | + //基本信息 | ||
35 | + commonDetail.renderText("arms_baseinfo", resId, jbxxKpi, null, null, null, "true"); | ||
36 | + | ||
37 | + //GC瞬时次数/每分钟 | ||
38 | + dataRenderingBase("arms_frequency_lineChart", resId, "KPIB30309CF,KPI6AFFCBDB", "GC瞬时次数/每分钟", null); | ||
39 | + // //GC瞬时耗时/每分钟 | ||
40 | + dataRenderingBase("arms_elapsed_lineChart", resId, "KPI5769F327,KPI8B2CCCCF", "GC瞬时耗时/每分钟", null); | ||
41 | + // //堆内存详情/每分钟 | ||
42 | + dataRenderingBase("arms_JVM_memory_lineChart", resId, "KPI5C214A8F,KPI14BD24A7,KPI206706E5", "堆内存详情/每分钟", null); | ||
43 | + // //非堆内存/每分钟 | ||
44 | + dataRenderingBase("arms_NOJVN_memory_lineChart", resId, "KPIA751DDD7,KPIB0C32458,KPIBEA62DAA,KPID346BB6F", "非堆内存/每分钟", null); | ||
45 | + // //直接缓冲区/每分钟 | ||
46 | + dataRenderingBase("arms_cacheRegion_lineChart", resId, "KPIBAD64951,KPIA80D93D8", "直接缓冲区/每分钟", null); | ||
47 | + // //JVM线程数/每分钟 | ||
48 | + dataRenderingBase("arms_JVM_threadCount_lineChart", resId, "KPI7C4BEB26,KPI97B71BAA,KPI15EC2627,KPIA9E2E4DE,KPI068D9FA5,KPI6ECA9036,KPI328E5AFE,KPI8F8FAD7F", "JVM线程数/每分钟", null, 1); | ||
49 | + | ||
50 | + //活动告警 | ||
51 | + commonDetail.renderActiveAlarms("arms_active_alram", resId); | ||
52 | + } | ||
53 | + | ||
54 | + //折线图数据渲染及页面设置 | ||
55 | + function dataRenderingBase(id, resId, kpiId, title, flag) { | ||
56 | + var dataList = {}; | ||
57 | + var item = {}; | ||
58 | + var other = {}; | ||
59 | + item.legend = {}; | ||
60 | + item.x = {}; | ||
61 | + item.y = {}; | ||
62 | + //获取数据 | ||
63 | + admin.req({ | ||
64 | + url: domainName + '/api-web/details/getBase', | ||
65 | + data: { | ||
66 | + resId: resId, | ||
67 | + kpiIds: kpiId, | ||
68 | + } | ||
69 | + }).done(function (response) { | ||
70 | + if (response.success && !response.msg) {//有数据 | ||
71 | + dataList.legend = response.map.legend; | ||
72 | + dataList.x = response.map.x; | ||
73 | + if (response.map.y != null && response.map.y.length === 1) { | ||
74 | + dataList.y = response.map.y; | ||
75 | + } else { | ||
76 | + var series=[]; | ||
77 | + $.each(response.map.y, function (i, v) { | ||
78 | + var lineIndex = Math.ceil(Math.random() * 6); | ||
79 | + var item = { | ||
80 | + name:dataList.legend[i], | ||
81 | + stack:'Total', | ||
82 | + type: 'line', | ||
83 | + emphasis: { | ||
84 | + focus: 'series' | ||
85 | + }, | ||
86 | + itemStyle: { | ||
87 | + normal: { | ||
88 | + color: common.colorsArr[i%6].start | ||
89 | + } | ||
90 | + }, | ||
91 | + data: v, | ||
92 | + }; | ||
93 | + series.push(item); | ||
94 | + }); | ||
95 | + other["series"]=series; | ||
96 | + } | ||
97 | + initLinChart(id, resId, kpiId, title, flag, dataList, other); | ||
98 | + } else {//无数据 | ||
99 | + //初始化数据 | ||
100 | + } | ||
101 | + }); | ||
102 | + //页面渲染 | ||
103 | + return {item, other} | ||
104 | + } | ||
105 | + //初始化折线图 | ||
106 | + function initLinChart(id, resId, kpiId, title, flag, data, other) { | ||
107 | + //初始化echarts | ||
108 | + var myChart = echarts.init(document.getElementById(id)); | ||
109 | + | ||
110 | + //初始化配置option | ||
111 | + var option; | ||
112 | + option = { | ||
113 | + legend: {//设置图表图例 | ||
114 | + data: data.legend, | ||
115 | + }, | ||
116 | + tooltip: { | ||
117 | + trigger: 'axis', | ||
118 | + }, | ||
119 | + toolbox: { | ||
120 | + feature: { | ||
121 | + saveAsImage: {} | ||
122 | + } | ||
123 | + }, | ||
124 | + xAxis: {//X轴数据 | ||
125 | + type: 'category', | ||
126 | + boundaryGap: false, | ||
127 | + data: data.x, | ||
128 | + }, | ||
129 | + yAxis: {//设置提示 | ||
130 | + type: 'value' | ||
131 | + }, | ||
132 | + grid: { //直角坐标系内绘图网格 | ||
133 | + left: '3%', | ||
134 | + right: '4%', | ||
135 | + bottom: '3%', | ||
136 | + containLabel: true | ||
137 | + }, | ||
138 | + series: [//y轴数据 | ||
139 | + { | ||
140 | + data: data.y?data.y:{}, | ||
141 | + type: 'line', | ||
142 | + smooth: true | ||
143 | + } | ||
144 | + ] | ||
145 | + }; | ||
146 | + //获取传入option对象 | ||
147 | + var keys = Object.keys(other); | ||
148 | + //替换option属性 | ||
149 | + keys.forEach(item => { | ||
150 | + option[item]=other[item]; | ||
151 | + }); | ||
152 | + option && myChart.setOption(option); | ||
153 | + } | ||
154 | + | ||
155 | + | ||
156 | + //定时任务 | ||
157 | + var timer = setInterval(function () { | ||
158 | + renderPageInfo() | ||
159 | + },commonDetail.timerTime); | ||
160 | + commonDetail.detailTimer.push(timer); | ||
161 | + }); | ||
162 | +}); |
1 | +<!--arms详细页面--> | ||
2 | +<article class="page-container template"> | ||
3 | + <div class="page-panel"> | ||
4 | + <div class="main"> | ||
5 | + <div class="layui-card template_detail_content"> | ||
6 | + <div class="layui-card-body"> | ||
7 | + <div class="lay-row"> | ||
8 | + <div class="lay-row-item"> | ||
9 | + <h5 class="lay-row-title">资源状态</h5> | ||
10 | + <div class="res-state" id="arms_health_state"></div> | ||
11 | + </div> | ||
12 | + <div class="lay-row-item"> | ||
13 | + <h5 class="lay-row-title">堆内存详情/每分钟</h5> | ||
14 | + <div id="arms_JVM_memory_lineChart" class="detail_line_chart"></div> | ||
15 | + </div> | ||
16 | + <div class="lay-row-item"> | ||
17 | + <h5 class="lay-row-title">JVM线程数/每分钟</h5> | ||
18 | + <div id="arms_JVM_threadCount_lineChart" class="detail_line_chart"></div> | ||
19 | + </div> | ||
20 | + </div> | ||
21 | + <div class="lay-row"> | ||
22 | + <div class="lay-row-item"> | ||
23 | + <h5 class="lay-row-title">GC瞬时次数/每分钟</h5> | ||
24 | + <div id="arms_frequency_lineChart" class="detail_line_chart"></div> | ||
25 | + </div> | ||
26 | + <div class="lay-row-item"> | ||
27 | + <h5 class="lay-row-title">GC瞬时耗时/每分钟</h5> | ||
28 | + <div id="arms_elapsed_lineChart" class="detail_line_chart"></div> | ||
29 | + </div> | ||
30 | + <div class="lay-row-item"> | ||
31 | + <h5 class="lay-row-title">非堆内存/每分钟</h5> | ||
32 | + <div id="arms_NOJVN_memory_lineChart" class="detail_line_chart"></div> | ||
33 | + </div> | ||
34 | + <div class="lay-row-item"> | ||
35 | + <h5 class="lay-row-title">直接缓冲区/每分钟</h5> | ||
36 | + <div id="arms_cacheRegion_lineChart" class="detail_line_chart"></div> | ||
37 | + </div> | ||
38 | + </div> | ||
39 | + <div class="lay-row"> | ||
40 | + <div class="lay-row-item"> | ||
41 | + <h5 class="lay-row-title">实时告警动态</h5> | ||
42 | + <div id="arms_active_alram"></div> | ||
43 | + </div> | ||
44 | + </div> | ||
45 | + </div> | ||
46 | + </div> | ||
47 | + </div> | ||
48 | + </div> | ||
49 | +</article> | ||
50 | +<textarea id="arms_param_id" style="display: none;">{{d}}</textarea> | ||
51 | +<script> | ||
52 | + layui.use('arms', function (fn) { | ||
53 | + var $ = layui.$; | ||
54 | + var parm = $("#arms_param_id").val(); | ||
55 | + if(parm.indexOf('{{d') != -1){ | ||
56 | + fn(); | ||
57 | + }else{ | ||
58 | + fn(JSON.parse(parm)); | ||
59 | + } | ||
60 | + }); | ||
61 | +</script> |
-
Please register or login to post a comment