Commit 0d158bff authored by zhengfunan's avatar zhengfunan

累计更新,加超时时间,加百分比告警

parent de2beda0
Pipeline #373 failed with stages
package com.yingxin.prms;
import com.yingxin.prms.config.TopologyConfig;
import com.yingxin.prms.dto.TcpFlowLineDto;
import com.yingxin.prms.dto.TcpFlowNodeDto;
import net.sf.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.annotation.EnableScheduling;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@EnableAsync
@EnableScheduling
@SpringBootApplication
public class Main {
@Autowired
private TopologyConfig topologyConfig;
/* @Bean
public ServletRegistrationBean jerseyServlet() {
ServletRegistrationBean registration = new ServletRegistrationBean(
......@@ -22,5 +34,19 @@ public class Main {
public static void main(String[] args) {
SpringApplication.run(Main.class, args);
}
// @Bean
// public String initTopology2(){
// String data = "{\"nodeDataArray\":[{\"caption\":\"\",\"category\":\"clusterFault\",\"description\":\"服务异常数:1/1\\r\\n192.168.65.4\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"接入管理\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"签名验签接入服务\",\"pos\":\"-2463.127211029993 106.25214958572457\",\"serverName\":\"签名验签接入服务\",\"tcpTransactionTotalCount\":0,\"text\":\"签名验签接入服务\",\"url\":\"http://192.168.65.4:8889/swtz/api/v1/sign/viid\"},{\"caption\":\"\",\"category\":\"clusterFault\",\"description\":\"服务异常数:5/5\\r\\n192.168.65.5\\r\\n192.168.65.9\\r\\n192.168.65.15\\r\\n192.168.65.17\\r\\n192.168.65.254\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"核心调度服务\",\"pos\":\"-1845.8604475152074 -149.24767967140826\",\"serverName\":\"核心调度服务\",\"tcpTransactionTotalCount\":0,\"text\":\"核心调度服务\",\"url\":\"http://10.104.64.10:8900/api/v1/ytcr-basic\"},{\"caption\":\"\",\"category\":\"clusterNormal\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"算法融合调度\",\"pos\":\"-1095.0661472307404 -154.7399731806717\",\"serverName\":\"算法融合调度\",\"tcpTransactionTotalCount\":0,\"text\":\"算法融合调度\",\"url\":\"wu\"},{\"caption\":\"\",\"category\":\"clusterFault\",\"description\":\"服务异常数:3/3\\r\\n192.168.83.93\\r\\n192.168.83.154\\r\\n192.168.83.171\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"核心业务区\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"其他业务\",\"pos\":\"-1420.0993644719717 238.676497100105\",\"serverName\":\"其他业务\",\"tcpTransactionTotalCount\":0,\"text\":\"其他业务\",\"url\":\"http://10.104.64.10:9999/inapiservice/specialData\"},{\"caption\":\"\",\"category\":\"clusterFault\",\"description\":\"服务异常数:1/1\\r\\n192.168.65.27\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"权限管理\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"业务统计服务\",\"pos\":\"-2469.4486742592817 -399.80269502746535\",\"serverName\":\"业务统计服务\",\"tcpTransactionTotalCount\":0,\"text\":\"业务统计服务\",\"url\":\"http://192.168.65.27:8780/statistics/getVisits\"},{\"caption\":\"\",\"category\":\"clusterFault\",\"description\":\"服务异常数:1/1\\r\\n192.168.65.23\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"权限管理\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"账户管理服务\",\"pos\":\"-2470.8717766024856 -301.2059119904602\",\"serverName\":\"账户管理服务\",\"tcpTransactionTotalCount\":0,\"text\":\"账户管理服务\",\"url\":\"http://10.104.64.62:8764/swtz/api/v1/account/findAppData?pageNum=1&pageSize=1\"},{\"caption\":\"\",\"category\":\"serviceGroup\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"接入区\",\"imgsrc\":\"\",\"isGroup\":true,\"key\":\"接入管理\",\"pos\":\"-2470.4441227074676 67.10778818688652\",\"serverName\":\"接入管理\",\"tcpTransactionTotalCount\":0,\"text\":\"接入管理\",\"url\":\"\"},{\"caption\":\"\",\"category\":\"clusterFault\",\"description\":\"服务异常数:3/3\\r\\n192.168.65.11\\r\\n192.168.65.21\\r\\n192.168.65.254\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"接入管理\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"VPN方式接入服务\",\"pos\":\"-2461.8425272081004 225.50451439690795\",\"serverName\":\"VPN方式接入服务\",\"tcpTransactionTotalCount\":0,\"text\":\"VPN方式接入服务\",\"url\":\"http://10.104.64.10:8888/swtz/api/v1/vpn/ytcr-basic\"},{\"caption\":\"\",\"category\":\"machine\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"权限管理\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"mysql组件\",\"pos\":\"-2747.9967076062962 -316.6959261434621\",\"serverName\":\"mysql组件\",\"tcpTransactionTotalCount\":0,\"text\":\"mysql组件\",\"url\":\"\"},{\"caption\":\"\",\"category\":\"machine\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"权限管理\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"平台运营管理\",\"pos\":\"-2178.4925748652436 -395.4404141980345\",\"serverName\":\"平台运营管理\",\"tcpTransactionTotalCount\":0,\"text\":\"平台运营管理\",\"url\":\"\"},{\"caption\":\"\",\"category\":\"customer\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"接入管理\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"公安网VPN用户\",\"pos\":\"-2944.7054809506176 215.92855141996785\",\"serverName\":\"公安网VPN用户\",\"tcpTransactionTotalCount\":0,\"text\":\"公安网VPN用户\",\"url\":\"\"},{\"caption\":\"\",\"category\":\"clusterFault\",\"description\":\"服务异常数:3/3\\r\\n192.168.65.16\\r\\n192.168.65.20\\r\\n192.168.65.254\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"接入管理\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"token方式接入服务\",\"pos\":\"-2462.1592005032976 -5.544138435428806\",\"serverName\":\"token方式接入服务\",\"tcpTransactionTotalCount\":0,\"text\":\"token方式接入服务\",\"url\":\"http://10.104.64.10:8887/swtz/api/v1/token/ytcr-basic\"},{\"caption\":\"\",\"category\":\"clusterFault\",\"description\":\"服务异常数:2/2\\r\\n192.168.56.17\\r\\n192.168.56.13\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"算法区\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"人脸识别引擎2\",\"pos\":\"-794.0794370058338 -330.5426859782368\",\"serverName\":\"人脸识别引擎2\",\"tcpTransactionTotalCount\":0,\"text\":\"人脸识别引擎2\",\"url\":\"http://10.104.96.7:10006/algorithm/compareImageAndImage\"},{\"caption\":\"\",\"category\":\"clusterFault\",\"description\":\"服务异常数:2/2\\r\\n192.168.56.17\\r\\n192.168.56.13\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"算法区\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"图像质量评估引擎\",\"pos\":\"-793.741194565195 33.65468276171265\",\"serverName\":\"图像质量评估引擎\",\"tcpTransactionTotalCount\":0,\"text\":\"图像质量评估引擎\",\"url\":\"http://10.104.96.7:10006/algorithm/getFeature\"},{\"caption\":\"\",\"category\":\"customer\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"接入管理\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"公安网用户\",\"pos\":\"-2945.745924564097 -4.707784550416079\",\"serverName\":\"公安网用户\",\"tcpTransactionTotalCount\":0,\"text\":\"公安网用户\",\"url\":\"\"},{\"caption\":\"\",\"category\":\"serviceGroup\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"接入区\",\"imgsrc\":\"\",\"isGroup\":true,\"key\":\"权限管理\",\"pos\":\"-2470.4441227074676 67.10778818688652\",\"serverName\":\"权限管理\",\"tcpTransactionTotalCount\":0,\"text\":\"权限管理\",\"url\":\"\"},{\"caption\":\"\",\"category\":\"clusterFault\",\"description\":\"服务异常数:2/2\\r\\n192.168.56.17\\r\\n192.168.56.13\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"算法区\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"其他引擎\",\"pos\":\"-787.3882199696177 232.6109515277932\",\"serverName\":\"其他引擎\",\"tcpTransactionTotalCount\":0,\"text\":\"其他引擎\",\"url\":\"http://10.104.96.7:10006/algorithm/compareImageAndFeature\"},{\"caption\":\"\",\"category\":\"serviceGroup\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"\",\"imgsrc\":\"\",\"isGroup\":true,\"key\":\"日志汇聚\",\"pos\":\"-2470.4441227074676 67.10778818688652\",\"serverName\":\"日志汇聚\",\"tcpTransactionTotalCount\":0,\"text\":\"日志汇聚\",\"url\":\"\"},{\"caption\":\"\",\"category\":\"clusterFault\",\"description\":\"服务异常数:2/2\\r\\n192.168.56.17\\r\\n192.168.56.13\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"算法区\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"人脸识别引擎1\",\"pos\":\"-795.50354774112 -529.2590939843669\",\"serverName\":\"人脸识别引擎1\",\"tcpTransactionTotalCount\":0,\"text\":\"人脸识别引擎1\",\"url\":\"http://10.104.96.7:10006/algorithm/compareFeatureAndFeature\"},{\"caption\":\"\",\"category\":\"clusterFault\",\"description\":\"服务异常数:3/3\\r\\n192.168.65.10\\r\\n192.168.65.19\\r\\n192.168.65.254\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"权限管理\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"权限核验facl\",\"pos\":\"-2945.9602038133676 -378.07570696219545\",\"serverName\":\"权限核验facl\",\"tcpTransactionTotalCount\":0,\"text\":\"权限核验facl\",\"url\":\"http://10.104.64.10:8763/facl/api/v1/access/frifffcc207-3b64-4736-bbbf-614e85e5eb8c\"},{\"caption\":\"\",\"category\":\"machine\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"接入管理\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"签名服务器\",\"pos\":\"-2788.2169873335274 107.07112890709965\",\"serverName\":\"签名服务器\",\"tcpTransactionTotalCount\":0,\"text\":\"签名服务器\",\"url\":\"\"},{\"caption\":\"\",\"category\":\"serviceGroup\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"\",\"imgsrc\":\"\",\"isGroup\":true,\"key\":\"接入区\",\"pos\":\"-2470.4441227074676 67.10778818688652\",\"serverName\":\"接入区\",\"tcpTransactionTotalCount\":0,\"text\":\"接入区\",\"url\":\"\"},{\"caption\":\"\",\"category\":\"clusterFault\",\"description\":\"服务异常数:3/3\\r\\n192.168.83.93\\r\\n192.168.83.154\\r\\n192.168.83.171\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"核心业务区\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"实时身份识别\",\"pos\":\"-1427.981996444922 -531.9018931313208\",\"serverName\":\"实时身份识别\",\"tcpTransactionTotalCount\":0,\"text\":\"实时身份识别\",\"url\":\"http://10.104.64.10:9999/inapiservice/syncData\"},{\"caption\":\"\",\"category\":\"clusterFault\",\"description\":\"服务异常数:1/1\\r\\n192.168.65.22\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"权限管理\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"业务权限配置\",\"pos\":\"-2466.8006975387125 -495.1785501161956\",\"serverName\":\"业务权限配置\",\"tcpTransactionTotalCount\":0,\"text\":\"业务权限配置\",\"url\":\"http://10.104.64.61:8773/swtz/api/v1/permission/areas\"},{\"caption\":\"\",\"category\":\"clusterNormal\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"核心业务区\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"聚档人员实名化\",\"pos\":\"-1420.6630672298636 -154.23641296587357\",\"serverName\":\"聚档人员实名化\",\"tcpTransactionTotalCount\":0,\"text\":\"聚档人员实名化\",\"url\":\"http://10.104.64.10:9999/inapiservice/syncDataMCompareN\"},{\"caption\":\"\",\"category\":\"clusterFault\",\"description\":\"服务异常数:2/2\\r\\n192.168.56.17\\r\\n192.168.56.13\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"算法区\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"人脸识别引擎3\",\"pos\":\"-790.8558306858519 -158.8837184094188\",\"serverName\":\"人脸识别引擎3\",\"tcpTransactionTotalCount\":0,\"text\":\"人脸识别引擎3\",\"url\":\"http://10.104.96.7:10006/algorithm/getTopNByImage\"},{\"caption\":\"\",\"category\":\"clusterFault\",\"description\":\"服务异常数:3/3\\r\\n192.168.65.6\\r\\n192.168.65.18\\r\\n192.168.65.254\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"接入管理\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"token核验服务\",\"pos\":\"-2782.5727456088453 -71.48395885924407\",\"serverName\":\"token核验服务\",\"tcpTransactionTotalCount\":0,\"text\":\"token核验服务\",\"url\":\"http://10.104.64.10:8886/swtz/api/v1/appid/frifffcc207-3b64-4736-bbbf-614e85e5eb8c\"},{\"caption\":\"\",\"category\":\"serviceGroup\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"\",\"imgsrc\":\"\",\"isGroup\":true,\"key\":\"核心业务区\",\"pos\":\"-2470.4441227074676 67.10778818688652\",\"serverName\":\"核心业务区\",\"tcpTransactionTotalCount\":0,\"text\":\"核心业务区\",\"url\":\"\"},{\"caption\":\"\",\"category\":\"clusterFault\",\"description\":\"服务异常数:6/6\\r\\n192.168.83.169\\r\\n192.168.83.53\\r\\n192.168.83.87\\r\\n192.168.83.39\\r\\n192.168.83.7\\r\\n192.168.83.194\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"日志汇聚\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"日志汇聚服务\",\"pos\":\"-1842.6196781407054 389.29310764439833\",\"serverName\":\"日志汇聚服务\",\"tcpTransactionTotalCount\":0,\"text\":\"日志汇聚服务\",\"url\":\"http://10.104.64.10:9998/swtz/api/v1/log/yxinfo\"},{\"caption\":\"\",\"category\":\"machine\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"权限管理\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"redis组件\",\"pos\":\"-2746.0454385842613 -445.1364631782296\",\"serverName\":\"redis组件\",\"tcpTransactionTotalCount\":0,\"text\":\"redis组件\",\"url\":\"\"},{\"caption\":\"\",\"category\":\"serviceGroup\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"\",\"imgsrc\":\"\",\"isGroup\":true,\"key\":\"算法区\",\"pos\":\"-2470.4441227074676 67.10778818688652\",\"serverName\":\"算法区\",\"tcpTransactionTotalCount\":0,\"text\":\"算法区\",\"url\":\"\"}],\"linkDataArray\":[{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"签名验签接入服务\",\"fromSpot\":\"left\",\"points\":[-2443.1272,122.21617,-2350.4065,79.53797,-1961.305,-81.39545,-1865.8605,-116.54855],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"核心调度服务\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"签名验签接入服务\",\"fromSpot\":\"left\",\"points\":[-2483.1272,130.05406,-2526.4644,127.77323,-2718.4004,121.53132,-2768.2173,121.07386],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"签名服务器\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"核心调度服务\",\"fromSpot\":\"left\",\"points\":[-1829.5426,-103.88469,-1523.3147,271.57135,-1448.9481,220.92892,-1438.2506,232.60799],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"其他业务\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"核心调度服务\",\"fromSpot\":\"left\",\"points\":[-1825.8605,-142.625,-1656.6611,-300.46097,-1460.7352,-482.53665,-1447.982,-491.94516],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"实时身份识别\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"核心调度服务\",\"fromSpot\":\"left\",\"points\":[-1825.8605,-124.46138,-1652.6799,-128.74118,-1452.486,-133.18225,-1440.6631,-131.65459],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"聚档人员实名化\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"算法融合调度\",\"fromSpot\":\"left\",\"points\":[-1078.2931,-149.37698,-1002.93365,-238.33588,-886.8353,-382.6999,-810.6254,-483.89612],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"人脸识别引擎1\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"算法融合调度\",\"fromSpot\":\"left\",\"points\":[-1075.0662,-139.37756,-1030.429,-160.6726,-854.43567,-262.8707,-814.0794,-291.2545],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"人脸识别引擎2\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"算法融合调度\",\"fromSpot\":\"left\",\"points\":[-1075.0662,-130.02457,-1029.186,-130.51222,-861.08075,-124.65905,-810.85583,-131.08195],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"人脸识别引擎3\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"算法融合调度\",\"fromSpot\":\"left\",\"points\":[-1080.2196,-109.37698,-1037.917,-51.283752,-908.5645,206.8055,-807.38824,239.9211],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"其他引擎\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"算法融合调度\",\"fromSpot\":\"left\",\"points\":[-1075.0662,-114.96051,-1035.2916,-85.28983,-873.9964,9.791791,-813.7412,46.667202],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"图像质量评估引擎\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"其他业务\",\"fromSpot\":\"left\",\"points\":[-1400.0994,244.36473,-1323.7823,213.19237,-1160.1785,-54.439087,-1112.6876,-109.37698],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"算法融合调度\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"业务统计服务\",\"fromSpot\":\"left\",\"points\":[-2449.4485,-372.6457,-2408.021,-368.6023,-2233.3599,-373.2285,-2198.4924,-371.68546],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"平台运营管理\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"账户管理服务\",\"fromSpot\":\"left\",\"points\":[-2450.8718,-283.06863,-2410.5796,-297.39114,-2246.859,-348.63968,-2198.4924,-364.06],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"平台运营管理\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"接入管理\",\"fromSpot\":\"left\",\"points\":[-2817.5144,-159.23601,-2841.3933,-205.58759,-2817.9036,-243.54765,-2815.9187,-244.84293],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"权限管理\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"VPN方式接入服务\",\"fromSpot\":\"left\",\"points\":[-2441.8425,239.45357,-2345.7249,185.69232,-1957.4937,-50.363186,-1865.8605,-110.760994],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"核心调度服务\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"mysql组件\",\"fromSpot\":\"left\",\"points\":[-2727.9968,-316.7836,-2724.7036,-318.7273,-2638.7578,-366.8346,-2486.8008,-457.89105],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"业务权限配置\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"mysql组件\",\"fromSpot\":\"left\",\"points\":[-2727.9968,-306.65817,-2658.4453,-320.6478,-2548.8176,-353.0514,-2489.4485,-368.79056],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"业务统计服务\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"mysql组件\",\"fromSpot\":\"left\",\"points\":[-2727.9968,-301.3742,-2684.0173,-298.18585,-2541.3562,-279.6743,-2490.8718,-277.01022],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"账户管理服务\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"公安网VPN用户\",\"fromSpot\":\"left\",\"points\":[-2924.7058,242.85365,-2852.3623,248.22227,-2553.5627,253.87285,-2481.8423,251.5376],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"VPN方式接入服务\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"token方式接入服务\",\"fromSpot\":\"left\",\"points\":[-2442.1592,14.156112,-2349.0156,-11.674806,-1960.547,-97.68063,-1865.8605,-119.33089],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"核心调度服务\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"公安网用户\",\"fromSpot\":\"left\",\"points\":[-2925.7458,10.660995,-2853.2915,16.1534,-2554.0034,22.315296,-2482.1592,20.10292],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"token方式接入服务\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"公安网用户\",\"fromSpot\":\"left\",\"points\":[-2925.7458,15.487183,-2855.5762,37.6862,-2527.5059,111.93344,-2483.1272,125.15764],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"签名验签接入服务\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"权限核验facl\",\"fromSpot\":\"left\",\"points\":[-2925.9602,-349.72784,-2908.5298,-346.86475,-2817.9568,-324.4188,-2767.9968,-309.19727],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"mysql组件\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"权限核验facl\",\"fromSpot\":\"left\",\"points\":[-2925.9602,-361.067,-2894.6836,-373.7726,-2799.9043,-408.60327,-2766.0452,-423.17557],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"redis组件\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"实时身份识别\",\"fromSpot\":\"left\",\"points\":[-1409.4061,-486.5389,-1360.3721,-433.49808,-1156.7129,-203.07487,-1111.5674,-149.37698],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"算法融合调度\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"业务权限配置\",\"fromSpot\":\"left\",\"points\":[-2446.8008,-462.3291,-2405.2397,-446.38104,-2238.3708,-387.49136,-2198.4924,-376.3757],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"平台运营管理\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"聚档人员实名化\",\"fromSpot\":\"left\",\"points\":[-1400.6631,-129.61774,-1364.3424,-130.26343,-1192.733,-126.741714,-1115.0662,-128.90654],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"算法融合调度\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"token核验服务\",\"fromSpot\":\"left\",\"points\":[-2762.5728,-42.64909,-2636.2908,-19.446936,-2490.4124,7.8703218,-2482.1594,11.236407],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"token方式接入服务\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"日志汇聚服务\",\"fromSpot\":\"\",\"points\":[-1862.6196,413.9407,-2537.1272,391.13672,-2496.2039,351.34506,-2504.658,287.8675],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"接入区\",\"toSpot\":\"\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"日志汇聚服务\",\"fromSpot\":\"\",\"points\":[-1822.6196,407.87436,-1568.1208,321.57715,-1429.4738,301.8925,-1429.2733,283.608],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"核心业务区\",\"toSpot\":\"\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"日志汇聚服务\",\"fromSpot\":\"\",\"points\":[-1822.6196,413.46805,-1410.79,389.0046,-791.8405,478.9079,-792.2562,277.54245],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"算法区\",\"toSpot\":\"\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"redis组件\",\"fromSpot\":\"left\",\"points\":[-2726.0452,-436.73816,-2708.7402,-441.31354,-2620.5786,-451.3953,-2486.8008,-467.50116],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"token核验业务权限配置服务\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"redis组件\",\"fromSpot\":\"left\",\"points\":[-2726.0452,-436.73816,-2708.7402,-441.31354,-2620.5786,-451.3953,-2486.8008,-467.50116],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"业务权限配置\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"redis组件\",\"fromSpot\":\"left\",\"points\":[-2726.0452,-424.7821,-2687.9958,-412.83206,-2527.5696,-379.66995,-2489.4485,-375.86188],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"业务统计服务\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"redis组件\",\"fromSpot\":\"left\",\"points\":[-2726.0452,-420.1259,-2692.3467,-401.301,-2525.376,-310.4732,-2490.8718,-288.80563],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"账户管理服务\",\"toSpot\":\"right\"}]}";
// topologyConfig.getTopology2().fromObject(data);
//// topologyConfig.getTopology2().put("class", "GraphLinksModel");
//// List<TcpFlowNodeDto> tcpFlowNodeDtos = new ArrayList<>();
//// List<TcpFlowLineDto> tcpFlowLineDtos = new ArrayList<>();
////
////
//// topologyConfig.getTopology2().put("nodeDataArray", tcpFlowNodeDtos);
//// topologyConfig.getTopology2().put("linkDataArray", tcpFlowLineDtos);
// return topologyConfig.getTopology2().toString();
// }
}
package com.yingxin.prms.api;
import com.yingxin.prms.domain.Server_Host_Info;
import com.yingxin.prms.config.TopologyConfig;
import com.yingxin.prms.service.business.Manager;
import com.yingxin.prms.service.dao.CassandraDaoImpl;
import jdk.nashorn.internal.runtime.JSONListAdapter;
import net.sf.json.JSON;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.task.AsyncTaskExecutor;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import org.springframework.web.bind.annotation.*;
import javax.ws.rs.POST;
import java.util.HashMap;
import java.util.Map;
......@@ -22,12 +24,14 @@ public class ReliabilityApi {
private final Manager manager;
private final AsyncTaskExecutor taskExecutor;
private final CassandraDaoImpl cassandraDao;
private final TopologyConfig topologyConfig;
@Autowired
public ReliabilityApi(Manager manager, AsyncTaskExecutor taskExecutor, CassandraDaoImpl cassandraDao) {
public ReliabilityApi(Manager manager, AsyncTaskExecutor taskExecutor, CassandraDaoImpl cassandraDao, TopologyConfig topologyConfig) {
this.manager = manager;
this.taskExecutor = taskExecutor;
this.cassandraDao = cassandraDao;
this.topologyConfig = topologyConfig;
}
/**
......@@ -92,8 +96,28 @@ public class ReliabilityApi {
* @return
*/
@GetMapping("selectTopology")
public Map selectTopology(){
return manager.selectTopology();
public String selectTopology(){
Map<String,Object> map = manager.selectTopology();
JSONObject json = JSONObject.fromObject(map);
return json.toString();
}
/**
* 获取拓扑图数据(从内存读取数据 假数据)
*
* @return
*/
@GetMapping("selectTopology2")
public String selectTopology2(){
if (topologyConfig.getJson().size()==0){
// String data = "{\"nodeDataArray\":[{\"caption\":\"\",\"category\":\"clusterNormal\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"接入管理\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"签名验签接入服务\",\"pos\":\"-2483.6842129933902 14.593516452874084\",\"serverName\":\"签名验签接入服务\",\"tcpTransactionTotalCount\":0,\"text\":\"签名验签接入服务\",\"url\":\"http://192.168.65.4:8889/swtz/api/v1/sign/viid\"},{\"caption\":\"\",\"category\":\"clusterNormal\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"核心调度服务\",\"pos\":\"-1797.265820568994 -266.9314959929493\",\"serverName\":\"核心调度服务\",\"tcpTransactionTotalCount\":0,\"text\":\"核心调度服务\",\"url\":\"http://10.104.64.10:8900/api/v1/ytcr-basic\"},{\"caption\":\"\",\"category\":\"clusterNormal\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"算法融合调度\",\"pos\":\"-1098.6494613611756 -274.18377752850535\",\"serverName\":\"算法融合调度\",\"tcpTransactionTotalCount\":0,\"text\":\"算法融合调度\",\"url\":\"wu\"},{\"caption\":\"\",\"category\":\"clusterNormal\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"核心业务区\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"其他业务\",\"pos\":\"-1419.1931649568446 13.029493955336704\",\"serverName\":\"其他业务\",\"tcpTransactionTotalCount\":0,\"text\":\"其他业务\",\"url\":\"http://10.104.64.10:9999/inapiservice/specialData\"},{\"caption\":\"\",\"category\":\"clusterNormal\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"权限管理\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"业务统计服务\",\"pos\":\"-2475.798197313072 -414.1359515492054\",\"serverName\":\"业务统计服务\",\"tcpTransactionTotalCount\":0,\"text\":\"业务统计服务\",\"url\":\"http://192.168.65.27:8780/statistics/getVisits\"},{\"caption\":\"\",\"category\":\"clusterNormal\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"权限管理\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"账户管理服务\",\"pos\":\"-2477.2212996562757 -315.53916851220026\",\"serverName\":\"账户管理服务\",\"tcpTransactionTotalCount\":0,\"text\":\"账户管理服务\",\"url\":\"http://10.104.64.62:8764/swtz/api/v1/account/findAppData?pageNum=1&pageSize=1\"},{\"caption\":\"\",\"category\":\"serviceGroup\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"接入区\",\"imgsrc\":\"\",\"isGroup\":true,\"key\":\"接入管理\",\"pos\":\"-2470.4441227074676 67.10778818688652\",\"serverName\":\"接入管理\",\"tcpTransactionTotalCount\":0,\"text\":\"接入管理\",\"url\":\"\"},{\"caption\":\"\",\"category\":\"clusterNormal\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"接入管理\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"VPN方式接入服务\",\"pos\":\"-2480.765318757338 138.74851250653688\",\"serverName\":\"VPN方式接入服务\",\"tcpTransactionTotalCount\":0,\"text\":\"VPN方式接入服务\",\"url\":\"http://10.104.64.10:8888/swtz/api/v1/vpn/ytcr-basic\"},{\"caption\":\"\",\"category\":\"machine\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"权限管理\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"mysql组件\",\"pos\":\"-2754.3462306600863 -331.02918266520214\",\"serverName\":\"mysql组件\",\"tcpTransactionTotalCount\":0,\"text\":\"mysql组件\",\"url\":\"\"},{\"caption\":\"\",\"category\":\"machine\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"权限管理\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"平台运营管理\",\"pos\":\"-2190.814288136425 -422.9124891980362\",\"serverName\":\"平台运营管理\",\"tcpTransactionTotalCount\":0,\"text\":\"平台运营管理\",\"url\":\"\"},{\"caption\":\"\",\"category\":\"customer\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"接入管理\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"公安网VPN用户\",\"pos\":\"-2958.8505203259415 123.2627988464879\",\"serverName\":\"公安网VPN用户\",\"tcpTransactionTotalCount\":0,\"text\":\"公安网VPN用户\",\"url\":\"\"},{\"caption\":\"\",\"category\":\"clusterNormal\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"接入管理\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"token方式接入服务\",\"pos\":\"-2474.9840242230107 -90.28859707524175\",\"serverName\":\"token方式接入服务\",\"tcpTransactionTotalCount\":0,\"text\":\"token方式接入服务\",\"url\":\"http://10.104.64.10:8887/swtz/api/v1/token/ytcr-basic\"},{\"caption\":\"\",\"category\":\"clusterNormal\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"算法区\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"人脸识别引擎2\",\"pos\":\"-797.662751136269 -397.4312164130236\",\"serverName\":\"人脸识别引擎2\",\"tcpTransactionTotalCount\":0,\"text\":\"人脸识别引擎2\",\"url\":\"http://10.104.96.7:10006/algorithm/compareImageAndImage\"},{\"caption\":\"\",\"category\":\"clusterNormal\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"算法区\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"图像质量评估引擎\",\"pos\":\"-797.2511420874591 -123.30969487840144\",\"serverName\":\"图像质量评估引擎\",\"tcpTransactionTotalCount\":0,\"text\":\"图像质量评估引擎\",\"url\":\"http://10.104.96.7:10006/algorithm/getFeature\"},{\"caption\":\"\",\"category\":\"customer\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"接入管理\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"公安网用户\",\"pos\":\"-2948.0090230389205 -55.12663614433889\",\"serverName\":\"公安网用户\",\"tcpTransactionTotalCount\":0,\"text\":\"公安网用户\",\"url\":\"\"},{\"caption\":\"\",\"category\":\"serviceGroup\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"接入区\",\"imgsrc\":\"\",\"isGroup\":true,\"key\":\"权限管理\",\"pos\":\"-2470.4441227074676 67.10778818688652\",\"serverName\":\"权限管理\",\"tcpTransactionTotalCount\":0,\"text\":\"权限管理\",\"url\":\"\"},{\"caption\":\"\",\"category\":\"clusterNormal\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"算法区\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"其他引擎\",\"pos\":\"-787.8861025138158 32.03184687453745\",\"serverName\":\"其他引擎\",\"tcpTransactionTotalCount\":0,\"text\":\"其他引擎\",\"url\":\"http://10.104.96.7:10006/algorithm/compareImageAndFeature\"},{\"caption\":\"\",\"category\":\"serviceGroup\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"\",\"imgsrc\":\"\",\"isGroup\":true,\"key\":\"日志汇聚\",\"pos\":\"-2470.4441227074676 67.10778818688652\",\"serverName\":\"日志汇聚\",\"tcpTransactionTotalCount\":0,\"text\":\"日志汇聚\",\"url\":\"\"},{\"caption\":\"\",\"category\":\"clusterNormal\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"算法区\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"人脸识别引擎1\",\"pos\":\"-799.0868618715551 -548.3701026800203\",\"serverName\":\"人脸识别引擎1\",\"tcpTransactionTotalCount\":0,\"text\":\"人脸识别引擎1\",\"url\":\"http://10.104.96.7:10006/algorithm/compareFeatureAndFeature\"},{\"caption\":\"\",\"category\":\"clusterNormal\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"权限管理\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"权限核验facl\",\"pos\":\"-2952.3097268671577 -392.4089634839355\",\"serverName\":\"权限核验facl\",\"tcpTransactionTotalCount\":0,\"text\":\"权限核验facl\",\"url\":\"http://10.104.64.10:8763/facl/api/v1/access/frifffcc207-3b64-4736-bbbf-614e85e5eb8c\"},{\"caption\":\"\",\"category\":\"machine\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"接入管理\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"签名服务器\",\"pos\":\"-2810.2833206425184 47.4107677238989\",\"serverName\":\"签名服务器\",\"tcpTransactionTotalCount\":0,\"text\":\"签名服务器\",\"url\":\"\"},{\"caption\":\"\",\"category\":\"serviceGroup\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"\",\"imgsrc\":\"\",\"isGroup\":true,\"key\":\"接入区\",\"pos\":\"-2470.4441227074676 67.10778818688652\",\"serverName\":\"接入区\",\"tcpTransactionTotalCount\":0,\"text\":\"接入区\",\"url\":\"\"},{\"caption\":\"\",\"category\":\"clusterNormal\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"核心业务区\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"实时身份识别\",\"pos\":\"-1429.1764344884002 -547.4295876965392\",\"serverName\":\"实时身份识别\",\"tcpTransactionTotalCount\":0,\"text\":\"实时身份识别\",\"url\":\"http://10.104.64.10:9999/inapiservice/syncData\"},{\"caption\":\"\",\"category\":\"clusterNormal\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"权限管理\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"业务权限配置\",\"pos\":\"-2473.1502205925026 -509.51180663793565\",\"serverName\":\"业务权限配置\",\"tcpTransactionTotalCount\":0,\"text\":\"业务权限配置\",\"url\":\"http://10.104.64.61:8773/swtz/api/v1/permission/areas\"},{\"caption\":\"\",\"category\":\"clusterNormal\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"核心业务区\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"聚档人员实名化\",\"pos\":\"-1433.8018857081256 -267.70802709631556\",\"serverName\":\"聚档人员实名化\",\"tcpTransactionTotalCount\":0,\"text\":\"聚档人员实名化\",\"url\":\"http://10.104.64.10:9999/inapiservice/syncDataMCompareN\"},{\"caption\":\"\",\"category\":\"clusterNormal\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"算法区\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"人脸识别引擎3\",\"pos\":\"-795.6335828597649 -273.5497705833391\",\"serverName\":\"人脸识别引擎3\",\"tcpTransactionTotalCount\":0,\"text\":\"人脸识别引擎3\",\"url\":\"http://10.104.96.7:10006/algorithm/getTopNByImage\"},{\"caption\":\"\",\"category\":\"clusterNormal\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"接入管理\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"token核验服务\",\"pos\":\"-2805.959294573447 -116.62194783072228\",\"serverName\":\"token核验服务\",\"tcpTransactionTotalCount\":0,\"text\":\"token核验服务\",\"url\":\"http://10.104.64.10:8886/swtz/api/v1/appid/frifffcc207-3b64-4736-bbbf-614e85e5eb8c\"},{\"caption\":\"\",\"category\":\"serviceGroup\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"\",\"imgsrc\":\"\",\"isGroup\":true,\"key\":\"核心业务区\",\"pos\":\"-2470.4441227074676 67.10778818688652\",\"serverName\":\"核心业务区\",\" tcpTransactionTotalCount\":0,\"text\":\"核心业务区\",\"url\":\"\"},{\"caption\":\"\",\"category\":\"clusterNormal\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"日志汇聚\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"日志汇聚服务\",\"pos\":\"-1801.991712515044 137.82286305583273\",\"serverName\":\"日志汇聚服务\",\"tcpTransactionTotalCount\":0,\"text\":\"日志汇聚服务\",\"url\":\"http://10.104.64.10:9998/swtz/api/v1/log/yxinfo\"},{\"caption\":\"\",\"category\":\"machine\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"权限管理\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"redis组件\",\"pos\":\"-2752.3949616380514 -459.46971969996963\",\"serverName\":\"redis组件\",\"tcpTransactionTotalCount\":0,\"text\":\"redis组件\",\"url\":\"\"},{\"caption\":\"\",\"category\":\"serviceGroup\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"\",\"imgsrc\":\"\",\"isGroup\":true,\"key\":\"算法区\",\"pos\":\"-2470.4441227074676 67.10778818688652\",\"serverName\":\"算法区\",\"tcpTransactionTotalCount\":0,\"text\":\"算法区\",\"url\":\"\"}],\"linkDataArray\":[{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"签名验签接入服务\",\"fromSpot\":\"left\",\"points\":[-2463.6843,30.988125,-2359.6614,-15.968698,-1923.9491,-194.54588,-1817.2659,-233.9528],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"核心调度服务\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"签名验签接入服务\",\"fromSpot\":\"left\",\"points\":[-2503.6843,40.9751,-2547.3394,42.90178,-2740.3103,55.27648,-2790.2832,59.64551],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"签名服务器\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"核心调度服务\",\"fromSpot\":\"left\",\"points\":[-1778.57,-221.56851,-1511.687,63.799915,-1443.9229,21.993011,-1439.1931,23.02593],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"其他业务\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"核心调度服务\",\"fromSpot\":\"left\",\"points\":[-1777.2659,-257.08884,-1630.3828,-371.80756,-1460.2872,-504.0138,-1449.1764,-510.383],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"实时身份识别\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"核心调度服务\",\"fromSpot\":\"left\",\"points\":[-1777.2659,-241.82465,-1631.8348,-244.44495,-1463.7216,-246.96773,-1453.8019,-245.32689],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"聚档人员实名化\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"算法融合调度\",\"fromSpot\":\"left\",\"points\":[-1078.6494,-265.64542,-1005.8395,-327.86285,-893.29407,-430.25266,-819.08685,-503.2131],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"人脸识别引擎1\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"算法融合调度\",\"fromSpot\":\"left\",\"points\":[-1078.6494,-254.66212,-1034.5139,-268.36407,-858.54407,-340.22067,-817.6628,-361.5374],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"人脸识别引擎2\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"算法融合调度\",\"fromSpot\":\"left\",\"points\":[-1078.6494,-248.81067,-1032.9724,-248.65497,-865.7189,-240.44527,-815.6336,-246.1633],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"人脸识别引擎3\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"算法融合调度\",\"fromSpot\":\"left\",\"points\":[-1080.562,-228.82079,-1038.0873,-182.97966,-904.19714,31.189457,-807.8861,43.493504],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"其他引擎\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"算法融合调度\",\"fromSpot\":\"left\",\"points\":[-1078.6494,-236.42659,-1038.5028,-211.80801,-877.49536,-136.79707,-817.25116,-107.44187],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"图像质量评估引擎\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"其他业务\",\"fromSpot\":\"left\",\"points\":[-1399.1931,23.896997,-1328.0433,12.653117,-1164.8182,-192.40381,-1118.6494,-231.4268],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"算法融合调度\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"业务统计服务\",\"fromSpot\":\"left\",\"points\":[-2455.798,-387.69333,-2415.1838,-385.45975,-2244.9146,-397.69482,-2210.8142,-397.6732],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"平台运营管理\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"账户管理服务\",\"fromSpot\":\"left\",\"points\":[-2457.2212,-298.46118,-2417.9504,-314.527,-2258.0413,-372.87262,-2210.8142,-390.389],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"平台运营管理\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"接入管理\",\"fromSpot\":\"left\",\"points\":[-2869.6797,-204.374,-2896.1216,-238.69055,-2875.425,-258.3238,-2873.446,-259.17618],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"权限管理\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"VPN方式接入服务\",\"fromSpot\":\"left\",\"points\":[-2460.7654,153.17299,-2353.6616,94.28801,-1919.9215,-163.01274,-1817.2659,-228.56119],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"核心调度服务\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"mysql组件\",\"fromSpot\":\"left\",\"points\":[-2734.3464,-331.11685,-2731.0532,-333.06055,-2645.1074,-381.16785,-2493.1504,-472.2243],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"业务权限配置\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"mysql组件\",\"fromSpot\":\"left\",\"points\":[-2734.3464,-320.99142,-2664.795,-334.98105,-2555.1672,-367.38464,-2495.798,-383.1238],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"业务统计服务\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"mysql组件\",\"fromSpot\":\"left\",\"points\":[-2734.3464,-315.70746,-2690.367,-312.5191,-2547.7058,-294.00757,-2497.2214,-291.34348],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"账户管理服务\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"公安网VPN用户\",\"fromSpot\":\"left\",\"points\":[-2938.8506,150.44135,-2867.3403,156.73438,-2571.7617,166.20456,-2500.7654,164.78648],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"VPN方式接入服务\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"token方式接入服务\",\"fromSpot\":\"left\",\"points\":[-2454.9841,-70.880875,-2351.9187,-101.8834,-1922.0442,-209.32562,-1817.2659,-236.20508],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"核心调度服务\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"公安网用户\",\"fromSpot\":\"left\",\"points\":[-2928.009,-41.01175,-2857.0012,-40.59659,-2564.8538,-55.36602,-2494.984,-62.59373],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"token方式接入服务\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"公安网用户\",\"fromSpot\":\"left\",\"points\":[-2928.009,-36.38166,-2860.4438,-20.182405,-2546.3657,26.163107,-2503.6843,35.596886],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"签名验签接入服务\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"权限核验facl\",\"fromSpot\":\"left\",\"points\":[-2932.3098,-364.0611,-2914.8794,-361.198,-2824.3064,-338.75204,-2774.3464,-323.53052],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"mysql组件\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"权限核验facl\",\"fromSpot\":\"left\",\"points\":[-2932.3098,-375.40027,-2901.0332,-388.10587,-2806.254,-422.93652,-2772.3948,-437.50882],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"redis组件\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"实时身份识别\",\"fromSpot\":\"left\",\"points\":[-1409.1764,-506.32898,-1361.4991,-469.00958,-1162.8474,-304.7901,-1118.6494,-266.00214],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"算法融合调度\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"业务权限配置\",\"fromSpot\":\"left\",\"points\":[-2453.1501,-477.12677,-2412.5537,-463.0288,-2249.673,-411.5473,-2210.8142,-402.1905],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"平台运营管理\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"聚档人员实名化\",\"fromSpot\":\"left\",\"points\":[-1413.8019,-242.91452,-1376.2797,-244.25546,-1198.8707,-244.01991,-1118.6494,-247.67133],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"算法融合调度\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"token核验服务\",\"fromSpot\":\"left\",\"points\":[-2785.9592,-89.94587,-2655.0508,-81.62456,-2503.7654,-71.50079,-2494.984,-69.11964],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"token方式接入服务\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"日志汇聚服务\",\"fromSpot\":\"\",\"points\":[-1821.9917,167.86627,-2425.7725,309.14423,-2524.9207,237.56937,-2528.9624,201.1115],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"接入区\",\"toSpot\":\"\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"日志汇聚服务\",\"fromSpot\":\"\",\"points\":[-1781.9917,159.84584,-1417.4015,98.852615,-1441.3502,71.50415,-1440.8514,57.960987],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"核心业务区\",\"toSpot\":\"\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"日志汇聚服务\",\"fromSpot\":\"\",\"points\":[-1781.9917,162.91415,-1394.6392,158.37663,-816.9019,278.02087,-810.25726,76.96334],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"算法区\",\"toSpot\":\"\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"redis组件\",\"fromSpot\":\"left\",\"points\":[-2732.3948,-451.0714,-2715.0898,-455.6468,-2626.9282,-465.72855,-2493.1504,-481.8344],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"token核验业务权限配置服务\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"redis组件\",\"fromSpot\":\"left\",\"points\":[-2732.3948,-451.0714,-2715.0898,-455.6468,-2626.9282,-465.72855,-2493.1504,-481.8344],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"业务权限配置\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"redis组件\",\"fromSpot\":\"left\",\"points\":[-2732.3948,-439.11536,-2694.3455,-427.1653,-2533.9192,-394.0032,-2495.798,-390.19513],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"业务统计服务\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"redis组件\",\"fromSpot\":\"left\",\"points\":[-2732.3948,-434.45917,-2698.6963,-415.63425,-2531.7256,-324.80646,-2497.2214,-303.1389],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"账户管理服务\",\"toSpot\":\"right\"}]}";
String data = "{\"nodeDataArray\":[{\"caption\":\"\",\"category\":\"clusterNormal\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"接入管理\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"签名验签接入服务\",\"pos\":\"-2483.6842129933902 14.593516452874084\",\"serverName\":\"签名验签接入服务\",\"tcpTransactionTotalCount\":0,\"text\":\"签名验签接入服务\",\"url\":\"http://192.168.65.4:8889/swtz/api/v1/sign/viid\"},{\"caption\":\"\",\"category\":\"clusterNormal\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"核心调度服务\",\"pos\":\"-1797.265820568994 -266.9314959929493\",\"serverName\":\"核心调度服务\",\"tcpTransactionTotalCount\":0,\"text\":\"核心调度服务\",\"url\":\"http://10.104.64.10:8900/api/v1/ytcr-basic\"},{\"caption\":\"\",\"category\":\"clusterNormal\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"算法融合调度\",\"pos\":\"-1098.6494613611756 -274.18377752850535\",\"serverName\":\"算法融合调度\",\"tcpTransactionTotalCount\":0,\"text\":\"算法融合调度\",\"url\":\"wu\"},{\"caption\":\"\",\"category\":\"clusterNormal\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"核心业务区\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"其他业务\",\"pos\":\"-1419.1931649568446 13.029493955336704\",\"serverName\":\"其他业务\",\"tcpTransactionTotalCount\":0,\"text\":\"其他业务\",\"url\":\"http://10.104.64.10:9999/inapiservice/specialData\"},{\"caption\":\"\",\"category\":\"clusterNormal\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"权限管理\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"业务统计服务\",\"pos\":\"-2475.798197313072 -414.1359515492054\",\"serverName\":\"业务统计服务\",\"tcpTransactionTotalCount\":0,\"text\":\"业务统计服务\",\"url\":\"http://192.168.65.27:8780/statistics/getVisits\"},{\"caption\":\"\",\"category\":\"clusterNormal\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"权限管理\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"账户管理服务\",\"pos\":\"-2477.2212996562757 -315.53916851220026\",\"serverName\":\"账户管理服务\",\"tcpTransactionTotalCount\":0,\"text\":\"账户管理服务\",\"url\":\"http://10.104.64.62:8764/swtz/api/v1/account/findAppData?pageNum=1&pageSize=1\"},{\"caption\":\"\",\"category\":\"serviceGroup\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"接入区\",\"imgsrc\":\"\",\"isGroup\":true,\"key\":\"接入管理\",\"pos\":\"-2470.4441227074676 67.10778818688652\",\"serverName\":\"接入管理\",\"tcpTransactionTotalCount\":0,\"text\":\"接入管理\",\"url\":\"\"},{\"caption\":\"\",\"category\":\"clusterNormal\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"接入管理\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"VPN方式接入服务\",\"pos\":\"-2480.765318757338 138.74851250653688\",\"serverName\":\"VPN方式接入服务\",\"tcpTransactionTotalCount\":0,\"text\":\"VPN方式接入服务\",\"url\":\"http://10.104.64.10:8888/swtz/api/v1/vpn/ytcr-basic\"},{\"caption\":\"\",\"category\":\"machine\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"权限管理\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"mysql组件\",\"pos\":\"-2754.3462306600863 -331.02918266520214\",\"serverName\":\"mysql组件\",\"tcpTransactionTotalCount\":0,\"text\":\"mysql组件\",\"url\":\"\"},{\"caption\":\"\",\"category\":\"machine\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"权限管理\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"平台运营管理\",\"pos\":\"-2190.814288136425 -422.9124891980362\",\"serverName\":\"平台运营管理\",\"tcpTransactionTotalCount\":0,\"text\":\"平台运营管理\",\"url\":\"\"},{\"caption\":\"\",\"category\":\"customer\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"公安网VPN用户\",\"pos\":\"-2958.8505203259415 123.2627988464879\",\"serverName\":\"公安网VPN用户\",\"tcpTransactionTotalCount\":0,\"text\":\"公安网VPN用户\",\"url\":\"\"},{\"caption\":\"\",\"category\":\"clusterNormal\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"接入管理\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"token方式接入服务\",\"pos\":\"-2474.9840242230107 -90.28859707524175\",\"serverName\":\"token方式接入服务\",\"tcpTransactionTotalCount\":0,\"text\":\"token方式接入服务\",\"url\":\"http://10.104.64.10:8887/swtz/api/v1/token/ytcr-basic\"},{\"caption\":\"\",\"category\":\"clusterNormal\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"算法区\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"人脸识别引擎2\",\"pos\":\"-797.662751136269 -397.4312164130236\",\"serverName\":\"人脸识别引擎2\",\"tcpTransactionTotalCount\":0,\"text\":\"人脸识别引擎2\",\"url\":\"http://10.104.96.7:10006/algorithm/compareImageAndImage\"},{\"caption\":\"\",\"category\":\"clusterNormal\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"算法区\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"图像质量评估引擎\",\"pos\":\"-797.2511420874591 -123.30969487840144\",\"serverName\":\"图像质量评估引擎\",\"tcpTransactionTotalCount\":0,\"text\":\"图像质量评估引擎\",\"url\":\"http://10.104.96.7:10006/algorithm/getFeature\"},{\"caption\":\"\",\"category\":\"customer\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"公安网用户\",\"pos\":\"-2948.0090230389205 -55.12663614433889\",\"serverName\":\"公安网用户\",\"tcpTransactionTotalCount\":0,\"text\":\"公安网用户\",\"url\":\"\"},{\"caption\":\"\",\"category\":\"serviceGroup\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"接入区\",\"imgsrc\":\"\",\"isGroup\":true,\"key\":\"权限管理\",\"pos\":\"-2470.4441227074676 67.10778818688652\",\"serverName\":\"权限管理\",\"tcpTransactionTotalCount\":0,\"text\":\"权限管理\",\"url\":\"\"},{\"caption\":\"\",\"category\":\"clusterNormal\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"算法区\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"其他引擎\",\"pos\":\"-787.8861025138158 32.03184687453745\",\"serverName\":\"其他引擎\",\"tcpTransactionTotalCount\":0,\"text\":\"其他引擎\",\"url\":\"http://10.104.96.7:10006/algorithm/compareImageAndFeature\"},{\"caption\":\"\",\"category\":\"serviceGroup\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"\",\"imgsrc\":\"\",\"isGroup\":true,\"key\":\"日志汇聚\",\"pos\":\"-2470.4441227074676 67.10778818688652\",\"serverName\":\"日志汇聚\",\"tcpTransactionTotalCount\":0,\"text\":\"日志汇聚\",\"url\":\"\"},{\"caption\":\"\",\"category\":\"clusterNormal\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"算法区\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"人脸识别引擎1\",\"pos\":\"-799.0868618715551 -548.3701026800203\",\"serverName\":\"人脸识别引擎1\",\"tcpTransactionTotalCount\":0,\"text\":\"人脸识别引擎1\",\"url\":\"http://10.104.96.7:10006/algorithm/compareFeatureAndFeature\"},{\"caption\":\"\",\"category\":\"clusterNormal\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"权限管理\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"权限核验facl\",\"pos\":\"-2952.3097268671577 -392.4089634839355\",\"serverName\":\"权限核验facl\",\"tcpTransactionTotalCount\":0,\"text\":\"权限核验facl\",\"url\":\"http://10.104.64.10:8763/facl/api/v1/access/frifffcc207-3b64-4736-bbbf-614e85e5eb8c\"},{\"caption\":\"\",\"category\":\"machine\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"接入管理\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"签名服务器\",\"pos\":\"-2810.2833206425184 47.4107677238989\",\"serverName\":\"签名服务器\",\"tcpTransactionTotalCount\":0,\"text\":\"签名服务器\",\"url\":\"\"},{\"caption\":\"\",\"category\":\"serviceGroup\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"\",\"imgsrc\":\"\",\"isGroup\":true,\"key\":\"接入区\",\"pos\":\"-2470.4441227074676 67.10778818688652\",\"serverName\":\"接入区\",\"tcpTransactionTotalCount\":0,\"text\":\"接入区\",\"url\":\"\"},{\"caption\":\"\",\"category\":\"clusterNormal\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"核心业务区\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"实时身份识别\",\"pos\":\"-1429.1764344884002 -547.4295876965392\",\"serverName\":\"实时身份识别\",\"tcpTransactionTotalCount\":0,\"text\":\"实时身份识别\",\"url\":\"http://10.104.64.10:9999/inapiservice/syncData\"},{\"caption\":\"\",\"category\":\"clusterNormal\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"权限管理\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"业务权限配置\",\"pos\":\"-2473.1502205925026 -509.51180663793565\",\"serverName\":\"业务权限配置\",\"tcpTransactionTotalCount\":0,\"text\":\"业务权限配置\",\"url\":\"http://10.104.64.61:8773/swtz/api/v1/permission/areas\"},{\"caption\":\"\",\"category\":\"clusterNormal\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"核心业务区\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"聚档人员实名化\",\"pos\":\"-1433.8018857081256 -267.70802709631556\",\"serverName\":\"聚档人员实名化\",\"tcpTransactionTotalCount\":0,\"text\":\"聚档人员实名化\",\"url\":\"http://10.104.64.10:9999/inapiservice/syncDataMCompareN\"},{\"caption\":\"\",\"category\":\"clusterNormal\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"算法区\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"人脸识别引擎3\",\"pos\":\"-795.6335828597649 -273.5497705833391\",\"serverName\":\"人脸识别引擎3\",\"tcpTransactionTotalCount\":0,\"text\":\"人脸识别引擎3\",\"url\":\"http://10.104.96.7:10006/algorithm/getTopNByImage\"},{\"caption\":\"\",\"category\":\"clusterNormal\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"接入管理\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"token核验服务\",\"pos\":\"-2805.959294573447 -116.62194783072228\",\"serverName\":\"token核验服务\",\"tcpTransactionTotalCount\":0,\"text\":\"token核验服务\",\"url\":\"http://10.104.64.10:8886/swtz/api/v1/appid/frifffcc207-3b64-4736-bbbf-614e85e5eb8c\"},{\"caption\":\"\",\"category\":\"serviceGroup\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"\",\"imgsrc\":\"\",\"isGroup\":true,\"key\":\"核心业务区\",\"pos\":\"-2470.4441227074676 67.10778818688652\",\"serverName\":\"核心业务区\",\" tcpTransactionTotalCount\":0,\"text\":\"核心业务区\",\"url\":\"\"},{\"caption\":\"\",\"category\":\"clusterNormal\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"日志汇聚\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"日志汇聚服务\",\"pos\":\"-1801.991712515044 137.82286305583273\",\"serverName\":\"日志汇聚服务\",\"tcpTransactionTotalCount\":0,\"text\":\"日志汇聚服务\",\"url\":\"http://10.104.64.10:9998/swtz/api/v1/log/yxinfo\"},{\"caption\":\"\",\"category\":\"clusterNormal\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"日志汇聚\",\"imgsrc\":\"\",\"isGroup\":true,\"key\":\".\",\"pos\":\"-1801.991712515044 137.82286305583273\",\"serverName\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"url\":\"http://10.104.64.10:9998/swtz/api/v1/log/yxinfo\"},{\"caption\":\"\",\"category\":\"clusterNormal\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"日志汇聚\",\"imgsrc\":\"\",\"isGroup\":true,\"key\":\"..\",\"pos\":\"-1801.991712515044 137.82286305583273\",\"serverName\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"url\":\"http://10.104.64.10:9998/swtz/api/v1/log/yxinfo\"},{\"caption\":\"\",\"category\":\"machine\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"权限管理\",\"imgsrc\":\"\",\"isGroup\":false,\"key\":\"redis组件\",\"pos\":\"-2752.3949616380514 -459.46971969996963\",\"serverName\":\"redis组件\",\"tcpTransactionTotalCount\":0,\"text\":\"redis组件\",\"url\":\"\"},{\"caption\":\"\",\"category\":\"serviceGroup\",\"description\":\"服务异常数:0/0\\r\\n\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"faultCount\":0,\"group\":\"\",\"imgsrc\":\"\",\"isGroup\":true,\"key\":\"算法区\",\"pos\":\"-2470.4441227074676 67.10778818688652\",\"serverName\":\"算法区\",\"tcpTransactionTotalCount\":0,\"text\":\"算法区\",\"url\":\"\"}],\"linkDataArray\":[{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"签名验签接入服务\",\"fromSpot\":\"left\",\"points\":[-2463.6843,30.988125,-2359.6614,-15.968698,-1923.9491,-194.54588,-1817.2659,-233.9528],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"核心调度服务\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"签名验签接入服务\",\"fromSpot\":\"left\",\"points\":[-2503.6843,40.9751,-2547.3394,42.90178,-2740.3103,55.27648,-2790.2832,59.64551],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"签名服务器\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"核心调度服务\",\"fromSpot\":\"left\",\"points\":[-1778.57,-221.56851,-1511.687,63.799915,-1443.9229,21.993011,-1439.1931,23.02593],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"其他业务\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"核心调度服务\",\"fromSpot\":\"left\",\"points\":[-1777.2659,-257.08884,-1630.3828,-371.80756,-1460.2872,-504.0138,-1449.1764,-510.383],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"实时身份识别\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"核心调度服务\",\"fromSpot\":\"left\",\"points\":[-1777.2659,-241.82465,-1631.8348,-244.44495,-1463.7216,-246.96773,-1453.8019,-245.32689],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"聚档人员实名化\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"算法融合调度\",\"fromSpot\":\"left\",\"points\":[-1078.6494,-265.64542,-1005.8395,-327.86285,-893.29407,-430.25266,-819.08685,-503.2131],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"人脸识别引擎1\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"算法融合调度\",\"fromSpot\":\"left\",\"points\":[-1078.6494,-254.66212,-1034.5139,-268.36407,-858.54407,-340.22067,-817.6628,-361.5374],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"人脸识别引擎2\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"算法融合调度\",\"fromSpot\":\"left\",\"points\":[-1078.6494,-248.81067,-1032.9724,-248.65497,-865.7189,-240.44527,-815.6336,-246.1633],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"人脸识别引擎3\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"算法融合调度\",\"fromSpot\":\"left\",\"points\":[-1080.562,-228.82079,-1038.0873,-182.97966,-904.19714,31.189457,-807.8861,43.493504],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"其他引擎\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"算法融合调度\",\"fromSpot\":\"left\",\"points\":[-1078.6494,-236.42659,-1038.5028,-211.80801,-877.49536,-136.79707,-817.25116,-107.44187],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"图像质量评估引擎\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"其他业务\",\"fromSpot\":\"left\",\"points\":[-1399.1931,23.896997,-1328.0433,12.653117,-1164.8182,-192.40381,-1118.6494,-231.4268],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"算法融合调度\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"业务统计服务\",\"fromSpot\":\"left\",\"points\":[-2455.798,-387.69333,-2415.1838,-385.45975,-2244.9146,-397.69482,-2210.8142,-397.6732],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"平台运营管理\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"账户管理服务\",\"fromSpot\":\"left\",\"points\":[-2457.2212,-298.46118,-2417.9504,-314.527,-2258.0413,-372.87262,-2210.8142,-390.389],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"平台运营管理\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"接入管理\",\"fromSpot\":\"left\",\"points\":[-2869.6797,-204.374,-2896.1216,-238.69055,-2875.425,-258.3238,-2873.446,-259.17618],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"权限管理\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"VPN方式接入服务\",\"fromSpot\":\"left\",\"points\":[-2460.7654,153.17299,-2353.6616,94.28801,-1919.9215,-163.01274,-1817.2659,-228.56119],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"核心调度服务\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"mysql组件\",\"fromSpot\":\"left\",\"points\":[-2734.3464,-331.11685,-2731.0532,-333.06055,-2645.1074,-381.16785,-2493.1504,-472.2243],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"业务权限配置\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"mysql组件\",\"fromSpot\":\"left\",\"points\":[-2734.3464,-320.99142,-2664.795,-334.98105,-2555.1672,-367.38464,-2495.798,-383.1238],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"业务统计服务\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"mysql组件\",\"fromSpot\":\"left\",\"points\":[-2734.3464,-315.70746,-2690.367,-312.5191,-2547.7058,-294.00757,-2497.2214,-291.34348],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"账户管理服务\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"公安网VPN用户\",\"fromSpot\":\"left\",\"points\":[-2938.8506,150.44135,-2867.3403,156.73438,-2571.7617,166.20456,-2500.7654,164.78648],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"VPN方式接入服务\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"token方式接入服务\",\"fromSpot\":\"left\",\"points\":[-2454.9841,-70.880875,-2351.9187,-101.8834,-1922.0442,-209.32562,-1817.2659,-236.20508],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"核心调度服务\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"公安网用户\",\"fromSpot\":\"left\",\"points\":[-2928.009,-41.01175,-2857.0012,-40.59659,-2564.8538,-55.36602,-2494.984,-62.59373],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"token方式接入服务\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"公安网用户\",\"fromSpot\":\"left\",\"points\":[-2928.009,-36.38166,-2860.4438,-20.182405,-2546.3657,26.163107,-2503.6843,35.596886],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"签名验签接入服务\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"权限核验facl\",\"fromSpot\":\"left\",\"points\":[-2932.3098,-364.0611,-2914.8794,-361.198,-2824.3064,-338.75204,-2774.3464,-323.53052],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"mysql组件\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"权限核验facl\",\"fromSpot\":\"left\",\"points\":[-2932.3098,-375.40027,-2901.0332,-388.10587,-2806.254,-422.93652,-2772.3948,-437.50882],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"redis组件\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"实时身份识别\",\"fromSpot\":\"left\",\"points\":[-1409.1764,-506.32898,-1361.4991,-469.00958,-1162.8474,-304.7901,-1118.6494,-266.00214],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"算法融合调度\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"业务权限配置\",\"fromSpot\":\"left\",\"points\":[-2453.1501,-477.12677,-2412.5537,-463.0288,-2249.673,-411.5473,-2210.8142,-402.1905],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"平台运营管理\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"聚档人员实名化\",\"fromSpot\":\"left\",\"points\":[-1413.8019,-242.91452,-1376.2797,-244.25546,-1198.8707,-244.01991,-1118.6494,-247.67133],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"算法融合调度\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"token核验服务\",\"fromSpot\":\"left\",\"points\":[-2785.9592,-89.94587,-2655.0508,-81.62456,-2503.7654,-71.50079,-2494.984,-69.11964],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"token方式接入服务\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"日志汇聚\",\"fromSpot\":\"\",\"points\":[-1821.9917,167.86627,-2425.7725,309.14423,-2524.9207,237.56937,-2528.9624,201.1115],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"接入区\",\"toSpot\":\"\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"日志汇聚\",\"fromSpot\":\"\",\"points\":[-1781.9917,159.84584,-1417.4015,98.852615,-1441.3502,71.50415,-1440.8514,57.960987],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"核心业务区\",\"toSpot\":\"\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"日志汇聚\",\"fromSpot\":\"\",\"points\":[-1781.9917,162.91415,-1394.6392,158.37663,-816.9019,278.02087,-810.25726,76.96334],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"算法区\",\"toSpot\":\"\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"redis组件\",\"fromSpot\":\"left\",\"points\":[-2732.3948,-451.0714,-2715.0898,-455.6468,-2626.9282,-465.72855,-2493.1504,-481.8344],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"业务权限配置\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"redis组件\",\"fromSpot\":\"left\",\"points\":[-2732.3948,-439.11536,-2694.3455,-427.1653,-2533.9192,-394.0032,-2495.798,-390.19513],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"业务统计服务\",\"toSpot\":\"right\"},{\"client_alias\":\"\",\"color\":\"#008000\",\"description\":\"\",\"descriptionCss\":\"\",\"errorTcpTransactionTotalCount\":0,\"from\":\"redis组件\",\"fromSpot\":\"left\",\"points\":[-2732.3948,-434.45917,-2698.6963,-415.63425,-2531.7256,-324.80646,-2497.2214,-303.1389],\"server_alias\":\"\",\"tcpTransactionTotalCount\":0,\"text\":\"\",\"to\":\"账户管理服务\",\"toSpot\":\"right\"}]}";
JSONObject jsonObject = JSONObject.fromObject(data);
topologyConfig.getJson().put("linkDataArray",jsonObject.getJSONArray("linkDataArray"));
topologyConfig.getJson().put("nodeDataArray",jsonObject.getJSONArray("nodeDataArray"));
}
return topologyConfig.getJson().toString();
}
/**
......
package com.yingxin.prms.api;
import com.yingxin.prms.domain.Auth_Mode_Avg;
import com.yingxin.prms.domain.Auth_Success_Rate;
import com.yingxin.prms.service.dao.AuthModeAvgImpl;
import com.yingxin.prms.service.dao.AuthSuccessRateImpl;
import net.sf.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @Author by shao
* @Create 2023/3/2 11:57
*/
@RestController
@RequestMapping("/rest/logSystem")
@CrossOrigin(origins = "*")
public class logSystemApi {
@Autowired
AuthModeAvgImpl authModeAvg;
@Autowired
AuthSuccessRateImpl authSuccessRate;
@GetMapping("findAllByMode")
public List<Auth_Mode_Avg> findAllByMode(@RequestParam("mode")String mode) {
return authModeAvg.findAllByMode(mode);
}
@GetMapping("findLineChartTimeData")
public Map<String,List<Auth_Mode_Avg>> findLineChartTimeData(){
List<Auth_Mode_Avg> ytcrList = authModeAvg.findLineChartTimeData("YTCR-BASIC");
List<Auth_Mode_Avg> yrdtytcrList = authModeAvg.findLineChartTimeData("YRDTYTCR-BASIC");
List<Auth_Mode_Avg> allList = authModeAvg.findLineChartTimeData("ALL-MODE");
Map<String,List<Auth_Mode_Avg>> result = new HashMap<>();
result.put("YTCR_BASIC",ytcrList);
result.put("YRDTYTCR_BASIC",yrdtytcrList);
result.put("ALL_MODE",allList);
return result;
}
@GetMapping("findLineChartTSuccessData")
public Map<String,List<Auth_Success_Rate>> findLineChartTSuccessData(){
List<Auth_Success_Rate> ytcrList = authSuccessRate.findLineChartTSuccessData("YTCR-BASIC");
List<Auth_Success_Rate> yrdtytcrList = authSuccessRate.findLineChartTSuccessData("YRDTYTCR-BASIC");
List<Auth_Success_Rate> allList = authSuccessRate.findLineChartTSuccessData("ALL-MODE");
Map<String,List<Auth_Success_Rate>> result = new HashMap<>();
result.put("YTCR_BASIC",ytcrList);
result.put("YRDTYTCR_BASIC",yrdtytcrList);
result.put("ALL_MODE",allList);
return result;
}
}
......@@ -32,6 +32,8 @@ public class ServiceRelationConfig {
allArea.put("日志汇聚",true);
allArea.put("权限管理",true);
allArea.put("接入管理",true);
// allArea.put(".",true);
// allArea.put("..",true);
return allArea;
}
//
......@@ -139,7 +141,7 @@ public class ServiceRelationConfig {
String areaName = "";
switch (serviceNmae){
case "接入区" :
areaName = "div-total";
areaName = "";
break;
case "权限管理" :
areaName = "接入区";
......@@ -150,12 +152,18 @@ public class ServiceRelationConfig {
case "权限核验(FACL)" :
areaName = "权限管理";
break;
case "权限核验facl" :
areaName = "权限管理";
break;
case "redis组件" :
areaName = "权限管理";
break;
case "MySql组件" :
areaName = "权限管理";
break;
case "mysql组件" :
areaName = "权限管理";
break;
case "业务权限配置" :
areaName = "权限管理";
break;
......@@ -169,10 +177,10 @@ public class ServiceRelationConfig {
areaName = "权限管理";
break;
case "公安网用户" :
areaName = "接入管理";
areaName = "";
break;
case "公安网VPN用户" :
areaName = "接入管理";
areaName = "";
break;
case "签名服务器" :
areaName = "接入管理";
......@@ -183,17 +191,26 @@ public class ServiceRelationConfig {
case "Token方式接入服务" :
areaName = "接入管理";
break;
case "token方式接入服务" :
areaName = "接入管理";
break;
case "Token核验服务" :
areaName = "接入管理";
break;
case "token核验服务" :
areaName = "接入管理";
break;
case "VPN方式接入服务" :
areaName = "接入管理";
break;
// case "核心调度服务" :
// areaName = "接入区";
// break;
case "核心调度服务" :
areaName = "接入区";
areaName = "";
break;
case "核心业务区" :
areaName = "div-total";
areaName = "";
break;
case "实时身份识别" :
areaName = "核心业务区";
......@@ -205,20 +222,32 @@ public class ServiceRelationConfig {
areaName = "核心业务区";
break;
case "算法区" :
areaName = "div-total";
areaName = "";
break;
// case "算法融合调度" :
// areaName = "算法区";
// break;
case "算法融合调度" :
areaName = "算法区";
areaName = "";
break;
case "人脸识别引擎(1)" :
areaName = "算法区";
break;
case "人脸识别引擎1" :
areaName = "算法区";
break;
case "人脸识别引擎(2)" :
areaName = "算法区";
break;
case "人脸识别引擎2" :
areaName = "算法区";
break;
case "人脸识别引擎(3)" :
areaName = "算法区";
break;
case "人脸识别引擎3" :
areaName = "算法区";
break;
case "图像质量评估引擎" :
areaName = "算法区";
break;
......@@ -226,13 +255,19 @@ public class ServiceRelationConfig {
areaName = "算法区";
break;
case "日志汇聚" :
areaName = "div-total";
areaName = "";
break;
case "日志汇聚服务" :
areaName = "日志汇聚";
break;
case "." :
areaName = "日志汇聚";
break;
case ".." :
areaName = "日志汇聚";
break;
default:
areaName = "div-total";
areaName = "";
}
return areaName;
}
......
package com.yingxin.prms.config;
import net.sf.json.JSONObject;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* Created by shao on 2021/12/13.
*/
@Configuration
public class TopologyConfig {
private JSONObject json;
@Bean
public JSONObject getJson(){
return new JSONObject();
}
}
package com.yingxin.prms.domain;
import org.springframework.data.cassandra.core.cql.PrimaryKeyType;
import org.springframework.data.cassandra.core.mapping.PrimaryKeyColumn;
import org.springframework.data.cassandra.core.mapping.Table;
/**
* @Author by shao
* @Create 2023/3/2 9:19
*/
@Table("auth_mode_avg")
public class Auth_Mode_Avg {
@PrimaryKeyColumn(type = PrimaryKeyType.PARTITIONED)
private String mode;
@PrimaryKeyColumn
private String timestamp;
private String time_avg;
public Auth_Mode_Avg(String mode, String timestamp, String time_avg) {
this.mode = mode;
this.timestamp = timestamp;
this.time_avg = time_avg;
}
public String getMode() {
return mode;
}
public void setMode(String mode) {
this.mode = mode;
}
public String getTimestamp() {
return timestamp;
}
public void setTimestamp(String timestamp) {
this.timestamp = timestamp;
}
public String getTime_avg() {
return time_avg;
}
public void setTime_avg(String time_avg) {
this.time_avg = time_avg;
}
@Override
public String toString() {
return "Auth_Mode_Avg{" +
"mode='" + mode + '\'' +
", timestamp='" + timestamp + '\'' +
", time_avg='" + time_avg + '\'' +
'}';
}
}
package com.yingxin.prms.domain;
import org.springframework.data.cassandra.core.cql.PrimaryKeyType;
import org.springframework.data.cassandra.core.mapping.PrimaryKeyColumn;
import org.springframework.data.cassandra.core.mapping.Table;
/**
* @Author by shao
* @Create 2023/3/2 9:19
*/
@Table("auth_success_rate")
public class Auth_Success_Rate {
@PrimaryKeyColumn(type = PrimaryKeyType.PARTITIONED)
private String mode;
@PrimaryKeyColumn
private String timestamp;
private String half_an_hour;
private String an_hour;
private String three_hours;
private String twelve_hours;
private String twenty_four_hours;
private String a_week;
private String half_a_year;
private String a_year;
private String history;
public Auth_Success_Rate(String mode, String timestamp, String half_an_hour, String an_hour, String three_hours,
String twelve_hours, String twenty_four_hours, String a_week, String half_a_year,
String a_year, String history) {
this.mode = mode;
this.timestamp = timestamp;
this.half_an_hour = half_an_hour;
this.an_hour = an_hour;
this.three_hours = three_hours;
this.twelve_hours = twelve_hours;
this.twenty_four_hours = twenty_four_hours;
this.a_week = a_week;
this.half_a_year = half_a_year;
this.a_year = a_year;
this.history = history;
}
public String getMode() {
return mode;
}
public void setMode(String mode) {
this.mode = mode;
}
public String getTimestamp() {
return timestamp;
}
public void setTimestamp(String timestamp) {
this.timestamp = timestamp;
}
public String getHalf_an_hour() {
return half_an_hour;
}
public void setHalf_an_hour(String half_an_hour) {
this.half_an_hour = half_an_hour;
}
public String getAn_hour() {
return an_hour;
}
public void setAn_hour(String an_hour) {
this.an_hour = an_hour;
}
public String getThree_hours() {
return three_hours;
}
public void setThree_hours(String three_hours) {
this.three_hours = three_hours;
}
public String getTwelve_hours() {
return twelve_hours;
}
public void setTwelve_hours(String twelve_hours) {
this.twelve_hours = twelve_hours;
}
public String getTwenty_four_hours() {
return twenty_four_hours;
}
public void setTwenty_four_hours(String twenty_four_hours) {
this.twenty_four_hours = twenty_four_hours;
}
public String getA_week() {
return a_week;
}
public void setA_week(String a_week) {
this.a_week = a_week;
}
public String getHalf_a_year() {
return half_a_year;
}
public void setHalf_a_year(String half_a_year) {
this.half_a_year = half_a_year;
}
public String getA_year() {
return a_year;
}
public void setA_year(String a_year) {
this.a_year = a_year;
}
public String getHistory() {
return history;
}
public void setHistory(String history) {
this.history = history;
}
@Override
public String toString() {
return "Auth_Success_Rate{" +
"mode='" + mode + '\'' +
", timestamp='" + timestamp + '\'' +
", half_an_hour='" + half_an_hour + '\'' +
", an_hour='" + an_hour + '\'' +
", three_hours='" + three_hours + '\'' +
", twelve_hours='" + twelve_hours + '\'' +
", twenty_four_hours='" + twenty_four_hours + '\'' +
", a_week='" + a_week + '\'' +
", half_a_year='" + half_a_year + '\'' +
", a_year='" + a_year + '\'' +
", history='" + history + '\'' +
'}';
}
}
......@@ -128,10 +128,8 @@ public class CTID_Process_Perf {
}
public void setBsn(String bsn) {
System.out.println(this.toString());
System.out.println("setBsn");
// System.out.println("setBsn");
this.bsn = bsn;
System.out.println(this.toString());
}
public Date getStamp() {
......@@ -372,7 +370,7 @@ public class CTID_Process_Perf {
public void setDur_voucher_data4(Integer dur_voucher_data4) {
System.out.println("setDur_voucher_data4");
System.out.println(this.toString());
// System.out.println(this.toString());
if (dur_voucher_data4 != null) this.dur_voucher_data4 = dur_voucher_data4;
System.out.println(this.toString());
}
......
package com.yingxin.prms.dto;
/**
* @Author by shao
* @Create 2023/3/3 10:28
*/
public enum SuccessRate {
halfAnHour,
anHour,
threeHours,
twelveHours,
twentyFourHours,
aWeek,
halfAYear,
aYear,
history;
}
......@@ -28,16 +28,16 @@ public class TcpFlowNodeDto {
private int faultCount; //错误数
private String url; //服务路径
// private Boolean isGroup;
// private String group;
private Boolean isGroup;
private String group;
public TcpFlowNodeDto() {
}
public TcpFlowNodeDto(String key, String category, String description, String descriptionCss, String pos,
String text, String serverName, String imgsrc, String caption,
int tcpTransactionTotalCount, int errorTcpTransactionTotalCount,
int faultCount, String url) {
String text, String serverName, String imgsrc, String caption,
int tcpTransactionTotalCount, int errorTcpTransactionTotalCount,
int faultCount, String url,boolean isGroup, String group) {
this.key = key;
this.category = category;
this.description = description;
......@@ -51,25 +51,25 @@ public class TcpFlowNodeDto {
this.errorTcpTransactionTotalCount = errorTcpTransactionTotalCount;
this.faultCount = faultCount;
this.url = url;
// this.isGroup = isGroup;
// this.group = group;
}
// public Boolean getIsGroup() {
// return isGroup;
// }
//
// public void setIsGroup(Boolean isGroup) {
// this.isGroup = isGroup;
// }
//
// public String getGroup() {
// return group;
// }
//
// public void setGroup(String group) {
// this.group = group;
// }
this.isGroup = isGroup;
this.group = group;
}
public Boolean getIsGroup() {
return isGroup;
}
public void setIsGroup(Boolean isGroup) {
this.isGroup = isGroup;
}
public String getGroup() {
return group;
}
public void setGroup(String group) {
this.group = group;
}
public String getUrl() {
return url;
......@@ -189,6 +189,10 @@ public class TcpFlowNodeDto {
", caption='" + caption + '\'' +
", tcpTransactionTotalCount=" + tcpTransactionTotalCount +
", errorTcpTransactionTotalCount=" + errorTcpTransactionTotalCount +
", faultCount=" + faultCount +
", url='" + url + '\'' +
", isGroup=" + isGroup +
", group='" + group + '\'' +
'}';
}
}
package com.yingxin.prms.service.asyncTask;
import com.datastax.driver.core.querybuilder.Using;
import com.yingxin.prms.domain.AlarmMsg;
import com.yingxin.prms.domain.Auth_Mode_Avg;
import com.yingxin.prms.domain.Auth_Success_Rate;
import com.yingxin.prms.dto.SuccessRate;
import com.yingxin.prms.service.dao.AuthSuccessRateImpl;
import com.yingxin.prms.service.dao.CassandraDaoImpl;
import com.yingxin.prms.utils.TimeUtil;
import net.sf.json.JSONObject;
import org.checkerframework.checker.units.qual.A;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.converter.StringHttpMessageConverter;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component;
import org.springframework.web.client.RestTemplate;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @Author by shao
* @Create 2023/3/1 17:05
*/
@Component
public class AuthSuccessRateTask {
private static Logger logger = LoggerFactory.getLogger(AuthSuccessRateTask.class);
@Value("${auth_success_rate_url}")
String url;
@Value("${authorization}")
String authorization;
@Value("${success_ point}")
double successPoint;
String appid = "";
boolean status;
@Autowired
AuthSuccessRateImpl authSuccessRateImpl;
@Autowired
CassandraDaoImpl cassandraDao;
/**
* 获取生物识别平台 认证成功率
*
* @param modes 模式
* @param begin 开始时间(用来记录读取时间)
* @param end 结束时间 (结束时间不填时,查询从开始时间大到当前的数据)
* @param appid appid项为空时(不传)查所有应用
*/
@Async("asyncTaskPool")
public void doTask(List<String> modes, String begin, String end, String appid) {
List<Auth_Success_Rate> authSuccessRateList = new ArrayList<>();
status = false;
for (int i = 0; i < modes.size(); i++) {
try {
//配置参数
Map params = new HashMap();
params.put("appid", appid);
params.put("mode", modes.get(i));
params.put("begin", begin);
params.put("end", end);
//设置信息头
HttpHeaders headers = new HttpHeaders();
headers.add("authorization", authorization);
HttpEntity httpEntity = new HttpEntity<>(params, headers);
//发送http post请求
RestTemplate restTemplate = new RestTemplate();
restTemplate.getMessageConverters().set(1, new StringHttpMessageConverter(StandardCharsets.UTF_8));
String account = restTemplate.postForObject(url, httpEntity, String.class);
JSONObject json = StringToJson(account);
//将返回结果插入到cassandra.auth_mode_avg
if (json != null && json.has("data") && !json.getString("data").equals("null")) {
status = true;
JSONObject jsonData = json.getJSONObject("data");
logger.info("################# 成功率比对 入库显示 ##########################");
Auth_Success_Rate asr = new Auth_Success_Rate(modes.get(i), TimeUtil.toDate(Long.valueOf(begin)) + "", jsonData.getString(String.valueOf(SuccessRate.halfAnHour)), jsonData.getString(String.valueOf(SuccessRate.anHour)),
jsonData.getString(String.valueOf(SuccessRate.threeHours)), jsonData.getString(String.valueOf(SuccessRate.twelveHours)),
jsonData.getString(String.valueOf(SuccessRate.twentyFourHours)), jsonData.getString(String.valueOf(SuccessRate.aWeek)),
jsonData.getString(String.valueOf(SuccessRate.halfAYear)), jsonData.getString(String.valueOf(SuccessRate.aYear)),
jsonData.getString(String.valueOf(SuccessRate.history)));
authSuccessRateList.add(asr);
logger.info("显示: " + asr.getMode()+":"+asr.getA_year());
insertToCassandra(asr);
} else {
logger.info("暂无数据!");
}
} catch (Exception e) {
logger.error("error: AuthSuccessRateTask to {}", modes.get(i));
logger.error(e.getMessage());
// AlarmMsg alarmMsg = new AlarmMsg();
// alarmMsg.setAlarmLevel("unstable");
// alarmMsg.setState("1");
// alarmMsg.setAlarmMessage("调用:"+url+" 返回数据异常");
// alarmMsg.setClusterName("");
// alarmMsg.setIp("0.0.0.0");
// alarmMsg.setPort("");
// alarmMsg.setAlatime(TimeUtil.getDate());
// alarmMsg.setSerialnum(0L);
// cassandraDao.insertAlarmMsg(alarmMsg);
}
}
//插入总平均耗时
if (status){
insertTotalSuccessRate(authSuccessRateList);
}
}
/**
* 模式耗时数据入库
*
* @param authSuccessRate
*/
private void insertToCassandra(Auth_Success_Rate authSuccessRate) {
authSuccessRateImpl.save(authSuccessRate);
}
/**
* 字符串转成Json格式
*
* @param data
* @return
*/
private JSONObject StringToJson(String data) {
JSONObject json;
if (data != null && !data.equals("")) {
json = JSONObject.fromObject(data);
} else {
json = null;
}
return json;
}
/**
* 统计总成功率并记录到数据库
* @param authSuccessRateList
*/
private void insertTotalSuccessRate(List<Auth_Success_Rate> authSuccessRateList) {
int num = authSuccessRateList.size();
String halfAnHour = "0.00%";
String anHour = "0.00%";
String threeHours = "0.00%";
String twelveHours = "0.00%";
String twentyFourHour = "0.00%";
String aWeek = "0.00%";
String halfAYear = "0.00%";
String aYear = "0.00%";
String history = "0.00%";
for (int i = 0; i < authSuccessRateList.size(); i++) {
halfAnHour = getSum(halfAnHour,authSuccessRateList.get(i).getHalf_an_hour());
anHour = getSum(anHour,authSuccessRateList.get(i).getAn_hour());
threeHours = getSum(threeHours,authSuccessRateList.get(i).getThree_hours());
twelveHours = getSum(twelveHours,authSuccessRateList.get(i).getTwelve_hours());
twentyFourHour = getSum(twentyFourHour,authSuccessRateList.get(i).getTwenty_four_hours());
aWeek = getSum(aWeek,authSuccessRateList.get(i).getA_week());
halfAYear = getSum(halfAYear,authSuccessRateList.get(i).getHalf_a_year());
System.out.println("a_year求和前: " + aYear);
System.out.println("authSuccessRateList.get(i).getA_year(): "+authSuccessRateList.get(i).getA_year());
aYear = getSum(aYear,authSuccessRateList.get(i).getA_year());
history = getSum(history,authSuccessRateList.get(i).getHistory());
System.out.println("a_year求和后: " + aYear);
}
System.out.println();
insertToCassandra(new Auth_Success_Rate("ALL-MODE",authSuccessRateList.get(0).getTimestamp(),
getAvg(halfAnHour,num),getAvg(anHour,num),getAvg(threeHours,num),getAvg(twelveHours,num),
getAvg(twentyFourHour,num),getAvg(aWeek,num),getAvg(halfAYear,num),getAvg(aYear,num),getAvg(history,num)));
}
/**
* 成功率求和
* @param rate1
* @param rate2
* @return
*/
public String getSum(String rate1,String rate2){
if (rate1.indexOf("%") > 0 && rate2.indexOf("%") > 0){
return Double.valueOf(rate1.replace("%","")) +
Double.valueOf(rate2.replace("%",""))+"%";
}else if (rate1.indexOf("%") > 0 ){
return Double.valueOf(rate1.replace("%",""))+"%";
}else if (rate2.indexOf("%") > 0 ){
return Double.valueOf(rate2.replace("%",""))+"%";
}
return "暂无比对";
}
/**
* 求成功率平均值
* @param rate
* @param num
* @return
*/
public String getAvg(String rate,int num){
if (rate.indexOf("%") > 0 && Double.valueOf(rate.replace("%","")) > 0){
return Double.valueOf(rate.replace("%",""))/num+"%";
}else{
return "暂无对比";
}
}
/**
* 判断本次告警数据是否有效并且同上次测试数据性能下降了40%
* @param authSuccessRate
*/
public void insertAlarmMag(Auth_Success_Rate authSuccessRate){
List<Auth_Success_Rate> authSuccessRateList = authSuccessRateImpl.findLineChartTSuccessLim1(authSuccessRate.getMode());
Double avgNew = null;
Double avgOlg = null;
if (authSuccessRateList != null && authSuccessRateList.size() > 0 && authSuccessRateList.get(0).getHistory().indexOf("%")>0){
avgOlg = Double.valueOf(authSuccessRateList.get(0).getHistory().replace("%",""));
}
if (authSuccessRate != null && authSuccessRate.getHistory().indexOf("%")>0){
avgNew = Double.valueOf(authSuccessRate.getHistory().replace("%",""));
}
if (avgNew != null && avgOlg != null){
if((avgOlg - avgNew) / avgOlg > successPoint){
AlarmMsg alarmMsg = new AlarmMsg();
alarmMsg.setAlarmLevel("unstable");
alarmMsg.setState("1");
alarmMsg.setAlarmMessage(authSuccessRate.getMode()+" 模式在最近的比对率为:"+authSuccessRate.getHistory()+" 。对比前一分钟,性能下降过快");
alarmMsg.setClusterName("");
alarmMsg.setIp("0.0.0.0");
alarmMsg.setPort("");
alarmMsg.setAlatime(authSuccessRate.getTimestamp());
alarmMsg.setSerialnum(0L);
logger.info("插入比对率性能下降告警!");
cassandraDao.insertAlarmMsg(alarmMsg);
}
}
}
}
......@@ -27,6 +27,9 @@ public class BasicTask {
Boolean insertToKairos(HttpClient client, String url, long dur, boolean isAlive) {
boolean ss=false;
if(dur>2500){
isAlive=false;
}
MetricBuilder builderHeartbeat = MetricBuilder.getInstance();
builderHeartbeat.addMetric("heartbeat")
.addTag("host", url)
......
......@@ -33,8 +33,8 @@ public class HttpTask extends BasicTask{
@Autowired
public HttpTask(HttpClient httpClient) {
SimpleClientHttpRequestFactory httpRequestFactory = new SimpleClientHttpRequestFactory();
httpRequestFactory.setConnectTimeout(5000);
httpRequestFactory.setReadTimeout(5000);
httpRequestFactory.setConnectTimeout(2800);
httpRequestFactory.setReadTimeout(2800);
this.httpClient = httpClient;
}
......
package com.yingxin.prms.service.asyncTask;
import com.google.gson.JsonArray;
import com.sun.scenario.effect.impl.sw.java.JSWBlend_SRC_OUTPeer;
import com.yingxin.prms.config.Constant;
import com.yingxin.prms.domain.AlarmMsg;
import com.yingxin.prms.service.dao.CassandraDaoImpl;
import com.yingxin.prms.utils.TimeUtil;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.ResponseEntity;
import org.springframework.http.converter.StringHttpMessageConverter;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component;
import org.springframework.web.client.RestTemplate;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @Author by shao
* @Create 2023/3/1 17:05
*/
@Component
public class LogSystemAlarmTask {
private static Logger logger = LoggerFactory.getLogger(LogSystemAlarmTask.class);
@Autowired
CassandraDaoImpl cassandraDao;
@Value("${log_statistics_url}")
private String url;
@Value("${authorization}")
private String authorization;
@Value("${error_rate}")
private double errorRate;
@Async("asyncTaskPool")
public void doTask(String appid,Long begin,Long end){
System.out.println();
try {
//设置信息头
HttpHeaders headers = new HttpHeaders();
headers.add("Authorization", authorization);
HttpEntity httpEntity = new HttpEntity<>(headers);
//发送http get请求
RestTemplate restTemplate = new RestTemplate();
restTemplate.getMessageConverters().set(1, new StringHttpMessageConverter(StandardCharsets.UTF_8));
ResponseEntity<String> data = restTemplate.exchange(url+"?appid="+appid+"&&gte="+begin+"&&lte="+end,
HttpMethod.GET, httpEntity, String.class);
JSONObject json = StringToJson(data.getBody());
//将返回结果插入到cassandra.auth_mode_avg
if (json != null && json.has("data") && !json.getString("data").equals("null")) {
JSONArray jsonArray = json.getJSONArray("data");
double totalCount = 0.0;
double esCount = 0.0;
for (int i = 0;i<jsonArray.size();i++){
totalCount = totalCount+(int) jsonArray.getJSONObject(i).get("doc_count");
if (jsonArray.getJSONObject(i).getString("key").length()>=2 && jsonArray.getJSONObject(i).getString("key").substring(0,2).equals("ES")){
esCount = esCount+(int) jsonArray.getJSONObject(i).get("doc_count");
}
}
System.out.println(json.toString());
System.out.println("totalCount: "+ totalCount);
System.out.println("esCount: " + esCount);
System.out.println("异常率: "+esCount/totalCount);
if (totalCount!=0 && esCount/totalCount>=errorRate){
AlarmMsg alarmMsg = new AlarmMsg();
alarmMsg.setAlarmLevel(Constant.ALARM_UNSTABLE);
alarmMsg.setState("1");
alarmMsg.setAlarmMessage("调用:"+url+" 系统异常日志统计超过"+errorRate+"%");
alarmMsg.setClusterName("");
alarmMsg.setIp("0.0.0.0");
alarmMsg.setPort("");
alarmMsg.setAlatime(TimeUtil.getDate());
alarmMsg.setSerialnum(0L);
System.out.println(alarmMsg.toString());
System.out.println("插入日志异常数据到数据库中!!!!!!!!!!!!!!!");
cassandraDao.insertAlarmMsg(alarmMsg);
}
} else {
logger.info("暂无数据或者异常未超过1%!");
}
} catch (Exception e) {
System.out.println("出现异常情况");
System.out.println(e.getMessage());
logger.error("error: logSystemAlarmTask to {}", "dotask");
e.printStackTrace();
}
}
public void insertAuthTimeAvg() {
}
/**
* 字符串转成Json格式
*
* @param data
* @return
*/
private JSONObject StringToJson(String data) {
JSONObject json;
if (data != null && !data.equals("")) {
json = JSONObject.fromObject(data);
} else {
json = null;
}
return json;
}
public static void main(String[] args) {
double a = 1;
double b = 1;
double c = 1;
a=a+c;
System.out.println(a>c);
System.out.println(a);
System.out.println(a/b);
}
}
package com.yingxin.prms.service.asyncTask;
import com.yingxin.prms.config.Constant;
import com.yingxin.prms.domain.AlarmMsg;
import com.yingxin.prms.domain.Auth_Mode_Avg;
import com.yingxin.prms.service.business.Manager;
import com.yingxin.prms.service.dao.AuthModeAvgImpl;
import com.yingxin.prms.service.dao.AuthSuccessRateImpl;
import com.yingxin.prms.service.dao.CassandraDaoImpl;
import com.yingxin.prms.utils.TimeUtil;
import net.sf.json.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.converter.StringHttpMessageConverter;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component;
import org.springframework.web.client.RestTemplate;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @Author by shao
* @Create 2023/3/1 17:05
*/
@Component
public class PortraitCheckTimeTask {
private static Logger logger = LoggerFactory.getLogger(PortraitCheckTimeTask.class);
@Autowired
AuthModeAvgImpl authModeAvgIml;
@Autowired
CassandraDaoImpl cassandraDao;
@Value("${auth_time_avg_url}")
private String url;
@Value("${authorization}")
private String authorization;
@Value("${avg_point}")
private double avgPoint;
private boolean status;
/**
* 获取生物识别平台 认证平均耗时
*
* @param modes 模式集合
* @param begin 开始时间(用来记录读取时间)
* @param end 结束时间
* @param type 类型 1:最近100条请求的平均耗时,此时begin和end的值无效 非1:规定时间内所有请求耗时
*/
@Async("asyncTaskPool")
public void doTask(List<String> modes, String begin, String end, String type) {
List<Auth_Mode_Avg> authModeAvgList = new ArrayList<>();
for (int i = 0; i < modes.size(); i++) {
status = false;
try {
//配置参数
Map params = new HashMap();
params.put("mode", modes.get(i));
params.put("begin", begin);
params.put("end", end);
params.put("type", type);
//设置信息头
HttpHeaders headers = new HttpHeaders();
headers.add("authorization", authorization);
HttpEntity httpEntity = new HttpEntity<>(params, headers);
//发送http post请求
RestTemplate restTemplate = new RestTemplate();
restTemplate.getMessageConverters().set(1, new StringHttpMessageConverter(StandardCharsets.UTF_8));
String account = restTemplate.postForObject(url, httpEntity, String.class);
JSONObject json = StringToJson(account);
//将返回结果插入到cassandra.auth_mode_avg
if (json != null && json.has("data") && !json.getString("data").equals("null") && json.getJSONObject("data").has("busTimeAvg")) {
status = true;
Auth_Mode_Avg ama = new Auth_Mode_Avg(modes.get(i), begin + "", json.getJSONObject("data").getString("busTimeAvg"));
//测试数据存入cassandra
insertToCassandra(ama);
//将总耗时整理以备后续存入数据库
authModeAvgList.add(ama);
//判断本次是否需要插入告警数据
insertAlarmMag(ama);
} else {
logger.info("暂无数据!");
// System.out.println("暂无数据!");
}
} catch (Exception e) {
logger.error("error: portraitCheckTimeTask to {}", modes.get(i));
logger.error(e.getMessage());
AlarmMsg alarmMsg = new AlarmMsg();
alarmMsg.setAlarmLevel(Constant.ALARM_UNSTABLE);
alarmMsg.setState("1");
alarmMsg.setAlarmMessage("调用:"+url+" 返回数据异常");
alarmMsg.setClusterName("");
alarmMsg.setIp("0.0.0.0");
alarmMsg.setPort("");
alarmMsg.setAlatime(TimeUtil.getDate());
alarmMsg.setSerialnum(0L);
cassandraDao.insertAlarmMsg(alarmMsg);
}
}
//插入总平均耗时 如果日志系统有返回数据并且不为null并且不为空串则可以将返回结果添加到数据库中
if (status){
insertTotalAuthTimeAvg(authModeAvgList);
status = false;
}
}
/**
* 模式耗时数据入库
*
* @param authModeAvg
*/
private void insertToCassandra(Auth_Mode_Avg authModeAvg) {
authModeAvgIml.save(authModeAvg);
}
/**
* 字符串转成Json格式
*
* @param data
* @return
*/
private JSONObject StringToJson(String data) {
JSONObject json;
if (data != null && !data.equals("")) {
json = JSONObject.fromObject(data);
} else {
json = null;
}
return json;
}
/**
* 统计总耗时并记录到数据库(1:N M:N 总平均耗时)
* @param authModeAvgList
*/
private void insertTotalAuthTimeAvg(List<Auth_Mode_Avg> authModeAvgList) {
double timeTotal = 0.00;
for (int i = 0; i < authModeAvgList.size(); i++) {
timeTotal = timeTotal + Double.valueOf(authModeAvgList.get(i).getTime_avg());
}
if (timeTotal > 0) {
insertToCassandra(new Auth_Mode_Avg("ALL-MODE", authModeAvgList.get(0).getTimestamp(), timeTotal / authModeAvgList.size() + ""));
}
}
//判断本次告警数据是否有效并且同上次测试数据性能下降了40%。
public void insertAlarmMag(Auth_Mode_Avg authModeAvg){
List<Auth_Mode_Avg> authModeAvgList = authModeAvgIml.findLineChartTimelim1(authModeAvg.getMode());
Double avgNew = null;
Double avgOlg = null;
if (authModeAvgList != null && authModeAvgList.size() > 0 && authModeAvgList.get(0).getTime_avg().indexOf(".")>0){
avgOlg = Double.valueOf(authModeAvgList.get(0).getTime_avg());
}
if (authModeAvg != null && authModeAvg.getTime_avg().indexOf(".")>0){
avgNew = Double.valueOf(authModeAvgList.get(0).getTime_avg());
}
if (avgNew != null && avgOlg != null){
if((avgNew - avgOlg) / avgOlg > avgPoint){
AlarmMsg alarmMsg = new AlarmMsg();
alarmMsg.setAlarmLevel("unstable");
alarmMsg.setState("1");
alarmMsg.setAlarmMessage(authModeAvgList.get(0).getMode()+"模式在最近的平均耗时为:"+avgNew+" 。对比前一分钟,性能下降过快");
alarmMsg.setClusterName("");
alarmMsg.setIp("0.0.0.0");
alarmMsg.setPort("");
alarmMsg.setAlatime(authModeAvgList.get(0).getTimestamp());
alarmMsg.setSerialnum(0L);
logger.info("插入平均耗时性能下降告警!");
cassandraDao.insertAlarmMsg(alarmMsg);
}
}
}
}
......@@ -5,6 +5,7 @@ import org.kairosdb.client.HttpClient;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.client.SimpleClientHttpRequestFactory;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component;
......@@ -25,6 +26,9 @@ public class UdpTask extends BasicTask{
@Autowired
public UdpTask(HttpClient httpClient) {
SimpleClientHttpRequestFactory httpRequestFactory = new SimpleClientHttpRequestFactory();
httpRequestFactory.setConnectTimeout(2800);
httpRequestFactory.setReadTimeout(2800);
this.httpClient = httpClient;
}
......
......@@ -11,6 +11,7 @@ import com.yingxin.prms.service.dao.CassandraDaoImpl;
import com.yingxin.prms.service.dao.FlowDaoImpl;
import com.yingxin.prms.utils.*;
import net.sf.json.JSON;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.apache.catalina.Server;
import org.kairosdb.client.HttpClient;
......@@ -503,6 +504,7 @@ public class Manager {
}
for(FlowLine line : flowLines){
System.out.println(line.getCluster_name_left()+":"+line.getClusterNameRight());
TcpFlowLineDto lineDto = new TcpFlowLineDto();
lineDto.setFrom(line.getCluster_name_left());
lineDto.setTo(line.getClusterNameRight());
......@@ -548,15 +550,40 @@ public class Manager {
//TODO 一会儿打开
List<TcpFlowNodeDto> tcpFlowNodeDtos = initNodeDtos(nodeDtos);
// List<TcpFlowNodeDto> tcpFlowNodeDtos1 = initGroup(tcpFlowNodeDtos);
List<TcpFlowLineDto> tcpFlowLineDtos = initLineDtos(lineDtos);
// initGroup(tcpFlowNodeDtos);
initGroup(tcpFlowNodeDtos);
// for (int i=0;i<tcpFlowLineDtos.size();i++){
// if (tcpFlowLineDtos.get(i).getTo().equals(".")){
// tcpFlowLineDtos.get(i).setTo("接入区");
// continue;
// }
// if (tcpFlowLineDtos.get(i).getTo().equals("..")){
// tcpFlowLineDtos.get(i).setTo("核心业务区");
// continue;
// }
// if (tcpFlowLineDtos.get(i).getTo().equals("...")){
// tcpFlowLineDtos.get(i).setTo("算法区");
// continue;
// }
// }
result.put("nodeDataArray", tcpFlowNodeDtos);
result.put("linkDataArray", tcpFlowLineDtos);
//TODO 一会儿删掉
// JSONArray jsonArrayNode = new JSONArray();
// System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!");
// System.out.println(json.toString());
// System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!");
// System.out.println("@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
// System.out.println(json.toString());
// System.out.println("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
// //TODO 一会儿删掉
// result.put("nodeDataArray", nodeDtos);
// result.put("linkDataArray", lineDtos);
// initGroup(nodeDtos);
JSONObject json = JSONObject.fromObject(result);
// System.out.println("####################");
// System.out.println(json.toString());
// System.out.println("####################");
return result;
}
......@@ -565,86 +592,107 @@ public class Manager {
* @param nodeDtos
* @return
*/
// private List<TcpFlowNodeDto> initGroup(List<TcpFlowNodeDto> nodeDtos){
// Boolean b = null;
// String areaName = "";
// Boolean jrq = false;
// Boolean qxgl = false;
// Boolean jrgl = false;
// Boolean hxywq = false;
// Boolean sfq = false;
// Boolean rzhj = false;
// for (TcpFlowNodeDto tcpFlowNodeDto:nodeDtos){
// if (tcpFlowNodeDto.getServerName().equals("接入区")){
// jrq = true;
// }else if (tcpFlowNodeDto.getServerName().equals("核心业务区")){
// hxywq = true;
// }else if (tcpFlowNodeDto.getServerName().equals("算法区")){
// sfq = true;
// }else if (tcpFlowNodeDto.getServerName().equals("日志汇聚")){
// rzhj = true;
// }else if (tcpFlowNodeDto.getServerName().equals("权限管理")){
// qxgl = true;
// }else if (tcpFlowNodeDto.getServerName().equals("接入管理")){
// jrgl = true;
// }
//
// b = srConfig.getAllArea().containsKey(tcpFlowNodeDto.getServerName()) ? true : false;
// areaName = srConfig.getAreaName(tcpFlowNodeDto.getServerName());
// tcpFlowNodeDto.setIsGroup(b);
// tcpFlowNodeDto.setGroup(areaName);
// }
// TcpFlowNodeDto nodeDto = new TcpFlowNodeDto();
// //没有接入区添加区域配置
// if (!jrq){
// nodeDto = new TcpFlowNodeDto("接入区",nodeDtos.get(0).getCategory(),nodeDtos.get(0).getDescription(),nodeDtos.get(0).getDescriptionCss(),
// nodeDtos.get(0).getPos(),"接入区","接入区",nodeDtos.get(0).getImgsrc(),nodeDtos.get(0).getCaption(),
// nodeDtos.get(0).getTcpTransactionTotalCount(),nodeDtos.get(0).getErrorTcpTransactionTotalCount(),nodeDtos.get(0).getFaultCount(),
// nodeDtos.get(0).getUrl(),true,"div-total");
// nodeDtos.add(nodeDto);
// }
// //没有核心业务区添加区域配置
// if (!hxywq){
// nodeDto = new TcpFlowNodeDto("核心业务区",nodeDtos.get(0).getCategory(),nodeDtos.get(0).getDescription(),nodeDtos.get(0).getDescriptionCss(),
// nodeDtos.get(0).getPos(),"核心业务区","核心业务区",nodeDtos.get(0).getImgsrc(),nodeDtos.get(0).getCaption(),
// nodeDtos.get(0).getTcpTransactionTotalCount(),nodeDtos.get(0).getErrorTcpTransactionTotalCount(),nodeDtos.get(0).getFaultCount(),
// nodeDtos.get(0).getUrl(),true,"div-total");
// nodeDtos.add(nodeDto);
// }
// //没有算法区添加区域配置
// if (!sfq){
// nodeDto = new TcpFlowNodeDto("算法区",nodeDtos.get(0).getCategory(),nodeDtos.get(0).getDescription(),nodeDtos.get(0).getDescriptionCss(),
// nodeDtos.get(0).getPos(),"算法区","算法区",nodeDtos.get(0).getImgsrc(),nodeDtos.get(0).getCaption(),
// nodeDtos.get(0).getTcpTransactionTotalCount(),nodeDtos.get(0).getErrorTcpTransactionTotalCount(),nodeDtos.get(0).getFaultCount(),
// nodeDtos.get(0).getUrl(),true,"div-total");
// nodeDtos.add(nodeDto);
// }
// //没有日志汇聚添加区域配置
// if (!rzhj){
// nodeDto = new TcpFlowNodeDto("日志汇聚",nodeDtos.get(0).getCategory(),nodeDtos.get(0).getDescription(),nodeDtos.get(0).getDescriptionCss(),
// nodeDtos.get(0).getPos(),"日志汇聚","日志汇聚",nodeDtos.get(0).getImgsrc(),nodeDtos.get(0).getCaption(),
// nodeDtos.get(0).getTcpTransactionTotalCount(),nodeDtos.get(0).getErrorTcpTransactionTotalCount(),nodeDtos.get(0).getFaultCount(),
// nodeDtos.get(0).getUrl(),true,"div-total");
// nodeDtos.add(nodeDto);
// }
// //没有权限管理添加区域配置
// if (!qxgl){
// nodeDto = new TcpFlowNodeDto("权限管理",nodeDtos.get(0).getCategory(),nodeDtos.get(0).getDescription(),nodeDtos.get(0).getDescriptionCss(),
// nodeDtos.get(0).getPos(),"权限管理","权限管理",nodeDtos.get(0).getImgsrc(),nodeDtos.get(0).getCaption(),
private List<TcpFlowNodeDto> initGroup(List<TcpFlowNodeDto> nodeDtos){
Boolean b = null;
String areaName = "";
Boolean jrq = false;
Boolean qxgl = false;
Boolean jrgl = false;
Boolean hxywq = false;
Boolean sfq = false;
Boolean rzhj = false;
Boolean jiashuju1 = false;
Boolean jiashuju2 = false;
for (TcpFlowNodeDto tcpFlowNodeDto:nodeDtos){
if (tcpFlowNodeDto.getServerName().equals("接入区")){
jrq = true;
}else if (tcpFlowNodeDto.getServerName().equals("核心业务区")){
hxywq = true;
}else if (tcpFlowNodeDto.getServerName().equals("算法区")){
sfq = true;
}else if (tcpFlowNodeDto.getServerName().equals("日志汇聚")){
rzhj = true;
}else if (tcpFlowNodeDto.getServerName().equals("权限管理")){
qxgl = true;
}else if (tcpFlowNodeDto.getServerName().equals("接入管理")){
jrgl = true;
}else if (tcpFlowNodeDto.getServerName().equals(".")){
jiashuju1 = true;
}else if (tcpFlowNodeDto.getServerName().equals("..")){
jiashuju2 = true;
}
b = srConfig.getAllArea().containsKey(tcpFlowNodeDto.getServerName()) ? true : false;
areaName = srConfig.getAreaName(tcpFlowNodeDto.getServerName());
tcpFlowNodeDto.setIsGroup(b);
tcpFlowNodeDto.setGroup(areaName);
}
TcpFlowNodeDto nodeDto = new TcpFlowNodeDto();
//没有接入区添加区域配置
if (!jrq){
nodeDto = new TcpFlowNodeDto("接入区","serviceGroup",nodeDtos.get(0).getDescription(),nodeDtos.get(0).getDescriptionCss(),
nodeDtos.get(0).getPos(),"接入区","接入区",nodeDtos.get(0).getImgsrc(),nodeDtos.get(0).getCaption(),
nodeDtos.get(0).getTcpTransactionTotalCount(),nodeDtos.get(0).getErrorTcpTransactionTotalCount(),nodeDtos.get(0).getFaultCount(),
nodeDtos.get(0).getUrl(),true,"");
nodeDtos.add(nodeDto);
}
//没有核心业务区添加区域配置
if (!hxywq){
nodeDto = new TcpFlowNodeDto("核心业务区","serviceGroup",nodeDtos.get(0).getDescription(),nodeDtos.get(0).getDescriptionCss(),
nodeDtos.get(0).getPos(),"核心业务区","核心业务区",nodeDtos.get(0).getImgsrc(),nodeDtos.get(0).getCaption(),
nodeDtos.get(0).getTcpTransactionTotalCount(),nodeDtos.get(0).getErrorTcpTransactionTotalCount(),nodeDtos.get(0).getFaultCount(),
nodeDtos.get(0).getUrl(),true,"");
nodeDtos.add(nodeDto);
}
//没有算法区添加区域配置
if (!sfq){
nodeDto = new TcpFlowNodeDto("算法区","serviceGroup",nodeDtos.get(0).getDescription(),nodeDtos.get(0).getDescriptionCss(),
nodeDtos.get(0).getPos(),"算法区","算法区",nodeDtos.get(0).getImgsrc(),nodeDtos.get(0).getCaption(),
nodeDtos.get(0).getTcpTransactionTotalCount(),nodeDtos.get(0).getErrorTcpTransactionTotalCount(),nodeDtos.get(0).getFaultCount(),
nodeDtos.get(0).getUrl(),true,"");
nodeDtos.add(nodeDto);
}
//没有日志汇聚添加区域配置
if (!rzhj){
nodeDto = new TcpFlowNodeDto("日志汇聚","serviceGroup",nodeDtos.get(0).getDescription(),nodeDtos.get(0).getDescriptionCss(),
nodeDtos.get(0).getPos(),"日志汇聚","日志汇聚",nodeDtos.get(0).getImgsrc(),nodeDtos.get(0).getCaption(),
nodeDtos.get(0).getTcpTransactionTotalCount(),nodeDtos.get(0).getErrorTcpTransactionTotalCount(),nodeDtos.get(0).getFaultCount(),
nodeDtos.get(0).getUrl(),true,"");
nodeDtos.add(nodeDto);
}
//没有权限管理添加区域配置
if (!qxgl){
nodeDto = new TcpFlowNodeDto("权限管理","serviceGroup",nodeDtos.get(0).getDescription(),nodeDtos.get(0).getDescriptionCss(),
nodeDtos.get(0).getPos(),"权限管理","权限管理",nodeDtos.get(0).getImgsrc(),nodeDtos.get(0).getCaption(),
nodeDtos.get(0).getTcpTransactionTotalCount(),nodeDtos.get(0).getErrorTcpTransactionTotalCount(),nodeDtos.get(0).getFaultCount(),
nodeDtos.get(0).getUrl(),true,"接入区");
nodeDtos.add(nodeDto);
}
//没有接入管理添加区域配置
if (!jrgl){
nodeDto = new TcpFlowNodeDto("接入管理","serviceGroup",nodeDtos.get(0).getDescription(),nodeDtos.get(0).getDescriptionCss(),
nodeDtos.get(0).getPos(),"接入管理","接入管理",nodeDtos.get(0).getImgsrc(),nodeDtos.get(0).getCaption(),
nodeDtos.get(0).getTcpTransactionTotalCount(),nodeDtos.get(0).getErrorTcpTransactionTotalCount(),nodeDtos.get(0).getFaultCount(),
nodeDtos.get(0).getUrl(),true,"接入区");
nodeDtos.add(nodeDto);
}
// if (!jiashuju1){
// nodeDto = new TcpFlowNodeDto(".","node1",nodeDtos.get(0).getDescription(),nodeDtos.get(0).getDescriptionCss(),
// nodeDtos.get(0).getPos(),".",".",nodeDtos.get(0).getImgsrc(),nodeDtos.get(0).getCaption(),
// nodeDtos.get(0).getTcpTransactionTotalCount(),nodeDtos.get(0).getErrorTcpTransactionTotalCount(),nodeDtos.get(0).getFaultCount(),
// nodeDtos.get(0).getUrl(),true,"接入区");
// nodeDtos.get(0).getUrl(),false,"日志汇聚");
// nodeDtos.add(nodeDto);
// }
// //没有接入管理添加区域配置
// if (!jrgl){
// nodeDto = new TcpFlowNodeDto("接入管理",nodeDtos.get(0).getCategory(),nodeDtos.get(0).getDescription(),nodeDtos.get(0).getDescriptionCss(),
// nodeDtos.get(0).getPos(),"接入管理","接入管理",nodeDtos.get(0).getImgsrc(),nodeDtos.get(0).getCaption(),
// if (!jiashuju2){
// nodeDto = new TcpFlowNodeDto("..","node1",nodeDtos.get(0).getDescription(),nodeDtos.get(0).getDescriptionCss(),
// nodeDtos.get(0).getPos(),"..","..",nodeDtos.get(0).getImgsrc(),nodeDtos.get(0).getCaption(),
// nodeDtos.get(0).getTcpTransactionTotalCount(),nodeDtos.get(0).getErrorTcpTransactionTotalCount(),nodeDtos.get(0).getFaultCount(),
// nodeDtos.get(0).getUrl(),true,"接入区");
// nodeDtos.get(0).getUrl(),false,"日志汇聚");
// nodeDtos.add(nodeDto);
// }
// return nodeDtos;
// }
return nodeDtos;
}
/**
* //去掉点集合中:照片比对(1对1)、身份核查(人证)、OCR识别引擎、虹膜识别引擎数据
......
package com.yingxin.prms.service.dao;
import com.yingxin.prms.domain.Auth_Mode_Avg;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.cassandra.core.CassandraTemplate;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* @Author by shao
* @Create 2023/3/2 11:42
*/
@Repository
public class AuthModeAvgImpl {
private final CassandraTemplate template;
@Autowired
public AuthModeAvgImpl(CassandraTemplate template) {
this.template = template;
}
public void save(Auth_Mode_Avg authModeAvg){
template.insert(authModeAvg);
}
public List<Auth_Mode_Avg> findAllByMode(String mode){
return template.select("select * from ctid_prof.auth_mode_avg where mode = '"+mode+"';",Auth_Mode_Avg.class);
}
public List<Auth_Mode_Avg> findLineChartTimeData(String mode){
return template.select("select * from ctid_prof.auth_mode_avg where mode = '"+mode+"' order by timestamp desc limit 20;",Auth_Mode_Avg.class);
}
public List<Auth_Mode_Avg> findLineChartTimelim1(String mode){
return template.select("select * from ctid_prof.auth_mode_avg where mode = '"+mode+"' order by timestamp desc limit 1;",Auth_Mode_Avg.class);
}
}
package com.yingxin.prms.service.dao;
import com.yingxin.prms.domain.Auth_Mode_Avg;
import com.yingxin.prms.domain.Auth_Success_Rate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.cassandra.core.CassandraTemplate;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* @Author by shao
* @Create 2023/3/2 11:42
*/
@Repository
public class AuthSuccessRateImpl {
private final CassandraTemplate template;
@Autowired
public AuthSuccessRateImpl(CassandraTemplate template) {
this.template = template;
}
public void save(Auth_Success_Rate authSuccessRate){
template.insert(authSuccessRate);
}
public List<Auth_Success_Rate> findAllByMode(String mode){
return template.select("select * from ctid_prof.auth_success_rate where mode = '"+mode+"';",Auth_Success_Rate.class);
}
public List<Auth_Success_Rate> findLineChartTSuccessData(String mode){
return template.select("select * from ctid_prof.auth_success_rate where mode = '"+mode+"' order by timestamp desc limit 20;",Auth_Success_Rate.class);
}
public List<Auth_Success_Rate> findLineChartTSuccessLim1(String mode){
return template.select("select * from ctid_prof.auth_success_rate where mode = '"+mode+"' order by timestamp desc limit 1;",Auth_Success_Rate.class);
}
}
......@@ -2,17 +2,15 @@ package com.yingxin.prms.service.schedule;
import com.yingxin.prms.domain.Server_Host_Info;
import com.yingxin.prms.dto.AuthModeAndHostList;
import com.yingxin.prms.service.asyncTask.AlarmTask;
import com.yingxin.prms.service.asyncTask.HttpTask;
import com.yingxin.prms.service.asyncTask.RedisTask;
import com.yingxin.prms.service.asyncTask.UdpTask;
import com.yingxin.prms.service.asyncTask.*;
import com.yingxin.prms.utils.TimeUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.ConcurrentHashMap;
......@@ -29,14 +27,24 @@ public class Schedule {
private final AuthModeAndHostList list;
private final PortraitCheckTimeTask portraitCheckTimeTask;
private final AuthSuccessRateTask authSuccessRateTask;
private final LogSystemAlarmTask logSystemAlarmTask;
private static Logger logger = LoggerFactory.getLogger(Schedule.class);
@Autowired
public Schedule(AuthModeAndHostList list, HttpTask httpTask, UdpTask udpTask, RedisTask redisTask, AlarmTask alarmTask) {
public Schedule(AuthModeAndHostList list, HttpTask httpTask, UdpTask udpTask, RedisTask redisTask, AlarmTask alarmTask, PortraitCheckTimeTask portraitCheckTimeTask, AuthSuccessRateTask authSuccessRateTask, LogSystemAlarmTask logSystemAlarmTask) {
this.list = list;
this.httpTask = httpTask;
this.udpTask = udpTask;
this.redisTask = redisTask;
this.alarmTask = alarmTask;
this.portraitCheckTimeTask = portraitCheckTimeTask;
this.authSuccessRateTask = authSuccessRateTask;
this.logSystemAlarmTask = logSystemAlarmTask;
}
@Scheduled(initialDelay = 5000, fixedDelay = 10000)
......@@ -51,12 +59,47 @@ public class Schedule {
if (hostInfo.getService_method().equals("redis")) redisTask.doTask(hostInfo, alarmHost);
}
}
@Scheduled(initialDelay = 60000, fixedDelay = 20000)
public void alarm() {
logger.info("开始告警判断");
List<Server_Host_Info> server_host_infos = list.getClusterBeMonitoredList();
for (Server_Host_Info hostInfo : server_host_infos) {
alarmTask.doTask(hostInfo);
alarmTask.doTask(hostInfo);
}
}
@Scheduled(initialDelay = 10000, fixedDelay = 60000)
public void authModeConsum() {
logger.info("获取平台认证耗时");
List<String> modes = new ArrayList<>();
modes.add("YTCR-BASIC");
modes.add("YRDTYTCR-BASIC");
String begin = TimeUtil.getTimeStampString();
for (int i = 0; i < modes.size(); i++) {
portraitCheckTimeTask.doTask(modes, begin, "0", "1");
}
}
@Scheduled(initialDelay = 10000, fixedDelay = 60000)
public void authSuccessRate() {
logger.info("获取平台认证对比率");
List<String> modes = new ArrayList<>();
modes.add("YTCR-BASIC");
modes.add("YRDTYTCR-BASIC");
long end = System.currentTimeMillis();
String begin = end - 60000 + "";
authSuccessRateTask.doTask(modes, begin, "", "");
}
/**
* 日志统计中异常百分比超过%,就行告警表中添加一天告警数据
* 通知日志统计异常率超过%
*/
@Scheduled(initialDelay = 10000, fixedDelay = 60000)
public void setLogSystemAlarmTask() {
logger.info("判断日志统计中异常百分比");
System.currentTimeMillis();
logSystemAlarmTask.doTask("",System.currentTimeMillis()-120000,System.currentTimeMillis()-60000);
}
}
......@@ -55,7 +55,7 @@ public class SendHttpUtil {
// 配置信息
RequestConfig requestConfig = RequestConfig.custom()
// 设置连接超时时间(单位毫秒)
.setConnectTimeout(5000)
.setConnectTimeout(2800)
// // 设置请求超时时间(单位毫秒)
// .setConnectionRequestTimeout(5000)
// // socket读写超时时间(单位毫秒)
......@@ -105,7 +105,7 @@ public class SendHttpUtil {
// 配置信息
RequestConfig requestConfig = RequestConfig.custom()
// 设置连接超时时间(单位毫秒)
.setConnectTimeout(5000)
.setConnectTimeout(2800)
// // 设置请求超时时间(单位毫秒)
// .setConnectionRequestTimeout(3000)
// // socket读写超时时间(单位毫秒)
......
......@@ -11,6 +11,7 @@ import org.apache.http.util.EntityUtils;
import org.kairosdb.client.builder.QueryBuilder;
import org.springframework.http.ResponseEntity;
import javax.xml.crypto.Data;
import java.io.IOException;
import java.text.DateFormat;
import java.text.ParseException;
......@@ -51,6 +52,23 @@ public class TimeUtil {
return sdf.format(date);
}
public static String getDateToTimeStamp(String dataStr) {
Date date = null;
try {
date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(dataStr);
} catch (ParseException e) {
e.printStackTrace();
}
return date.getTime()+"";
}
public static String getDate2(){
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
return sdf.format(date);
}
public static String getMD5Result(String password){
return password.substring(12,password.length()-24);
}
......@@ -70,5 +88,13 @@ public class TimeUtil {
return calendar.getTime();
}
public static String getTimeStampString() {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
Calendar beforeTime = Calendar.getInstance();
Date beforeD = beforeTime.getTime();
String time = sdf.format(beforeD);
return time;
}
}
server:
port: 8091
port: 8090
spring:
data:
cassandra:
keyspace-name: ctid_prof
# contact-points: 200.102.10.11
# contact-points: 121.22.111.251
contact-points: 192.168.10.11
# contact-points: 200.102.10 .11
# contact-points: 192.168.10.11
contact-points: 192.168.10.120
# port: 9042
port: 9002
# username: gzt
......@@ -29,7 +29,8 @@ jwt:
demo:
kairosdb:
# url: "http://123.183.159.199:9008"
url: "http://192.168.10.11:9008"
# url: "http://192.168.10.141:8080"
url: "http://192.168.10.11:8080"
maxConnTotal: 50
maxConnPerRoute: 30
......@@ -62,3 +63,15 @@ wxurl: 123
#企业ID
corpid: 123
#corpid: wwb8a34ddb02c87228
auth_time_avg_url: http://192.168.10.244:8866/external/getBusinessTimeAvg
auth_success_rate_url: http://192.168.10.244:8866/external/getComparisonSuccessRate
authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1aWQiOjQzLCJ1c2VybmFtZSI6InRlc3QifQ._g1YqE2pa8j-YUfTMV7dG_bKgsja6WPlFlh2RP3yTIg
avg_point: 0.40
success_ point: 0.50
#log path
log_statistics_url: http://192.168.10.244:8866/external/getGroupCodeByAppid
#日志系统异常半分比(直接输入数值,不需要添加%符号)
error_rate: 1
\ No newline at end of file
......@@ -28,7 +28,7 @@
</appenders>
<loggers>
<AsyncRoot level="INFO" includeLocation="true">
<AsyncRoot level="INFO" includeLocation="true" additivity = "true">
<AppenderRef ref="console"/>
<AppenderRef ref="Ctid_Log_Server_Local_File"/>
</AsyncRoot>
......
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><title>可靠性监控</title><link href=/css/app.54ec9eb89feda0ac8a552380cb2419f9.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=/js/manifest.1766e3c7586055624ca0.js></script><script type=text/javascript src=/js/vendor.26cf44d5f3ca6bde9d6b.js></script><script type=text/javascript src=/js/app.cbfe33edaa556c80edf2.js></script></body></html>
\ No newline at end of file
<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><title>可靠性监控</title><link href=/css/app.9b127bad18abf2ef0937dc3c4ddb4cc7.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=/js/manifest.1766e3c7586055624ca0.js></script><script type=text/javascript src=/js/vendor.6463c5f02785981de30d.js></script><script type=text/javascript src=/js/app.5e5c5aab73e147387b56.js></script></body></html>
\ No newline at end of file
webpackJsonp([1],{"5PFK":function(t,e){},"7Otq":function(t,e){t.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OTk2QkI4RkE3NjE2MTFFNUE4NEU4RkIxNjQ5MTYyRDgiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OTk2QkI4Rjk3NjE2MTFFNUE4NEU4RkIxNjQ5MTYyRDgiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjU2QTEyNzk3NjkyMTFFMzkxODk4RDkwQkY4Q0U0NzYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NjU2QTEyN0E3NjkyMTFFMzkxODk4RDkwQkY4Q0U0NzYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5WHowqAAAXNElEQVR42uxda4xd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"},"9Hyy":function(t,e){},CMRB:function(t,e){t.exports="data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAAC0AAAAnCAYAAACbgcH8AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABFSURBVFhH7c6xCQAgEAAxwS3c+WfWLQLCFemz9pn7m9JKaaW0UloprZRWSiulldJKaaW0UloprZRWSiulldJKaaW0MfcBZ8JiOf+zDqQAAAAASUVORK5CYII="},JQpZ:function(t,e){t.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAD0UlEQVR4Xu1bT2gUZxT/vdlJW41JdhYhxYI03czWHkRSUgNSQVuPocd6aQuF2nVnUg8eRG8ePIiHeujuxkXRUm8KUopCD/5BL4Zq00ILtTtJt5QS0lJmNonGQ2bmySS7i1B2nB02m53db247+7753vvN733fe7/9ltDlF3V5/BAACAZ0OQIiBV5EgHhuZj8RnyLGCAibXmTfFt8znjL4R1vuObSUHnrk55MvA/qzxTFZoqm2CCqME4zFFVke8wPBFwAlZ9wmwv4wc7fLGGbcsXT1vXr++AKQyBnLz9H+kEuYaZfAfGnN/A6BzlRslk1N7Q0HQN7g6kCX5KFyZujPKAAQnyy9LrFdqvpqamrdF+3PAAGAYEDdFFAmi+Pk0miVZiuym11Kv/lfX+H3rT22NFG9zxI/tDKp64FT51LplcSyfTywfcXQBX9b1lM/ex9bkgJKrniOiNI1AGLyW95201co7ehx7N9qADAXLD11OGhA8bOluPSybQW1r61RzJ+W9dTXAgDBgBalQF92NhWLuduqFCxLvT8gvW0ZhbnNcffJ7up9x5HmliaSxcCUPslyfHDm3cD2FcMVV370RB+ab1kKNOpgK+1bsgi2MqBG52oiAMVFgPo8Bxh8jIkeNOrMRthLLpIgXFibm5dMLdUfqhTuiGYIuGtp6r5QAHh7uuzYUwQMbMSbbMqcLvaYE+r9UAB4g/qzxseShCwx+iki+hGv1a+LTiz2xeLhN77xA1IIIn7odMQa0CxBxHGlAwsTyVtNyct1fshAdvb9mOTerEwjBBEhiAhFaB0ksUTeOMrAB7V0jkmfWOnkX0phdjsct7b1EPCdqalfBk773L9bFFoILqBUHkxMp019+PuWNUNCEBGKUJdLYoFzegMMm9gOC1m8238Zir4gwsCCpanxUO1wJzRDAK6amvphKACqgghWBRECUS0jNmBpCz4ls9fle76ySTbtMo+of4cCwBuk5IyvQNDJQyBCFwMOEz4vZ9SLoQWRRN74DMD5CMX9P1cZ0rilJW+EYoCSN6YJGIk2APjJ0tS3wwGQMxwiSN5gJtppZYZ/jQIYSv6PvQTn3qrf4BVLS70UCoCEOCAhKsFurwTrM0AIIkIP6HI9oOslsXauB4QgIk6KNuuobM6YB2Fwle7M1wD6pZ2pX/XNJbwmAV4j59XC/5i6+mqoUljJG5cJ+CgKQdfzkRlXLF09GA6AwuwAHPdOVDtCboYg4p37SziPTzDTaJT+MgPCtB1zz3rnl0MLIlGmflDfIyVzBQ2qETsBQCNodaKtYEAnvtVGYnoGN5tzbn2h22YAAAAASUVORK5CYII="},NHnr:function(t,e,a){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=a("7+uW"),i={render:function(){var t=this.$createElement;return(this._self._c||t)("router-view")},staticRenderFns:[]};var s=a("VU/8")({name:"App"},i,!1,function(t){a("uysQ")},null,null).exports,o=a("/ocq"),r=a("Xxa5"),l=a.n(r),c=a("exGp"),u=a.n(c),d=a("W8/L"),m=a.n(d),g="http://172.16.15.6:8090/",p=a("mtWM"),h=a.n(p),f=h.a.create({baseURL:"",timeout:3e5});function v(){return f({url:g+"rest/rel/selectClusterStatus",method:"get",params:{},headers:{token:localStorage.getItem("token")}})}function A(t){return f({url:g+"rest/rel/selectChart",method:"post",data:t,headers:{token:localStorage.getItem("token")}})}var y=document.documentElement.clientHeight-80,b={data:function(){return{url:g.baseURL,locale:m.a,collapsed:!1,offset:[30,5],sysUser:"",ActivateState:"",minHeight:y,openKeys:["/equipmentMonitor"],defaultOpenKeys:["sub1","sub2","sub4"],newActiveFlag:!1,activeFlag:!1,loading:!1,changePwdFlag:!1,username:localStorage.getItem("userInfo")}},watch:{$route:function(t,e){var a=t.path;this.openKeys.pop(),this.openKeys.push(a)}},mounted:function(){var t=this.$route.path;this.openKeys.pop(),this.openKeys.push(t)},methods:{logout:function(){this.$confirm({title:"是否确定退出系统?",okText:"确定",okType:"danger",cancelText:"取消",onOk:this.confirmLogout})},confirmLogout:function(){var t=this;return u()(l.a.mark(function e(){return l.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:t.$router.push("/login"),localStorage.clear(),t.$message.success("注销成功");case 3:case"end":return e.stop()}},e,t)}))()},jumpRouter:function(t){this.$router.push(t)},toggleCollapsed:function(){this.collapsed=!this.collapsed},quitSys:function(){var t=this;return u()(l.a.mark(function e(){return l.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.$store.dispatch("user/logout").then(function(){t.$router.push("/login"),t.$message.success("注销成功")});case 2:case"end":return e.stop()}},e,t)}))()}},beforeDestroy:function(){clearInterval(this.timer1)}},w={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("a-config-provider",{attrs:{locale:t.locale}},[n("a-layout",{staticStyle:{"min-height":"100vh","overflow-x":"hidden"},attrs:{id:"components-layout-demo-side"}},[n("a-layout-sider",{staticStyle:{"max-width":"250px"},model:{value:t.collapsed,callback:function(e){t.collapsed=e},expression:"collapsed"}},[n("div",{staticClass:"leftHeader",staticStyle:{"z-index":"1000"}},[n("img",{staticClass:"logo",attrs:{src:a("7Otq")}}),t._v(" "),t.collapsed?t._e():n("span",{staticStyle:{"font-size":"20px","vertical-align":"-3px"}},[t._v("可靠性监控系统")])]),t._v(" "),t.collapsed?t._e():n("a-menu",{attrs:{theme:"dark",defaultOpenKeys:t.defaultOpenKeys,mode:"inline",defaultSelectedKeys:t.openKeys,"inline-collapsed":t.collapsed}},[n("a-menu-item",{key:"/equipmentMonitor"},[n("router-link",{attrs:{to:"/equipmentMonitor"}},[n("a-icon",{attrs:{type:"database"}}),t._v("设备集群监控\n ")],1)],1),t._v(" "),n("a-menu-item",{key:"/warningHistory"},[n("router-link",{attrs:{to:"/warningHistory"}},[n("a-icon",{attrs:{type:"sound"}}),t._v("告警历史\n ")],1)],1),t._v(" "),n("a-menu-item",{key:"/topologicalMap"},[n("router-link",{attrs:{to:"/topologicalMap"}},[n("a-icon",{attrs:{type:"sound"}}),t._v("拓扑图\n ")],1)],1),t._v(" "),n("a-menu-item",{key:"/averageTime"},[n("router-link",{attrs:{to:"/averageTime"}},[n("a-icon",{attrs:{type:"sound"}}),t._v("平均耗时\n ")],1)],1),t._v(" "),n("a-menu-item",{key:"/contrastRatio"},[n("router-link",{attrs:{to:"/contrastRatio"}},[n("a-icon",{attrs:{type:"sound"}}),t._v("对比率\n ")],1)],1)],1)],1),t._v(" "),n("a-layout",[n("a-layout",{style:{minHeight:t.minHeight+"px"}},[n("router-view")],1)],1)],1)],1)},staticRenderFns:[]};var S=a("VU/8")(b,w,!1,function(t){a("i8F2")},null,null).exports,x={name:"equipmentMonitor",data:function(){var t=this.$createElement;return{current1:[0],current2:[],current3:[],current4:[],current5:[],currentSecond:[],defaultSelectKeys1:[],defaultSelectKeys2:[],selectKey:1,monitorList:[],secondList:[],finalResult:[],showFlag:!1,timeFlag:"one",selectIp:"",firstX:[],yesAndno:null,username:localStorage.getItem("userInfo"),firstY:[],secondY:[],timer:"",selectOne:"",selectTwo:"",indicator:t("a-icon",{attrs:{type:"loading",spin:!0},style:"font-size: 24px"})}},mounted:function(){this.getSwitch(),this.getMonitorList(),this.timer=setInterval(this.getListLater,5e3)},methods:{changeSwitch:function(t){var e;(e={state:0==t?"open":"close"},f({url:g+"rest/rel/changeSwitch",method:"post",data:e,headers:{"Content-Type":"application/json",token:localStorage.getItem("token")}})).then(function(t){})},getSwitch:function(){var t=this;f({url:g+"rest/rel/getSwitch",method:"get",headers:{"Content-Type":"application/json",token:localStorage.getItem("token")}}).then(function(e){"open"===e.data.switch?t.yesAndno=!0:t.yesAndno=!1})},getMonitorList:function(){var t=this;v().then(function(e){if("502"===e.data.code)t.$message.error("登录超时,请重新登录"),t.$router.push("/login"),localStorage.clear();else if(200===e.status){t.dataFirstList=[];var a=0,n=0;for(var i in e.data){"接入区"!==i?a++:n=a;var s={name:i,value:e.data[i]};t.dataFirstList.push(s)}for(a=0;a<t.dataFirstList.length;a++){var o=[],r={finalMapName:t.dataFirstList[a].name,finalMapValue:o};for(var l in t.dataFirstList[a].value){var c={},u=[],d=0;for(var m in t.dataFirstList[a].value[l]){"ok"!==t.dataFirstList[a].value[l][m].value&&d++;var g={ip:m,monitorValue:t.dataFirstList[a].value[l][m]};u.push(g),c.name=l,c.value=u,c.errorNum=d}o.push(c)}t.finalResult.push(r)}t.selectByName(0,n)}else t.$message.error("服务器异常,请重试")}).catch(function(e){t.$message.error("系统异常")})},logout:function(){this.$confirm({title:"是否确定退出系统?",okText:"确定",okType:"danger",cancelText:"取消",onOk:this.confirmLogout})},confirmLogout:function(){var t=this;return u()(l.a.mark(function e(){return l.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:t.$router.push("/login"),localStorage.clear(),t.$message.success("注销成功");case 3:case"end":return e.stop()}},e,t)}))()},getListLater:function(){var t=this;v().then(function(e){if("502"===e.data.code)t.$message.error("登录超时,请重新登录"),t.$router.push("/login"),localStorage.clear();else if(200===e.status){for(var a in t.finalResult=[],t.dataFirstList=[],e.data){var n={name:a,value:e.data[a]};t.dataFirstList.push(n)}for(var i=0;i<t.dataFirstList.length;i++){var s=[],o={finalMapName:t.dataFirstList[i].name,finalMapValue:s};for(var r in t.dataFirstList[i].value){var l={},c=[],u=0;for(var d in t.dataFirstList[i].value[r]){"ok"!==t.dataFirstList[i].value[r][d].value&&u++;var m={ip:d,monitorValue:t.dataFirstList[i].value[r][d]};c.push(m),l.name=r,l.value=c,l.errorNum=u}s.push(l)}t.finalResult.push(o)}t.selectByName(t.firstIndex,t.secondIndex)}else t.$message.error("服务器异常,请重试")}).catch(function(e){t.$message.error("系统异常")})},selectByName:function(t,e,a){if(this.firstIndex=t,this.secondIndex=e,0===a?(this.current1=t,this.current2=[],this.current3=[],this.current4=[],this.current5=[]):1===a?(this.current1=[],this.current2=t,this.current3=[],this.current4=[],this.current5=[]):2===a?(this.current1=[],this.current2=[],this.current3=t,this.current4=[],this.current5=[]):3===a?(this.current1=[],this.current2=[],this.current3=[],this.current4=t,this.current5=[]):4===a&&(this.current1=[],this.current2=[],this.current3=[],this.current4=[],this.current5=t),this.selectOne=this.finalResult[e].finalMapValue[t],""===this.selectIp)this.selectCharts(this.selectOne.value[0]);else{for(var n=!1,i=0;i<this.selectOne.value.length;i++)this.selectOne.value[i].ip==this.selectIp&&(n=!0);n?this.selectChartsNext(this.selectIp):this.selectCharts(this.selectOne.value[0])}},changeTabs:function(t){this.selectOne=this.finalResult[t].finalMapValue[0],this.current="0"},initChart:function(){var t=a("XLwt");void 0===this.bigChart&&(this.bigChart=t.init(document.getElementById("chartLineBox"))),this.drawLine(this.bigChart),setTimeout(function(){window.onresize=function(){bigChart.resize()}},200)},selectCharts:function(t){var e=this;this.selectIp=t.ip,A({url:t.ip,flag:this.timeFlag}).then(function(t){if("502"===t.data.code)e.$message.error("登录超时,请重新登录"),e.$router.push("/login"),localStorage.clear();else if(200===t.status){e.firstY=t.data.ordinate,e.secondY=t.data.ordinateForecast,e.firstX=t.data.abscissa;var a=e;e.showFlag=!0,setTimeout(function(){a.initChart()},500)}else e.$message.error("服务器异常,请重试")}).catch(function(t){e.$message.error("系统异常")})},selectChartsNext:function(t){var e=this;this.selectIp=t,A({url:t,flag:this.timeFlag}).then(function(t){if("502"===t.data.code)e.$message.error("登录超时,请重新登录"),e.$router.push("/login"),localStorage.clear();else if(200===t.status){e.firstY=t.data.ordinate,e.secondY=t.data.ordinateForecast,e.firstX=t.data.abscissa;var a=e;e.showFlag=!0,setTimeout(function(){a.initChart()},500)}else e.$message.error("服务器异常,请重试")}).catch(function(t){e.$message.error("系统异常")})},changeEcharts:function(t){var e=this;this.firstX=[],this.firstY=[],this.secondY=[],A({url:this.selectIp,flag:this.timeFlag}).then(function(t){if("502"===t.data.code)e.$message.error("登录超时,请重新登录"),e.$router.push("/login"),localStorage.clear();else if(200===t.status){e.firstY=t.data.ordinate,e.secondY=t.data.ordinateForecast,e.firstX=t.data.abscissa;var a=e;e.showFlag=!0,setTimeout(function(){a.initChart()},1e3)}else e.$message.error("服务器异常,请重试")}).catch(function(t){e.$message.error("系统异常")})},drawLine:function(t){t.setOption({tooltip:{trigger:"axis"},legend:{data:["实时","预测"]},color:["#FF00FF","#00FF00"],xAxis:{type:"category",data:this.firstX,name:"时间",nameTextStyle:{fontSize:16,padding:[0,0,0,20]}},yAxis:{name:"响应时间",type:"value",axisLabel:{formatter:"{value} ms"},axisLine:{show:!0},nameTextStyle:{fontSize:16,padding:[0,0,20,20]}},series:[{name:"实时",data:this.firstY,type:"line",lineStyle:{normal:{color:"#FF00FF"}}},{name:"预测",data:this.secondY,type:"line",lineStyle:{normal:{color:"#00FF00"}}}]})}},beforeDestroy:function(){clearInterval(this.timer)}},k={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("a-layout",[a("a-spin",{directives:[{name:"show",rawName:"v-show",value:""===t.selectOne,expression:"selectOne===''"}],staticStyle:{"font-size":"50px","margin-top":"20%"},attrs:{indicator:t.indicator,type:"loading",spinning:""===t.selectOne}}),t._v(" "),a("a-layout-header",{staticStyle:{background:"#fff",padding:"0 20px","border-bottom":"1px solid gainsboro",position:"fixed","z-index":"99",width:"calc(100% - 200px)"}},[a("div",[a("span",{staticStyle:{"margin-bottom":"20px","font-weight":"bold"}},[a("span",{staticStyle:{"font-size":"18px"}},[t._v("微信告警:")]),a("a-switch",{staticStyle:{"margin-bottom":"4px"},attrs:{"checked-children":"开启","un-checked-children":"关闭"},on:{change:t.changeSwitch},model:{value:t.yesAndno,callback:function(e){t.yesAndno=e},expression:"yesAndno"}})],1),t._v(" "),a("h3",{staticStyle:{display:"inline",float:"right","margin-right":"30px"}},[a("span",[t._v("当前用户:")]),t._v(" "),a("a-menu",{staticStyle:{float:"right"},attrs:{mode:"horizontal"}},[a("a-sub-menu",{staticStyle:{height:"64px","line-height":"65px"}},[a("span",{staticClass:"submenu-title-wrapper",attrs:{slot:"title"},slot:"title"},[a("a-icon",{attrs:{type:"user"}}),t._v(t._s(t.username)+"\n     ")],1),t._v(" "),a("a-menu-item",{key:"setting:3",on:{click:t.logout}},[t._v("\n       退出登录\n     ")])],1)],1)],1)])]),t._v(" "),a("div",{staticStyle:{padding:"30px","margin-top":"50px"}},[a("a-row",[t._l(t.finalResult,function(e,n){return"接入区"===e.finalMapName?a("a-col",{key:e+n,staticStyle:{"margin-right":"20px"},attrs:{span:"4"}},[a("div",{staticStyle:{"background-color":"white","font-size":"22px","font-weight":"bold","text-align":"center",padding:"10px"}},[t._v("接入区")]),t._v(" "),a("a-menu",{staticStyle:{width:"100%"},attrs:{mode:"inline",defaultSelectedKeys:t.defaultSelectKeys1},model:{value:t.current1,callback:function(e){t.current1=e},expression:"current1"}},t._l(e.finalMapValue,function(e,i){return a("a-menu-item",{key:i,on:{click:function(e){return t.selectByName(i,n,0)}}},[a("span",{staticStyle:{"font-weight":"bold"}},[t._v(t._s(e.name))]),t._v(" "),a("span",{staticStyle:{float:"right"}},[a("a-tag",{directives:[{name:"show",rawName:"v-show",value:e.errorNum>0,expression:"item.errorNum>0"}],attrs:{color:"#f50"}},[t._v("\n "+t._s(e.errorNum)+"\n ")])],1)])}),1)],1):t._e()}),t._v(" "),t._l(t.finalResult,function(e,n){return"算法区"===e.finalMapName?a("a-col",{key:e+n,staticStyle:{"margin-right":"20px"},attrs:{span:"4"}},[a("div",{staticStyle:{"background-color":"white","font-size":"22px","font-weight":"bold","text-align":"center",padding:"10px"}},[t._v("算法区")]),t._v(" "),a("a-menu",{staticStyle:{width:"100%"},attrs:{mode:"inline",defaultSelectedKeys:t.defaultSelectKeys1},model:{value:t.current3,callback:function(e){t.current3=e},expression:"current3"}},t._l(e.finalMapValue,function(e,i){return a("a-menu-item",{key:i+e,on:{click:function(e){return t.selectByName(i,n,2)}}},[a("span",{staticStyle:{"font-weight":"bold"}},[t._v(t._s(e.name))]),t._v(" "),a("span",{staticStyle:{float:"right"}},[a("a-tag",{directives:[{name:"show",rawName:"v-show",value:e.errorNum>0,expression:"item.errorNum>0"}],attrs:{color:"#f50"}},[t._v("\n "+t._s(e.errorNum)+"\n ")])],1)])}),1)],1):t._e()}),t._v(" "),t._l(t.finalResult,function(e,n){return"护照柜"===e.finalMapName?a("a-col",{key:e+n,staticStyle:{"margin-right":"20px"},attrs:{span:"4"}},[a("div",{staticStyle:{"background-color":"white","font-size":"22px","font-weight":"bold","text-align":"center",padding:"10px"}},[t._v("护照柜")]),t._v(" "),a("a-menu",{staticStyle:{width:"100%"},attrs:{mode:"inline",defaultSelectedKeys:t.defaultSelectKeys1},model:{value:t.current4,callback:function(e){t.current4=e},expression:"current4"}},t._l(e.finalMapValue,function(e,i){return a("a-menu-item",{key:e+i,on:{click:function(e){return t.selectByName(i,n,3)}}},[a("span",{staticStyle:{"font-weight":"bold"}},[t._v(t._s(e.name))]),t._v(" "),a("span",{staticStyle:{float:"right"}},[a("a-tag",{directives:[{name:"show",rawName:"v-show",value:e.errorNum>0,expression:"item.errorNum>0"}],attrs:{color:"#f50"}},[t._v("\n "+t._s(e.errorNum)+"\n ")])],1)])}),1)],1):t._e()}),t._v(" "),t._l(t.finalResult,function(e,n){return"核心业务区"===e.finalMapName?a("a-col",{key:e+n,staticStyle:{"margin-right":"20px"},attrs:{span:"4"}},[a("div",{staticStyle:{"background-color":"white","font-size":"22px","font-weight":"bold","text-align":"center",padding:"10px"}},[t._v("核心业务区")]),t._v(" "),a("a-menu",{staticStyle:{width:"100%"},attrs:{mode:"inline",defaultSelectedKeys:t.defaultSelectKeys1},model:{value:t.current5,callback:function(e){t.current5=e},expression:"current5"}},t._l(e.finalMapValue,function(e,i){return a("a-menu-item",{key:e+i,on:{click:function(e){return t.selectByName(i,n,4)}}},[a("span",{staticStyle:{"font-weight":"bold"}},[t._v(t._s(e.name))]),t._v(" "),a("span",{staticStyle:{float:"right"}},[a("a-tag",{directives:[{name:"show",rawName:"v-show",value:e.errorNum>0,expression:"item.errorNum>0"}],attrs:{color:"#f50"}},[t._v("\n "+t._s(e.errorNum)+"\n ")])],1)])}),1)],1):t._e()})],2)],1),t._v(" "),a("div",{directives:[{name:"show",rawName:"v-show",value:""!==t.selectOne,expression:"selectOne!==''"}],staticStyle:{padding:"30px","margin-top":"30px"}},[a("a-row",[a("a-col",{staticStyle:{background:"white",padding:"15px"},attrs:{span:"24"}},[a("div",{staticStyle:{"font-weight":"bold","font-size":"22px"}},[t._v(t._s(t.selectOne.name))]),t._v(" "),a("a-row",{staticStyle:{"margin-top":"20px"},attrs:{gutter:16}},t._l(t.selectOne.value,function(e,n){return a("a-col",{key:n,attrs:{span:"4"}},["down"===e.monitorValue.value?a("a-card",{staticStyle:{background:"#ff5151",color:"white","margin-top":"20px"},attrs:{bordered:!1,size:"small",hoverable:!0},on:{click:function(a){return t.selectCharts(e)}}},[a("div",[t._v(t._s(n+1)+"号机器\n "),"down"===e.monitorValue.value?a("span",{staticStyle:{color:"black","font-weight":"bold"}},[t._v("(已宕机)")]):t._e(),t._v(" "),"ok"===e.monitorValue.value?a("span",{staticStyle:{color:"black","font-weight":"bold"}},[t._v("(运行正常)")]):t._e(),t._v(" "),"unstable"===e.monitorValue.value?a("span",{staticStyle:{color:"black","font-weight":"bold"}},[t._v("(不稳定)")]):t._e(),t._v(" "),"NA"===e.monitorValue.value?a("span",{staticStyle:{color:"black","font-weight":"bold"}},[t._v("(未监控)")]):t._e()]),t._v(" "),a("span",[t._v("响应时间:")]),a("span",{staticStyle:{"font-weight":"bold"}},[t._v(" "+t._s(Math.floor(e.monitorValue.avgResp))+" ms")]),a("br"),t._v(" "),a("span",[t._v("错误:")]),a("span",{staticStyle:{"font-weight":"bold"}},[t._v(t._s(e.monitorValue.faultCount))]),t._v(" / 天"),a("br"),t._v(" "),a("div",[t._v(t._s(e.ip))])]):t._e(),t._v(" "),"ok"===e.monitorValue.value?a("a-card",{staticStyle:{background:"darkseagreen",color:"white","margin-top":"20px"},attrs:{bordered:!1,size:"small",hoverable:!0},on:{click:function(a){return t.selectCharts(e)}}},[a("div",[t._v(t._s(n+1)+"号机器\n "),"down"===e.monitorValue.value?a("span",{staticStyle:{color:"black","font-weight":"bold"}},[t._v("(已宕机)")]):t._e(),t._v(" "),"ok"===e.monitorValue.value?a("span",{staticStyle:{color:"black","font-weight":"bold"}},[t._v("(运行正常)")]):t._e(),t._v(" "),"unstable"===e.monitorValue.value?a("span",{staticStyle:{color:"black","font-weight":"bold"}},[t._v("(不稳定)")]):t._e(),t._v(" "),"NA"===e.monitorValue.value?a("span",{staticStyle:{color:"black","font-weight":"bold"}},[t._v("(未监控)")]):t._e()]),t._v(" "),a("span",[t._v("响应时间:")]),a("span",{staticStyle:{"font-weight":"bold"}},[t._v(" "+t._s(Math.floor(e.monitorValue.avgResp))+" ms")]),a("br"),t._v(" "),a("span",[t._v("错误:")]),a("span",{staticStyle:{"font-weight":"bold"}},[t._v(t._s(e.monitorValue.faultCount))]),t._v(" / 天"),a("br"),t._v(" "),a("div",[t._v(t._s(e.ip))])]):t._e(),t._v(" "),"unstable"===e.monitorValue.value?a("a-card",{staticStyle:{background:"yellowgreen",color:"white","margin-top":"20px"},attrs:{bordered:!1,size:"small",hoverable:!0},on:{click:function(a){return t.selectCharts(e)}}},[a("div",[t._v(t._s(n+1)+"号机器\n "),"down"===e.monitorValue.value?a("span",{staticStyle:{color:"black","font-weight":"bold"}},[t._v("(已宕机)")]):t._e(),t._v(" "),"ok"===e.monitorValue.value?a("span",{staticStyle:{color:"black","font-weight":"bold"}},[t._v("(运行正常)")]):t._e(),t._v(" "),"unstable"===e.monitorValue.value?a("span",{staticStyle:{color:"black","font-weight":"bold"}},[t._v("(不稳定)")]):t._e(),t._v(" "),"NA"===e.monitorValue.value?a("span",{staticStyle:{color:"black","font-weight":"bold"}},[t._v("(未监控)")]):t._e()]),t._v(" "),a("span",[t._v("响应时间:")]),a("span",{staticStyle:{"font-weight":"bold"}},[t._v(" "+t._s(Math.floor(e.monitorValue.avgResp))+" ms")]),a("br"),t._v(" "),a("span",[t._v("错误:")]),a("span",{staticStyle:{"font-weight":"bold"}},[t._v(t._s(e.monitorValue.faultCount))]),t._v(" / 天"),a("br"),t._v(" "),a("div",[t._v(t._s(e.ip))])]):t._e(),t._v(" "),"NA"===e.monitorValue.value?a("a-card",{staticStyle:{background:"gray",color:"white","margin-top":"20px"},attrs:{bordered:!1,size:"small",hoverable:!0},on:{click:function(a){return t.selectCharts(e)}}},[a("div",[t._v(t._s(n+1)+"号机器\n "),"down"===e.monitorValue.value?a("span",{staticStyle:{color:"black","font-weight":"bold"}},[t._v("(已宕机)")]):t._e(),t._v(" "),"ok"===e.monitorValue.value?a("span",{staticStyle:{color:"black","font-weight":"bold"}},[t._v("(运行正常)")]):t._e(),t._v(" "),"unstable"===e.monitorValue.value?a("span",{staticStyle:{color:"black","font-weight":"bold"}},[t._v("(不稳定)")]):t._e(),t._v(" "),"NA"===e.monitorValue.value?a("span",{staticStyle:{color:"black","font-weight":"bold"}},[t._v("(未监控)")]):t._e()]),t._v(" "),a("span",[t._v("响应时间:")]),a("span",{staticStyle:{"font-weight":"bold"}},[t._v(" "+t._s(Math.floor(e.monitorValue.avgResp))+" ms")]),a("br"),t._v(" "),a("span",[t._v("错误:")]),a("span",{staticStyle:{"font-weight":"bold"}},[t._v(t._s(e.monitorValue.faultCount))]),t._v(" / 天"),a("br"),t._v(" "),a("div",[t._v(t._s(e.ip))])]):t._e()],1)}),1)],1)],1)],1),t._v(" "),t.showFlag?a("div",{staticStyle:{"background-color":"white",padding:"30px",margin:"30px",width:"100%",height:"600px"}},[a("div",{staticStyle:{"font-weight":"bold","font-size":"22px"}},[t._v("错误统计")]),t._v(" "),a("div",{staticStyle:{"font-weight":"bold","font-size":"20px"}},[t._v("("+t._s(t.selectOne.name)+":"+t._s(t.selectIp)+")")]),t._v(" "),a("div",{staticStyle:{float:"right","margin-top":"20px","margin-right":"20%"}},[a("a-radio-group",{attrs:{"default-value":"one","button-style":"solid",size:"large"},on:{change:t.changeEcharts},model:{value:t.timeFlag,callback:function(e){t.timeFlag=e},expression:"timeFlag"}},[a("a-radio-button",{attrs:{value:"one"}},[t._v("\n 1分钟\n ")]),t._v(" "),a("a-radio-button",{attrs:{value:"ten"}},[t._v("\n 10分钟\n ")]),t._v(" "),a("a-radio-button",{attrs:{value:"thirty"}},[t._v("\n 30分钟\n ")]),t._v(" "),a("a-radio-button",{attrs:{value:"hour"}},[t._v("\n 一小时\n ")])],1)],1),t._v(" "),a("div",{staticStyle:{width:"90%",height:"400px","margin-top":"120px"},attrs:{id:"chartLineBox"}})]):t._e()],1)},staticRenderFns:[]};var B=a("VU/8")(x,k,!1,function(t){a("o5l7")},"data-v-2d0e8e76",null).exports,C=[{title:"IP",dataIndex:"ip",key:"ip"},{title:"端口号",dataIndex:"port",key:"port"},{title:"服务名称",dataIndex:"clusterName",slots:{title:"clusterName"},scopedSlots:{customRender:"clusterName"}},{title:"告警时间",dataIndex:"alatime",slots:{title:"alatime"},scopedSlots:{customRender:"alatime"}},{title:"告警等级",dataIndex:"alarmLevel",slots:{title:"alarmLevel"},scopedSlots:{customRender:"alarmLevel"}},{title:"告警信息",dataIndex:"alarmMessage",slots:{title:"alarmMessage"},scopedSlots:{customRender:"alarmMessage"}}],j=[{title:"IP",dataIndex:"ip",key:"ip"},{title:"端口号",dataIndex:"port",key:"port"},{title:"服务名称",dataIndex:"clusterName",slots:{title:"clusterName"},scopedSlots:{customRender:"clusterName"}},{title:"告警时间",dataIndex:"alatime",slots:{title:"alatime"},scopedSlots:{customRender:"alatime"}},{title:"告警信息",dataIndex:"alarmMessage",slots:{title:"alarmMessage"},scopedSlots:{customRender:"alarmMessage"}},{title:"恢复时间",dataIndex:"rectime",slots:{title:"rectime"},scopedSlots:{customRender:"rectime"}}],I={name:"warningHistory",data:function(){return{columns:j,columns1:C,pageSizeOptions:["5","10","20","30","40","50"],alarmlogList:[],alarmList:[],alarmlogListTotal:0,pageNum:1,pageSize:5,ip:"",start:"",end:"",username:localStorage.getItem("userInfo")}},methods:{getAlarmLog:function(){var t,e=this,a={pageNum:this.pageNum,pageSize:this.pageSize,ip:this.ip,start:this.start,end:this.end};(t=a,f({url:g+"rest/rel/searchLog",method:"post",data:t,headers:{token:localStorage.getItem("token")}})).then(function(t){"502"===t.data.code?(e.$message.error("登录超时,请重新登录"),e.$router.push("/login"),localStorage.clear()):200===t.status?(e.alarmlogList=t.data.log,e.alarmlogListTotal=t.data.logSize):e.$message.error("服务器异常,请重试")}).catch(function(t){e.$message.error("系统异常")})},alarmInformationselect:function(){var t=this;f({url:g+"rest/rel/getAlarmMsg ",method:"post",headers:{"Content-Type":"application/json",token:localStorage.getItem("token")}}).then(function(e){console.log(e.data.alarmMsg),t.alarmList=e.data.alarmMsg})},onChange:function(t,e){this.start=e[0],this.end=e[1]},buttonServer:function(){this.getAlarmLog()},logout:function(){this.$confirm({title:"是否确定退出系统?",okText:"确定",okType:"danger",cancelText:"取消",onOk:this.confirmLogout})},confirmLogout:function(){var t=this;return u()(l.a.mark(function e(){return l.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:t.$router.push("/"),localStorage.clear(),t.$message.success("注销成功");case 3:case"end":return e.stop()}},e,t)}))()},onShowSizeChange:function(t,e){this.pageSize=e,this.pageNum=1,this.getAlarmLog()},changePage:function(t,e){this.pageSize=e,this.pageNum=t,this.getAlarmLog()}},mounted:function(){this.alarmInformationselect(),this.getAlarmLog()}},z={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("a-layout",[a("div",{staticStyle:{"background-color":"white",margin:"20px","margin-top":"80px"}},[a("div",{staticStyle:{"margin-left":"20px",padding:"20px"}},[a("h3",{staticStyle:{"font-weight":"bold"}},[t._v("告警信息")]),t._v(" "),a("a-table",{staticStyle:{"margin-top":"20px"},attrs:{columns:t.columns1,"data-source":t.alarmList,bordered:""},scopedSlots:t._u([{key:"alarmLevel",fn:function(e){return a("span",{},["unstable"===e?a("span",[a("a-badge",{attrs:{status:"warning"}}),t._v("不稳定")],1):t._e(),t._v(" "),"OK"===e?a("span",[a("a-badge",{attrs:{status:"success"}}),t._v("健康")],1):t._e(),t._v(" "),"down"===e?a("span",[a("a-badge",{attrs:{status:"error"}}),t._v("宕机")],1):t._e()])}}])})],1)]),t._v(" "),a("a-layout-header",{staticStyle:{background:"#fff",padding:"0 20px","border-bottom":"1px solid gainsboro",position:"fixed","z-index":"99",width:"calc(100% - 200px)"},style:{width:t.collapsed?"calc(100% - 80px)":"calc(100% - 200px)"}},[a("div",[a("h3",{staticStyle:{display:"inline",float:"right","margin-right":"30px"}},[a("span",[t._v("当前用户:")]),t._v(" "),a("a-menu",{staticStyle:{float:"right"},attrs:{mode:"horizontal"}},[a("a-sub-menu",{staticStyle:{height:"64px","line-height":"65px"}},[a("span",{staticClass:"submenu-title-wrapper",attrs:{slot:"title"},slot:"title"},[a("a-icon",{attrs:{type:"user"}}),t._v(t._s(t.username)+"\n     ")],1),t._v(" "),a("a-menu-item",{key:"setting:3",on:{click:t.logout}},[t._v("\n       退出登录\n     ")])],1)],1)],1)])]),t._v(" "),a("div",{staticStyle:{"background-color":"white",margin:"20px"}},[a("div",{staticStyle:{"margin-left":"20px",padding:"20px"}},[a("h3",{staticStyle:{"font-weight":"bold"}},[t._v("告警记录")]),t._v(" "),a("div",[a("label",{staticStyle:{"font-size":"16px","font-weight":"bold"}},[t._v("IP:")]),a("a-input",{staticStyle:{width:"20%"},attrs:{placeholder:"请输入IP地址"},model:{value:t.ip,callback:function(e){t.ip=e},expression:"ip"}}),t._v(" "),a("label",{staticStyle:{"font-size":"16px","font-weight":"bold","padding-left":"50px"}},[t._v("时间:")]),a("a-range-picker",{attrs:{"show-time":""},on:{change:t.onChange}}),t._v(" "),a("a-button",{staticStyle:{"margin-left":"50px"},on:{click:t.buttonServer}},[t._v("搜索")])],1),t._v(" "),a("a-table",{staticStyle:{"margin-top":"20px"},attrs:{columns:t.columns,"data-source":t.alarmlogList,pagination:!1,bordered:""},scopedSlots:t._u([{key:"alarmLevel",fn:function(e){return a("span",{},["unstable"===e?a("span",[a("a-badge",{attrs:{status:"warning"}}),t._v("不稳定")],1):t._e(),t._v(" "),"OK"===e?a("span",[a("a-badge",{attrs:{status:"success"}}),t._v("健康")],1):t._e(),t._v(" "),"down"===e?a("span",[a("a-badge",{attrs:{status:"error"}}),t._v("宕机")],1):t._e()])}},{key:"rectime",fn:function(e){return a("span",{},[""===e?a("span",[t._v("————")]):t._e(),t._v(" "),""!==e?a("span",[t._v(t._s(e))]):t._e()])}}])}),t._v(" "),t.alarmlogListTotal>0?a("a-pagination",{staticStyle:{float:"right",margin:"20px","padding-top":"30px"},attrs:{"page-size-options":t.pageSizeOptions,"show-size-changer":"","page-size":t.pageSize,total:t.alarmlogListTotal},on:{showSizeChange:t.onShowSizeChange,change:t.changePage},model:{value:t.pageNum,callback:function(e){t.pageNum=e},expression:"pageNum"}}):t._e()],1)])],1)},staticRenderFns:[]};var N=a("VU/8")(I,z,!1,function(t){a("nafO")},"data-v-72811c7a",null).exports,O=a("PFUz"),R=a.n(O),T=a("Va0d"),L=a.n(T),Y=(a("clrZ"),a("JQpZ")),M=a.n(Y),V=a("aH1t"),D=a.n(V),E=a("CMRB"),F=a.n(E),Q=a("y42a"),U=a.n(Q),W=a("uSEa"),P=a.n(W),G=a("yevO"),K=a.n(G),X=document.documentElement.clientHeight-64,Z={name:"topologicalMap",data:function(){return{myDiagram:null,timer:"",yearVistis:"",monthVistis:"",dayVistis:"",weekVisits:"",avgDailyVisits:"",minHeight:X}},methods:{infoStringNode:function(t){var e=t.part;e instanceof R.a.Adornment&&(e=e.adornedPart);var a="";return e instanceof R.a.Link?a="":e instanceof R.a.Node&&(a=(void 0!=e.data.description&&e.data.description.length,e.data.description)),a},geoFunc:function(t){var e=icons[t];return"string"==typeof e&&(e=icons[t]=R.a.Geometry.parse(e,!0)),e},initLinkDiagram:function(){this.myDiagram=null,window.goSamples&&goSamples();var t=R.a.GraphObject.make;this.myDiagram=t(R.a.Diagram,"myDiagramDiv",{maxSelectionCount:1,"toolManager.hoverDelay":10,initialAutoScale:R.a.Diagram.Uniform}),this.myDiagram.nodeTemplateMap.add("sql",t(R.a.Node,"Spot",{selectionObjectName:"BODY",resizable:!0,resizeObjectName:"BODY",locationObjectName:"main",locationSpot:R.a.Spot.Center},new R.a.Binding("location","pos",R.a.Point.parse).makeTwoWay(R.a.Point.stringify),t(R.a.Panel,"Vertical",t(R.a.Picture,{source:L.a,name:"BODY",width:60,height:60,margin:5,portId:"",cursor:"pointer"}),new R.a.Binding("fill","color"),new R.a.Binding("geometry","icon",this.geoFunc)),t(R.a.TextBlock,{font:"18px Lato, sans-serif",textAlign:"center",stroke:"#ffffff",margin:5,maxSize:new R.a.Size(200,NaN),alignment:R.a.Spot.TopCenter,alignmentFocus:R.a.Spot.BottomCenter},new R.a.Binding("text").makeTwoWay()))),this.myDiagram.nodeTemplateMap.add("transparent",t(R.a.Node,"Spot",{selectionObjectName:"BODY",resizable:!0,resizeObjectName:"BODY",locationObjectName:"main",locationSpot:R.a.Spot.Center},new R.a.Binding("location","pos",R.a.Point.parse).makeTwoWay(R.a.Point.stringify),t(R.a.Panel,"Vertical",t(R.a.Picture,{source:K.a,name:"BODY",width:60,height:60,margin:5,portId:"",cursor:"pointer"}),new R.a.Binding("fill","color"),new R.a.Binding("geometry","icon",this.geoFunc)),t(R.a.TextBlock,{font:"18px Lato, sans-serif",textAlign:"center",stroke:"#ffffff",margin:5,maxSize:new R.a.Size(200,NaN),alignment:R.a.Spot.TopCenter,alignmentFocus:R.a.Spot.BottomCenter},new R.a.Binding("text").makeTwoWay()))),this.myDiagram.nodeTemplateMap.add("machine",t(R.a.Node,"Spot",{selectionObjectName:"BODY",resizable:!0,resizeObjectName:"BODY",locationObjectName:"main",locationSpot:R.a.Spot.Center},new R.a.Binding("location","pos",R.a.Point.parse).makeTwoWay(R.a.Point.stringify),t(R.a.Panel,"Vertical",t(R.a.Picture,{source:U.a,name:"BODY",width:60,height:60,margin:5,portId:"",cursor:"pointer"}),new R.a.Binding("fill","color"),new R.a.Binding("geometry","icon",this.geoFunc)),t(R.a.TextBlock,{font:"18px Lato, sans-serif",textAlign:"center",stroke:"#fff",margin:5,maxSize:new R.a.Size(200,NaN),alignment:R.a.Spot.TopCenter,alignmentFocus:R.a.Spot.BottomCenter},new R.a.Binding("text").makeTwoWay()))),this.myDiagram.groupTemplateMap.add("serviceGroup",t(R.a.Group,"Auto",new R.a.Binding("background","isHighlighted",function(t){return t?"rgba(255,0,0,0.2)":"transparent"}).ofObject(),t(R.a.Shape,"Rectangle",{fill:null,stroke:"#eee",strokeWidth:1}),t(R.a.Panel,"Vertical",t(R.a.Panel,"Horizontal",{stretch:R.a.GraphObject.Horizontal,background:""},t(R.a.TextBlock,{alignment:R.a.Spot.Left,editable:!0,margin:5,font:"bold 30px sans-serif",opacity:.75,stroke:"#fff"},new R.a.Binding("text","text").makeTwoWay())),t(R.a.Placeholder,{padding:5,alignment:R.a.Spot.TopLeft})))),this.myDiagram.nodeTemplateMap.add("customer",t(R.a.Node,"Spot",{selectionObjectName:"BODY",resizable:!0,resizeObjectName:"BODY",locationObjectName:"main",locationSpot:R.a.Spot.Center},new R.a.Binding("location","pos",R.a.Point.parse).makeTwoWay(R.a.Point.stringify),t(R.a.Panel,"Vertical",t(R.a.Picture,{source:P.a,name:"BODY",width:60,height:60,margin:5,portId:"",cursor:"pointer"}),new R.a.Binding("fill","color"),new R.a.Binding("geometry","icon",this.geoFunc)),t(R.a.TextBlock,{font:"18px Lato, sans-serif",textAlign:"center",stroke:"#ffffff",margin:5,maxSize:new R.a.Size(200,NaN),alignment:R.a.Spot.TopCenter,alignmentFocus:R.a.Spot.BottomCenter},new R.a.Binding("text").makeTwoWay()))),this.myDiagram.nodeTemplateMap.add("meaningless",t(R.a.Node,"Spot",{selectionObjectName:"BODY",resizable:!0,selectable:!1,resizeObjectName:"BODY",locationObjectName:"main",locationSpot:R.a.Spot.Center},new R.a.Binding("location","pos",R.a.Point.parse).makeTwoWay(R.a.Point.stringify),t(R.a.Panel,"Vertical",t(R.a.Picture,{source:F.a,name:"BODY",width:0,height:0,margin:10,portId:"",cursor:"pointer"}),new R.a.Binding("fill","color"),new R.a.Binding("geometry","icon",this.geoFunc)))),this.myDiagram.nodeTemplateMap.add("clusterNormal",t(R.a.Node,"Spot",{selectionObjectName:"BODY",resizable:!0,resizeObjectName:"BODY",locationObjectName:"main",locationSpot:R.a.Spot.Center,toolTip:t("ToolTip",t(R.a.TextBlock,{margin:10,width:140},new R.a.Binding("text","",this.infoStringNode).ofObject()))},new R.a.Binding("location","pos",R.a.Point.parse).makeTwoWay(R.a.Point.stringify),t(R.a.Panel,"Vertical",t(R.a.Picture,{source:M.a,name:"BODY",width:60,height:60,margin:5,portId:"",cursor:"pointer"}),new R.a.Binding("fill","color"),new R.a.Binding("geometry","icon",this.geoFunc)),t(R.a.TextBlock,{font:"32px Lato, sans-serif",textAlign:"center",stroke:"#ffffff",margin:5,maxSize:new R.a.Size(200,NaN),alignment:R.a.Spot.TopCenter,alignmentFocus:R.a.Spot.BottomCenter},new R.a.Binding("text").makeTwoWay()))),this.myDiagram.nodeTemplateMap.add("clusterNormal",t(R.a.Node,"Spot",{selectionObjectName:"BODY",resizable:!0,resizeObjectName:"BODY",locationObjectName:"main",locationSpot:R.a.Spot.Center,toolTip:t("ToolTip",t(R.a.TextBlock,{margin:10,width:140},new R.a.Binding("text","",this.infoStringNode).ofObject()))},new R.a.Binding("location","pos",R.a.Point.parse).makeTwoWay(R.a.Point.stringify),t(R.a.Panel,"Vertical",t(R.a.Picture,{source:M.a,name:"BODY",width:60,height:60,margin:5,portId:"",cursor:"pointer"}),new R.a.Binding("fill","color"),new R.a.Binding("geometry","icon",this.geoFunc)),t(R.a.TextBlock,{font:"18px Lato, sans-serif",textAlign:"center",stroke:"#ffffff",margin:5,maxSize:new R.a.Size(200,NaN),alignment:R.a.Spot.TopCenter,alignmentFocus:R.a.Spot.BottomCenter},new R.a.Binding("text").makeTwoWay()))),this.myDiagram.nodeTemplateMap.add("clusterFault",t(R.a.Node,"Spot",{selectionObjectName:"BODY",resizable:!0,resizeObjectName:"BODY",locationObjectName:"main",locationSpot:R.a.Spot.Center,toolTip:t("ToolTip",t(R.a.TextBlock,{margin:10,width:140},new R.a.Binding("text","",this.infoStringNode).ofObject()))},new R.a.Binding("location","pos",R.a.Point.parse).makeTwoWay(R.a.Point.stringify),t(R.a.Panel,"Vertical",t(R.a.Picture,{source:D.a,name:"BODY",width:60,height:60,margin:5,portId:"",cursor:"pointer"}),new R.a.Binding("fill","color"),new R.a.Binding("geometry","icon",this.geoFunc)),t(R.a.TextBlock,{font:"18px Lato, sans-serif",textAlign:"center",stroke:"#ffffff",margin:5,maxSize:new R.a.Size(200,NaN),alignment:R.a.Spot.TopCenter,alignmentFocus:R.a.Spot.BottomCenter},new R.a.Binding("text").makeTwoWay()))),this.myDiagram.linkTemplate=t(R.a.Link,{curve:R.a.Link.Bezier,adjusting:R.a.Link.Stretch,reshapable:!0,relinkableFrom:!0,relinkableTo:!0,toShortLength:3},new R.a.Binding("points").makeTwoWay(),t(R.a.Shape,{isPanelMain:!0,stroke:"#000000",strokeWidth:3},new R.a.Binding("stroke","color")))},saveWeizhi:function(){var t=this.myDiagram.model.toJson();f({url:g+"rest/rel/saveTopology",method:"post",data:t,headers:{"Content-Type":"application/json",token:localStorage.getItem("token")}}),console.log(t)},selectTuoPu:function(){var t=this;f({url:g+"rest/rel/selectTopology",method:"get",headers:{token:localStorage.getItem("token")}}).then(function(e){console.log(e),t.myDiagram.model=R.a.Model.fromJson(e.data)})},getStatisticsList:function(){var t=this;f({url:g+"rest/rel/getStatistics",method:"get",headers:{"Content-Type":"application/json",token:localStorage.getItem("token")}}).then(function(e){t.yearVistis=e.data.data.yearVistis,t.monthVistis=e.data.data.monthVistis,t.weekVisits=e.data.data.weekVisits,t.dayVistis=e.data.data.dayVistis,t.avgDailyVisits=e.data.data.avgDailyVisits})}},mounted:function(){this.initLinkDiagram(),this.selectTuoPu(),this.timer=setInterval(this.selectTuoPu,6e4),this.getStatisticsList(),this.timer=setInterval(this.getStatisticsList,6e4)},beforeDestroy:function(){clearInterval(this.timer)}},q={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"baks"},[a("div",{staticStyle:{color:"#ffffff","font-size":"18px",width:"100%",height:"120px",background:"rgb(0,51,102)"}},[a("div",{staticStyle:{"text-align":"center","margin-top":"12px","font-family":"微软雅黑","font-size":"40px"}},[t._v("高准确度人脸识别系统产业化及应用")]),t._v(" "),a("div",{staticStyle:{width:"100%","text-align":"center","font-family":"微软雅黑","font-size":"28px"}},[a("a",{staticStyle:{cursor:"pointer",right:"10px",position:"absolute"},on:{click:function(){return t.$router.push({path:"/equipmentMonitor"})}}},[a("a-icon",{attrs:{type:"home"}})],1)])]),t._v(" "),t._m(0)])},staticRenderFns:[function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticStyle:{position:"relative",height:"100%",top:"10px"}},[e("div",{staticStyle:{width:"100%",height:"99%"},attrs:{id:"myDiagramDiv"}})])}]};var J=a("VU/8")(Z,q,!1,function(t){a("OYDP")},null,null).exports,H={name:"AverageTime",data:function(){return{username:localStorage.getItem("userInfo"),timer1:""}},created:function(){this.findLineChartTimeData()},mounted:function(){this.timer1=setInterval(this.findLineChartTimeData,6e4)},beforeDestroy:function(){clearInterval(this.timer1)},methods:{logout:function(){this.$confirm({title:"是否确定退出系统?",okText:"确定",okType:"danger",cancelText:"取消",onOk:this.confirmLogout})},confirmLogout:function(){var t=this;return u()(l.a.mark(function e(){return l.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:t.$router.push("/"),localStorage.clear(),t.$message.success("注销成功");case 3:case"end":return e.stop()}},e,t)}))()},findLineChartTimeData:function(){var t=this;f({url:g+"rest/logSystem/findLineChartTimeData",method:"get",headers:{token:localStorage.getItem("token")}}).then(function(e){t.getYRDTYTCRBASIC(e.data),t.getALLMODE(e.data),t.getYTCRBASIC(e.data)})},getYRDTYTCRBASIC:function(t){if(t.YRDTYTCR_BASIC.length>0)var e={title:{text:"YRDTYTCR-BASIC",left:"1%"},tooltip:{trigger:"axis"},grid:{left:"5%",right:"5%",bottom:"10%"},xAxis:{data:t.YRDTYTCR_BASIC.map(function(t){return t.timestamp})},yAxis:{},series:{name:"平均耗时",type:"line",data:t.YRDTYTCR_BASIC.map(function(t){return t.time_avg})}};else e={title:{text:"暂无数据",x:"center",y:"center",textStyle:{color:"#303133",fontWeight:"normal",fontSize:16}}};var a=this;setTimeout(function(){var t=a.$echarts.init(document.getElementById("YRDTYTCRBASIC"));t.setOption(e),window.onresize=function(){t.resize()}},500)},getALLMODE:function(t){if(t.ALL_MODE.length>0)var e={title:{text:"ALL-MODE",left:"1%"},tooltip:{trigger:"axis"},grid:{left:"5%",right:"5%",bottom:"10%"},xAxis:{data:t.ALL_MODE.map(function(t){return t.timestamp})},yAxis:{},series:{name:"平均耗时",type:"line",data:t.ALL_MODE.map(function(t){return t.time_avg})}};else e={title:{text:"暂无数据",x:"center",y:"center",textStyle:{color:"#303133",fontWeight:"normal",fontSize:16}}};var a=this;setTimeout(function(){var t=a.$echarts.init(document.getElementById("ALLMODE"));t.setOption(e),window.onresize=function(){t.resize()}},500)},getYTCRBASIC:function(t){if(t.YTCR_BASIC.length>0)var e={title:{text:"YTCR-BASIC",left:"1%"},tooltip:{trigger:"axis"},grid:{left:"5%",right:"5%",bottom:"10%"},xAxis:{data:t.YTCR_BASIC.map(function(t){return t.timestamp})},yAxis:{},series:{name:"平均耗时",type:"line",data:t.YTCR_BASIC.map(function(t){return t.time_avg})}};else e={title:{text:"暂无数据",x:"center",y:"center",textStyle:{color:"#303133",fontWeight:"normal",fontSize:16}}};var a=this;setTimeout(function(){var t=a.$echarts.init(document.getElementById("YTCRBASIC"));t.setOption(e),window.onresize=function(){t.resize()}},500)}}},_={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",[a("a-layout-header",{staticStyle:{background:"#fff",padding:"0 20px","border-bottom":"1px solid gainsboro",position:"fixed","z-index":"99",width:"calc(100% - 200px)"}},[a("div",[a("h3",{staticStyle:{display:"inline",float:"right","margin-right":"30px"}},[a("span",[t._v("当前用户:")]),t._v(" "),a("a-menu",{staticStyle:{float:"right"},attrs:{mode:"horizontal"}},[a("a-sub-menu",{staticStyle:{height:"64px","line-height":"65px"}},[a("span",{staticClass:"submenu-title-wrapper",attrs:{slot:"title"},slot:"title"},[a("a-icon",{attrs:{type:"user"}}),t._v("\n "+t._s(t.username)+"\n ")],1),t._v(" "),a("a-menu-item",{key:"setting:3",on:{click:t.logout}},[t._v("退出登录")])],1)],1)],1)])]),t._v(" "),a("div",{staticClass:"knowledge all"},[a("a-row",[a("a-col",{attrs:{span:12}},[a("div",{staticClass:"chartLine",staticStyle:{width:"100%",height:"400px"},attrs:{id:"YRDTYTCRBASIC"}})]),t._v(" "),a("a-col",{attrs:{span:12}},[a("div",{staticClass:"chartLine",staticStyle:{width:"100%",height:"400px"},attrs:{id:"ALLMODE"}})])],1),t._v(" "),a("a-row",[a("a-col",{attrs:{span:12}},[a("div",{staticClass:"chartLine",staticStyle:{width:"100%",height:"400px"},attrs:{id:"YTCRBASIC"}})])],1)],1)],1)},staticRenderFns:[]};var $=a("VU/8")(H,_,!1,function(t){a("5PFK")},null,null).exports,tt={name:"ContrastRatio",data:function(){return{username:localStorage.getItem("userInfo"),timer2:""}},created:function(){this.findLineChartTSuccessData()},mounted:function(){this.timer2=setInterval(this.findLineChartTSuccessData,6e4)},beforeDestroy:function(){clearInterval(this.timer2)},methods:{logout:function(){this.$confirm({title:"是否确定退出系统?",okText:"确定",okType:"danger",cancelText:"取消",onOk:this.confirmLogout})},confirmLogout:function(){var t=this;return u()(l.a.mark(function e(){return l.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:t.$router.push("/"),localStorage.clear(),t.$message.success("注销成功");case 3:case"end":return e.stop()}},e,t)}))()},findLineChartTSuccessData:function(){var t=this;f({url:g+"rest/logSystem/findLineChartTSuccessData",method:"get",headers:{token:localStorage.getItem("token")}}).then(function(e){t.getYRDTYTCRBASIC(e.data),t.getALLMODE(e.data),t.getYTCRBASIC(e.data)})},getYRDTYTCRBASIC:function(t){if(t.YRDTYTCR_BASIC.length>0)var e={title:{text:"YRDTYTCR-BASIC",left:"1%"},tooltip:{trigger:"axis"},grid:{left:"5%",right:"5%",bottom:"10%"},xAxis:{data:t.YRDTYTCR_BASIC.map(function(t){return t.timestamp})},yAxis:{},series:{name:"对比率",type:"line",data:t.YRDTYTCR_BASIC.map(function(t){return t.history.split("%")[0]})}};else e={title:{text:"暂无数据",x:"center",y:"center",textStyle:{color:"#303133",fontWeight:"normal",fontSize:16}}};var a=this;setTimeout(function(){var t=a.$echarts.init(document.getElementById("YRDTYTCRBASIC"));t.setOption(e),window.onresize=function(){t.resize()}},500)},getALLMODE:function(t){if(t.ALL_MODE.length>0)var e={title:{text:"ALL-MODE",left:"1%"},tooltip:{trigger:"axis"},grid:{left:"5%",right:"5%",bottom:"10%"},xAxis:{data:t.ALL_MODE.map(function(t){return t.timestamp})},yAxis:{},series:{name:"对比率",type:"line",data:t.ALL_MODE.map(function(t){return t.history.split("%")[0]})}};else e={title:{text:"暂无数据",x:"center",y:"center",textStyle:{color:"#303133",fontWeight:"normal",fontSize:16}}};var a=this;setTimeout(function(){var t=a.$echarts.init(document.getElementById("ALLMODE"));t.setOption(e),window.onresize=function(){t.resize()}},500)},getYTCRBASIC:function(t){if(t.YTCR_BASIC.length>0)var e={title:{text:"YTCR-BASIC",left:"1%"},tooltip:{trigger:"axis"},grid:{left:"5%",right:"5%",bottom:"10%"},xAxis:{data:t.YTCR_BASIC.map(function(t){return t.timestamp})},yAxis:{},series:{name:"对比率",type:"line",data:t.YTCR_BASIC.map(function(t){return t.history.split("%")[0]})}};else e={title:{text:"暂无数据",x:"center",y:"center",textStyle:{color:"#303133",fontWeight:"normal",fontSize:16}}};var a=this;setTimeout(function(){var t=a.$echarts.init(document.getElementById("YTCRBASIC"));t.setOption(e),window.onresize=function(){t.resize()}},500)}}},et={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",[a("a-layout-header",{staticStyle:{background:"#fff",padding:"0 20px","border-bottom":"1px solid gainsboro",position:"fixed","z-index":"99",width:"calc(100% - 200px)"}},[a("div",[a("h3",{staticStyle:{display:"inline",float:"right","margin-right":"30px"}},[a("span",[t._v("当前用户:")]),t._v(" "),a("a-menu",{staticStyle:{float:"right"},attrs:{mode:"horizontal"}},[a("a-sub-menu",{staticStyle:{height:"64px","line-height":"65px"}},[a("span",{staticClass:"submenu-title-wrapper",attrs:{slot:"title"},slot:"title"},[a("a-icon",{attrs:{type:"user"}}),t._v("\n "+t._s(t.username)+"\n ")],1),t._v(" "),a("a-menu-item",{key:"setting:3",on:{click:t.logout}},[t._v("退出登录")])],1)],1)],1)])]),t._v(" "),a("div",{staticClass:"knowledge all"},[a("a-row",[a("a-col",{attrs:{span:12}},[a("div",{staticClass:"chartLine",staticStyle:{width:"100%",height:"400px"},attrs:{id:"YRDTYTCRBASIC"}})]),t._v(" "),a("a-col",{attrs:{span:12}},[a("div",{staticClass:"chartLine",staticStyle:{width:"100%",height:"400px"},attrs:{id:"ALLMODE"}})])],1),t._v(" "),a("a-row",[a("a-col",{attrs:{span:12}},[a("div",{staticClass:"chartLine",staticStyle:{width:"100%",height:"400px"},attrs:{id:"YTCRBASIC"}})])],1)],1)],1)},staticRenderFns:[]};var at=a("VU/8")(tt,et,!1,function(t){a("9Hyy")},null,null).exports;a("VU/8")(null,null,!1,null,null,null).exports;n.a.use(o.a);var nt=new o.a({routes:[{path:"/",redirect:"/home"},{path:"/topologicalMap",name:"topologicalMap",component:J},{path:"/home",name:"home",component:S,redirect:"/topologicalMap",children:[{path:"/equipmentMonitor",name:"equipmentMonitor",component:B},{path:"/warningHistory",name:"warningHistory",component:N},{path:"/averageTime",name:"averageTime",component:$},{path:"/contrastRatio",name:"contrastRatio",component:at}]}]}),it=a("2vhu"),st=(a("hZ/y"),a("XLwt")),ot=a.n(st);n.a.use(it.a),n.a.prototype.axios=h.a,n.a.prototype.$echarts=ot.a,n.a.config.productionTip=!1,new n.a({router:nt,render:function(t){return t(s)}}).$mount("#app")},OYDP:function(t,e){},Va0d:function(t,e){t.exports="data:image/jpeg;base64,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"},XN5v:function(t,e){t.exports={_args:[["ant-design-vue@1.6.5","G:\\reliabilityMonitoring"]],_from:"ant-design-vue@1.6.5",_id:"ant-design-vue@1.6.5",_inBundle:!1,_integrity:"sha1-gvaYRtkhwiDQS7nvmmxAYF4Ubmw=",_location:"/ant-design-vue",_phantomChildren:{},_requested:{type:"version",registry:!0,raw:"ant-design-vue@1.6.5",name:"ant-design-vue",escapedName:"ant-design-vue",rawSpec:"1.6.5",saveSpec:null,fetchSpec:"1.6.5"},_requiredBy:["/"],_resolved:"https://registry.npm.taobao.org/ant-design-vue/download/ant-design-vue-1.6.5.tgz?cache=0&sync_timestamp=1600955891329&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fant-design-vue%2Fdownload%2Fant-design-vue-1.6.5.tgz",_spec:"1.6.5",_where:"G:\\reliabilityMonitoring",bugs:{url:"https://github.com/vueComponent/ant-design-vue/issues"},dependencies:{"@ant-design/icons":"^2.1.1","@ant-design/icons-vue":"^2.0.0","@simonwep/pickr":"~1.7.0","add-dom-event-listener":"^1.0.2","array-tree-filter":"^2.1.0","async-validator":"^3.0.3","babel-helper-vue-jsx-merge-props":"^2.0.3","babel-runtime":"6.x",classnames:"^2.2.5","component-classes":"^1.2.6","dom-align":"^1.10.4","dom-closest":"^0.2.0","dom-scroll-into-view":"^2.0.0","enquire.js":"^2.1.6",intersperse:"^1.0.0","is-mobile":"^2.2.1","is-negative-zero":"^2.0.0",ismobilejs:"^1.0.0",json2mq:"^0.2.0",lodash:"^4.17.5",moment:"^2.21.0","mutationobserver-shim":"^0.3.2","node-emoji":"^1.10.0","omit.js":"^1.0.0",raf:"^3.4.0","resize-observer-polyfill":"^1.5.1","shallow-equal":"^1.0.0",shallowequal:"^1.0.2","vue-ref":"^2.0.0",warning:"^4.0.0"},description:"An enterprise-class UI design language and Vue-based implementation",devDependencies:{"@commitlint/cli":"^8.0.0","@commitlint/config-conventional":"^8.0.0","@octokit/rest":"^16.0.0","@vue/cli-plugin-eslint":"^4.0.0","@vue/server-test-utils":"1.0.0-beta.16","@vue/test-utils":"1.0.0-beta.16",acorn:"^7.0.0",autoprefixer:"^9.6.0",axios:"^0.19.0","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-eslint":"^10.0.1","babel-helper-vue-jsx-merge-props":"^2.0.3","babel-jest":"^23.6.0","babel-loader":"^7.1.2","babel-plugin-import":"^1.1.1","babel-plugin-inline-import-data-uri":"^1.0.1","babel-plugin-istanbul":"^6.0.0","babel-plugin-syntax-dynamic-import":"^6.18.0","babel-plugin-syntax-jsx":"^6.18.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-decorators":"^6.24.1","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-plugin-transform-es3-member-expression-literals":"^6.22.0","babel-plugin-transform-es3-property-literals":"^6.22.0","babel-plugin-transform-object-assign":"^6.22.0","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"~6.23.0","babel-plugin-transform-vue-jsx":"^3.7.0","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","case-sensitive-paths-webpack-plugin":"^2.1.2",chalk:"^3.0.0",cheerio:"^1.0.0-rc.2",codecov:"^3.0.0",colorful:"^2.1.0",commander:"^4.0.0","compare-versions":"^3.3.0","cross-env":"^7.0.0","css-loader":"^3.0.0","deep-assign":"^2.0.0","enquire-js":"^0.2.1",eslint:"^6.8.0","eslint-config-prettier":"^6.10.1","eslint-plugin-html":"^6.0.0","eslint-plugin-markdown":"^2.0.0-alpha.0","eslint-plugin-vue":"^6.2.2","fetch-jsonp":"^1.1.3","fs-extra":"^8.0.0",glob:"^7.1.2",gulp:"^4.0.1","gulp-babel":"^7.0.0","gulp-strip-code":"^0.1.4","html-webpack-plugin":"^3.2.0",husky:"^4.0.0","istanbul-instrumenter-loader":"^3.0.0",jest:"^24.0.0","jest-serializer-vue":"^2.0.0","jest-transform-stub":"^2.0.0","js-base64":"^3.0.0","json-templater":"^1.2.0",jsonp:"^0.2.1",less:"^3.9.0","less-loader":"^6.0.0","less-plugin-npm-import":"^2.1.0","lint-staged":"^10.0.0",marked:"0.3.18",merge2:"^1.2.1","mini-css-extract-plugin":"^0.10.0",minimist:"^1.2.0",mkdirp:"^0.5.1",mockdate:"^2.0.2",nprogress:"^0.2.0","optimize-css-assets-webpack-plugin":"^5.0.1",postcss:"^7.0.6","postcss-loader":"^3.0.0",prettier:"^1.18.2","pretty-quick":"^2.0.0",querystring:"^0.2.0","raw-loader":"^4.0.0",reqwest:"^2.0.5",rimraf:"^3.0.0","rucksack-css":"^1.0.2","selenium-server":"^3.0.1",semver:"^7.0.0","style-loader":"^1.0.0",stylelint:"^13.0.0","stylelint-config-prettier":"^8.0.0","stylelint-config-standard":"^19.0.0","terser-webpack-plugin":"^3.0.3",through2:"^3.0.0","url-loader":"^3.0.0",vue:"^2.6.11","vue-antd-md-loader":"^1.1.0","vue-clipboard2":"0.3.1","vue-draggable-resizable":"^2.1.0","vue-eslint-parser":"^7.0.0","vue-i18n":"^8.3.2","vue-infinite-scroll":"^2.0.2","vue-jest":"^2.5.0","vue-loader":"^15.6.2","vue-router":"^3.0.1","vue-server-renderer":"^2.6.11","vue-template-compiler":"^2.6.11","vue-virtual-scroller":"^1.0.0",vuex:"^3.1.0",webpack:"^4.28.4","webpack-cli":"^3.2.1","webpack-dev-server":"^3.1.14","webpack-merge":"^4.1.1",webpackbar:"^4.0.0","xhr-mock":"^2.5.1"},files:["dist","lib","es","types","scripts"],homepage:"https://www.antdv.com/",keywords:["ant","design","antd","vue","vueComponent","component","components","ui","framework","frontend"],license:"MIT",main:"lib/index.js",module:"es/index.js",name:"ant-design-vue",peerDependencies:{vue:">=2.6.0","vue-template-compiler":">=2.6.0"},repository:{type:"git",url:"git+https://github.com/vueComponent/ant-design-vue.git"},scripts:{codecov:"codecov",compile:"node antd-tools/cli/run.js compile",dev:"webpack-dev-server",dist:"node antd-tools/cli/run.js dist",lint:"eslint -c ./.eslintrc --fix --ext .jsx,.js,.vue ./components","lint:docs":"eslint -c ./.eslintrc --fix --ext .jsx,.js,.vue,.md ./antdv-demo/docs/**/demo/**","lint:site":"eslint -c ./.eslintrc --fix --ext .jsx,.js,.vue ./antdv-demo","lint:style":'stylelint "{site,components}/**/*.less" --syntax less',postinstall:'node scripts/postinstall || echo "ignore"',"pre-publish":"node ./scripts/prepub",prepublish:"node antd-tools/cli/run.js guard",prettier:"prettier -c --write '**/*'","pretty-quick":"pretty-quick",pub:"node antd-tools/cli/run.js pub","pub-with-ci":"node antd-tools/cli/run.js pub-with-ci",start:"cross-env NODE_ENV=development webpack-dev-server --config webpack.config.js",test:"cross-env NODE_ENV=test jest --config .jest.js"},sideEffects:["site/*","components/style.js","components/**/style/*","*.vue","*.md","dist/*","es/**/style/*","lib/**/style/*","*.less"],title:"Ant Design Vue",typings:"types/index.d.ts",version:"1.6.5"}},aH1t:function(t,e){t.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAACXUlEQVRoQ+1ZvW4TQRD+ZhNfekoCZykS+EyAByAFoUZENKlIEDUSvELCK4BEi8RPRYEEEq3dkAeIBHaEQMqapKTP2fGgPXzhSPZ8G2vjvVN2y725ne+bn525OULFF1UcPzwB1x4c64GdsLYO0IJbkPyzIftv8jDkEuiGwR6Ai27BH2nfj2Q8r8OiJdAJa88J9KQk4BMYDH7RlP2nxzFpCXQv11ogWiZgsyHjZy6J7ITBBgObYG5Hvf4dT2Da3rDmgc6l2WUSoqUIpKGl2xtHMCs/1hCZcPEE0iROrEe0kXiAqK32dXuFHhidURSKacJa80CRwrN6fk4JhMFHAPcAvOfh8OVZWdfkXBLiMYBVAJ8iGa8Y1QHVAzHotYmCackQ+KGuJ8rvhepzLfDwJkAXpgVSr4d/g8R2tHtwogqPrvSTr3Xqs7eIxRe3wP/XzjRcau4OtoxCqBsGbwE8IOCrygPHRFYZWATwLpLxmhkB38zZ85m1OqCqbhZW89egrdsrqsSm1NT5StYqAd/MZTpaJ92oEOJ2qjht5o7vFYVQVn6cbNpEWgsh09i1LXdOCYwKWWJN5uQ2cLaI0tvPvJB9D4Nrh3+rcGnWDLB4RcbfjCrx6P59xcCjcjDgrUj2l3RYtN3oUeKUA32CIm9GpR9s1YMPYNwv2QfN50jGd41CyE/mLIaetTpQ+bGKn8wBcD5arPT3gMW8PNVR1pL4VFotCk9EoPKVWBmw+2+8aNGekx2lxjsNGV837oVSwc783FXQodM/lQOa6d3oHfzIo+7/1E8WFPbe8h6wZ8vJTvoD/HNSTxnHS4wAAAAASUVORK5CYII="},clrZ:function(t,e){t.exports="data:image/png;base64,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"},"hZ/y":function(t,e){},i8F2:function(t,e){},nafO:function(t,e){},o5l7:function(t,e){},uSEa:function(t,e){t.exports="data:image/png;base64,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"},uslO:function(t,e,a){var n={"./af":"3CJN","./af.js":"3CJN","./ar":"3MVc","./ar-dz":"tkWw","./ar-dz.js":"tkWw","./ar-kw":"j8cJ","./ar-kw.js":"j8cJ","./ar-ly":"wPpW","./ar-ly.js":"wPpW","./ar-ma":"dURR","./ar-ma.js":"dURR","./ar-sa":"7OnE","./ar-sa.js":"7OnE","./ar-tn":"BEem","./ar-tn.js":"BEem","./ar.js":"3MVc","./az":"eHwN","./az.js":"eHwN","./be":"3hfc","./be.js":"3hfc","./bg":"lOED","./bg.js":"lOED","./bm":"hng5","./bm.js":"hng5","./bn":"aM0x","./bn-bd":"1C9R","./bn-bd.js":"1C9R","./bn.js":"aM0x","./bo":"w2Hs","./bo.js":"w2Hs","./br":"OSsP","./br.js":"OSsP","./bs":"aqvp","./bs.js":"aqvp","./ca":"wIgY","./ca.js":"wIgY","./cs":"ssxj","./cs.js":"ssxj","./cv":"N3vo","./cv.js":"N3vo","./cy":"ZFGz","./cy.js":"ZFGz","./da":"YBA/","./da.js":"YBA/","./de":"DOkx","./de-at":"8v14","./de-at.js":"8v14","./de-ch":"Frex","./de-ch.js":"Frex","./de.js":"DOkx","./dv":"rIuo","./dv.js":"rIuo","./el":"CFqe","./el.js":"CFqe","./en-au":"Sjoy","./en-au.js":"Sjoy","./en-ca":"Tqun","./en-ca.js":"Tqun","./en-gb":"hPuz","./en-gb.js":"hPuz","./en-ie":"ALEw","./en-ie.js":"ALEw","./en-il":"QZk1","./en-il.js":"QZk1","./en-in":"yJfC","./en-in.js":"yJfC","./en-nz":"dyB6","./en-nz.js":"dyB6","./en-sg":"NYST","./en-sg.js":"NYST","./eo":"Nd3h","./eo.js":"Nd3h","./es":"LT9G","./es-do":"7MHZ","./es-do.js":"7MHZ","./es-mx":"USNP","./es-mx.js":"USNP","./es-us":"INcR","./es-us.js":"INcR","./es.js":"LT9G","./et":"XlWM","./et.js":"XlWM","./eu":"sqLM","./eu.js":"sqLM","./fa":"2pmY","./fa.js":"2pmY","./fi":"nS2h","./fi.js":"nS2h","./fil":"rMbQ","./fil.js":"rMbQ","./fo":"OVPi","./fo.js":"OVPi","./fr":"tzHd","./fr-ca":"bXQP","./fr-ca.js":"bXQP","./fr-ch":"VK9h","./fr-ch.js":"VK9h","./fr.js":"tzHd","./fy":"g7KF","./fy.js":"g7KF","./ga":"U5Iz","./ga.js":"U5Iz","./gd":"nLOz","./gd.js":"nLOz","./gl":"FuaP","./gl.js":"FuaP","./gom-deva":"VGQH","./gom-deva.js":"VGQH","./gom-latn":"+27R","./gom-latn.js":"+27R","./gu":"rtsW","./gu.js":"rtsW","./he":"Nzt2","./he.js":"Nzt2","./hi":"ETHv","./hi.js":"ETHv","./hr":"V4qH","./hr.js":"V4qH","./hu":"xne+","./hu.js":"xne+","./hy-am":"GrS7","./hy-am.js":"GrS7","./id":"yRTJ","./id.js":"yRTJ","./is":"upln","./is.js":"upln","./it":"FKXc","./it-ch":"/E8D","./it-ch.js":"/E8D","./it.js":"FKXc","./ja":"ORgI","./ja.js":"ORgI","./jv":"JwiF","./jv.js":"JwiF","./ka":"RnJI","./ka.js":"RnJI","./kk":"j+vx","./kk.js":"j+vx","./km":"5j66","./km.js":"5j66","./kn":"gEQe","./kn.js":"gEQe","./ko":"eBB/","./ko.js":"eBB/","./ku":"kI9l","./ku.js":"kI9l","./ky":"6cf8","./ky.js":"6cf8","./lb":"z3hR","./lb.js":"z3hR","./lo":"nE8X","./lo.js":"nE8X","./lt":"/6P1","./lt.js":"/6P1","./lv":"jxEH","./lv.js":"jxEH","./me":"svD2","./me.js":"svD2","./mi":"gEU3","./mi.js":"gEU3","./mk":"Ab7C","./mk.js":"Ab7C","./ml":"oo1B","./ml.js":"oo1B","./mn":"CqHt","./mn.js":"CqHt","./mr":"5vPg","./mr.js":"5vPg","./ms":"ooba","./ms-my":"G++c","./ms-my.js":"G++c","./ms.js":"ooba","./mt":"oCzW","./mt.js":"oCzW","./my":"F+2e","./my.js":"F+2e","./nb":"FlzV","./nb.js":"FlzV","./ne":"/mhn","./ne.js":"/mhn","./nl":"3K28","./nl-be":"Bp2f","./nl-be.js":"Bp2f","./nl.js":"3K28","./nn":"C7av","./nn.js":"C7av","./oc-lnc":"KOFO","./oc-lnc.js":"KOFO","./pa-in":"pfs9","./pa-in.js":"pfs9","./pl":"7LV+","./pl.js":"7LV+","./pt":"ZoSI","./pt-br":"AoDM","./pt-br.js":"AoDM","./pt.js":"ZoSI","./ro":"wT5f","./ro.js":"wT5f","./ru":"ulq9","./ru.js":"ulq9","./sd":"fW1y","./sd.js":"fW1y","./se":"5Omq","./se.js":"5Omq","./si":"Lgqo","./si.js":"Lgqo","./sk":"OUMt","./sk.js":"OUMt","./sl":"2s1U","./sl.js":"2s1U","./sq":"V0td","./sq.js":"V0td","./sr":"f4W3","./sr-cyrl":"c1x4","./sr-cyrl.js":"c1x4","./sr.js":"f4W3","./ss":"7Q8x","./ss.js":"7Q8x","./sv":"Fpqq","./sv.js":"Fpqq","./sw":"DSXN","./sw.js":"DSXN","./ta":"+7/x","./ta.js":"+7/x","./te":"Nlnz","./te.js":"Nlnz","./tet":"gUgh","./tet.js":"gUgh","./tg":"5SNd","./tg.js":"5SNd","./th":"XzD+","./th.js":"XzD+","./tk":"+WRH","./tk.js":"+WRH","./tl-ph":"3LKG","./tl-ph.js":"3LKG","./tlh":"m7yE","./tlh.js":"m7yE","./tr":"k+5o","./tr.js":"k+5o","./tzl":"iNtv","./tzl.js":"iNtv","./tzm":"FRPF","./tzm-latn":"krPU","./tzm-latn.js":"krPU","./tzm.js":"FRPF","./ug-cn":"To0v","./ug-cn.js":"To0v","./uk":"ntHu","./uk.js":"ntHu","./ur":"uSe8","./ur.js":"uSe8","./uz":"XU1s","./uz-latn":"/bsm","./uz-latn.js":"/bsm","./uz.js":"XU1s","./vi":"0X8Q","./vi.js":"0X8Q","./x-pseudo":"e/KL","./x-pseudo.js":"e/KL","./yo":"YXlc","./yo.js":"YXlc","./zh-cn":"Vz2w","./zh-cn.js":"Vz2w","./zh-hk":"ZUyn","./zh-hk.js":"ZUyn","./zh-mo":"+WA1","./zh-mo.js":"+WA1","./zh-tw":"BbgG","./zh-tw.js":"BbgG"};function i(t){return a(s(t))}function s(t){var e=n[t];if(!(e+1))throw new Error("Cannot find module '"+t+"'.");return e}i.keys=function(){return Object.keys(n)},i.resolve=s,t.exports=i,i.id="uslO"},uysQ:function(t,e){},y42a:function(t,e){t.exports="data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAAEYAAAA4CAYAAABABo41AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAKFSURBVGhD7Zq/SxxBFMen9K+w9B8QsRCxsLCwsLIQUQtRBDmIETQiUdBCAyIxQTksgoIYBX8c0ROOyKGiIKKFYBMsFCWIYCMhIIKM93VcdmZ25m7KZecVn+L2Ho+ZD7tvZt4uY5XdnDBgvEgUxAyscpZ7IFYuNTGjW5ydcmLzhsQY8VbM3j/Olv9w9usvZycv0f/xOJUU0zKlBsUFDF4fqwvT+5xV94Z5mic5yz+qMd6J+XFuzgU58p3jnZiOb+ZcIHMbxjnVmCSJKTYXLNFBnHd3zKc1cy7UHBTkIM5JTKZwW6GCx43j5+hYS3Hwn7PGEXXSAAVZjnMSkzQgB3cOnoSutCjIeoyXYlygna8FEmMhIqZpnLPUAoHao4iRfxAhxosEibHCOuc4+35ETOQ0MbQqCWi5tkBiLHgrBmeh+TPRajAdRp3OSihGuB43cBjUx+rC5wxnVT3hpHHa3r5TY3QxZZNZNQAkqR+TPjHnwo6/WGuzYnVXTQSSJKbtqzkXQF0J4vQaU77wW00EkiSm2FyKtTYT/ygNb5hz1aTUmqWLeStqciKA99mQEzf0d0EuHD6JeiJPGoV49liNcxKTNLA8fynUUrQX0OJET1uP8VKMC7TztUBiLETE0IdDgsiHQ/IPIsR4kSAxVljtB84ahoj6QU0MrUoCWq4tkBgL3orBPgWvSHB4lD8YCsBexjsxfUvqpFFo16/VGCcxOOLLQXEBg9fHWoqpvDkXViK5Ke6dmNZpcy6wdhXGOdUYEuOBmLGsOVfdR9HdC+K8e5TwiqR9Rs2Dfu/ihRrnJCZJn7MGYJnu/ynuoJ376P9OYnyEdr4WSIyFiBhqOwgibQf5B/FON38FwUS3rt/u9PIAAAAASUVORK5CYII="},yevO:function(t,e,a){t.exports=a.p+"img/tmtupian.a5708d0.png"}},["NHnr"]);
//# sourceMappingURL=app.5e5c5aab73e147387b56.js.map
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
webpackJsonp([1],{"2tje":function(t,e){},"3rkB":function(t,e){},"7Otq":function(t,e){t.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OTk2QkI4RkE3NjE2MTFFNUE4NEU4RkIxNjQ5MTYyRDgiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OTk2QkI4Rjk3NjE2MTFFNUE4NEU4RkIxNjQ5MTYyRDgiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjU2QTEyNzk3NjkyMTFFMzkxODk4RDkwQkY4Q0U0NzYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NjU2QTEyN0E3NjkyMTFFMzkxODk4RDkwQkY4Q0U0NzYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5WHowqAAAXNElEQVR42uxda4xd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"},CMRB:function(t,e){t.exports="data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAAC0AAAAnCAYAAACbgcH8AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABFSURBVFhH7c6xCQAgEAAxwS3c+WfWLQLCFemz9pn7m9JKaaW0UloprZRWSiulldJKaaW0UloprZRWSiulldJKaaW0MfcBZ8JiOf+zDqQAAAAASUVORK5CYII="},JQpZ:function(t,e){t.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAD0UlEQVR4Xu1bT2gUZxT/vdlJW41JdhYhxYI03czWHkRSUgNSQVuPocd6aQuF2nVnUg8eRG8ePIiHeujuxkXRUm8KUopCD/5BL4Zq00ILtTtJt5QS0lJmNonGQ2bmySS7i1B2nB02m53db247+7753vvN733fe7/9ltDlF3V5/BAACAZ0OQIiBV5EgHhuZj8RnyLGCAibXmTfFt8znjL4R1vuObSUHnrk55MvA/qzxTFZoqm2CCqME4zFFVke8wPBFwAlZ9wmwv4wc7fLGGbcsXT1vXr++AKQyBnLz9H+kEuYaZfAfGnN/A6BzlRslk1N7Q0HQN7g6kCX5KFyZujPKAAQnyy9LrFdqvpqamrdF+3PAAGAYEDdFFAmi+Pk0miVZiuym11Kv/lfX+H3rT22NFG9zxI/tDKp64FT51LplcSyfTywfcXQBX9b1lM/ex9bkgJKrniOiNI1AGLyW95201co7ehx7N9qADAXLD11OGhA8bOluPSybQW1r61RzJ+W9dTXAgDBgBalQF92NhWLuduqFCxLvT8gvW0ZhbnNcffJ7up9x5HmliaSxcCUPslyfHDm3cD2FcMVV370RB+ab1kKNOpgK+1bsgi2MqBG52oiAMVFgPo8Bxh8jIkeNOrMRthLLpIgXFibm5dMLdUfqhTuiGYIuGtp6r5QAHh7uuzYUwQMbMSbbMqcLvaYE+r9UAB4g/qzxseShCwx+iki+hGv1a+LTiz2xeLhN77xA1IIIn7odMQa0CxBxHGlAwsTyVtNyct1fshAdvb9mOTerEwjBBEhiAhFaB0ksUTeOMrAB7V0jkmfWOnkX0phdjsct7b1EPCdqalfBk773L9bFFoILqBUHkxMp019+PuWNUNCEBGKUJdLYoFzegMMm9gOC1m8238Zir4gwsCCpanxUO1wJzRDAK6amvphKACqgghWBRECUS0jNmBpCz4ls9fle76ySTbtMo+of4cCwBuk5IyvQNDJQyBCFwMOEz4vZ9SLoQWRRN74DMD5CMX9P1cZ0rilJW+EYoCSN6YJGIk2APjJ0tS3wwGQMxwiSN5gJtppZYZ/jQIYSv6PvQTn3qrf4BVLS70UCoCEOCAhKsFurwTrM0AIIkIP6HI9oOslsXauB4QgIk6KNuuobM6YB2Fwle7M1wD6pZ2pX/XNJbwmAV4j59XC/5i6+mqoUljJG5cJ+CgKQdfzkRlXLF09GA6AwuwAHPdOVDtCboYg4p37SziPTzDTaJT+MgPCtB1zz3rnl0MLIlGmflDfIyVzBQ2qETsBQCNodaKtYEAnvtVGYnoGN5tzbn2h22YAAAAASUVORK5CYII="},NHnr:function(t,e,a){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=a("7+uW"),i={render:function(){var t=this.$createElement;return(this._self._c||t)("router-view")},staticRenderFns:[]};var s=a("VU/8")({name:"App"},i,!1,function(t){a("uysQ")},null,null).exports,o=a("/ocq"),r=a("Xxa5"),l=a.n(r),c=a("exGp"),u=a.n(c),d=a("W8/L"),g=a.n(d),p="",m=a("mtWM"),h=a.n(m),f=h.a.create({baseURL:"",timeout:3e5});function v(){return f({url:p+"rest/rel/selectClusterStatus",method:"get",params:{},headers:{token:localStorage.getItem("token")}})}function A(t){return f({url:p+"rest/rel/selectChart",method:"post",data:t,headers:{token:localStorage.getItem("token")}})}var b=document.documentElement.clientHeight-80,y={data:function(){return{url:p.baseURL,locale:g.a,collapsed:!1,offset:[30,5],sysUser:"",ActivateState:"",minHeight:b,openKeys:["/equipmentMonitor"],defaultOpenKeys:["sub1","sub2","sub4"],newActiveFlag:!1,activeFlag:!1,loading:!1,changePwdFlag:!1,username:localStorage.getItem("userInfo")}},watch:{$route:function(t,e){var a=t.path;this.openKeys.pop(),this.openKeys.push(a)}},mounted:function(){var t=this.$route.path;this.openKeys.pop(),this.openKeys.push(t)},methods:{logout:function(){this.$confirm({title:"是否确定退出系统?",okText:"确定",okType:"danger",cancelText:"取消",onOk:this.confirmLogout})},confirmLogout:function(){var t=this;return u()(l.a.mark(function e(){return l.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:t.$router.push("/login"),localStorage.clear(),t.$message.success("注销成功");case 3:case"end":return e.stop()}},e,t)}))()},jumpRouter:function(t){this.$router.push(t)},toggleCollapsed:function(){this.collapsed=!this.collapsed},quitSys:function(){var t=this;return u()(l.a.mark(function e(){return l.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.$store.dispatch("user/logout").then(function(){t.$router.push("/login"),t.$message.success("注销成功")});case 2:case"end":return e.stop()}},e,t)}))()}},beforeDestroy:function(){clearInterval(this.timer1)}},w={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("a-config-provider",{attrs:{locale:t.locale}},[n("a-layout",{staticStyle:{"min-height":"100vh","overflow-x":"hidden"},attrs:{id:"components-layout-demo-side"}},[n("a-layout-sider",{staticStyle:{"max-width":"250px"},model:{value:t.collapsed,callback:function(e){t.collapsed=e},expression:"collapsed"}},[n("div",{staticClass:"leftHeader",staticStyle:{"z-index":"1000"}},[n("img",{staticClass:"logo",attrs:{src:a("7Otq")}}),t._v(" "),t.collapsed?t._e():n("span",{staticStyle:{"font-size":"20px","vertical-align":"-3px"}},[t._v("可靠性监控系统")])]),t._v(" "),t.collapsed?t._e():n("a-menu",{attrs:{theme:"dark",defaultOpenKeys:t.defaultOpenKeys,mode:"inline",defaultSelectedKeys:t.openKeys,"inline-collapsed":t.collapsed}},[n("a-menu-item",{key:"/equipmentMonitor"},[n("router-link",{attrs:{to:"/equipmentMonitor"}},[n("a-icon",{attrs:{type:"database"}}),t._v("\n 设备集群监控\n ")],1)],1),t._v(" "),n("a-menu-item",{key:"/warningHistory"},[n("router-link",{attrs:{to:"/warningHistory"}},[n("a-icon",{attrs:{type:"sound"}}),t._v("\n 告警历史\n ")],1)],1),t._v(" "),n("a-menu-item",{key:"/topologicalMap"},[n("router-link",{attrs:{to:"/topologicalMap"}},[n("a-icon",{attrs:{type:"sound"}}),t._v("\n 拓扑图\n ")],1)],1)],1)],1),t._v(" "),n("a-layout",[n("a-layout",{style:{minHeight:t.minHeight+"px"}},[n("router-view")],1)],1)],1)],1)},staticRenderFns:[]};var k=a("VU/8")(y,w,!1,function(t){a("3rkB")},null,null).exports,S={name:"equipmentMonitor",data:function(){var t=this.$createElement;return{current1:[0],current2:[],current3:[],current4:[],current5:[],currentSecond:[],defaultSelectKeys1:[],defaultSelectKeys2:[],selectKey:1,monitorList:[],secondList:[],finalResult:[],showFlag:!1,timeFlag:"one",selectIp:"",firstX:[],yesAndno:null,username:localStorage.getItem("userInfo"),firstY:[],secondY:[],timer:"",selectOne:"",selectTwo:"",indicator:t("a-icon",{attrs:{type:"loading",spin:!0},style:"font-size: 24px"})}},mounted:function(){this.getSwitch(),this.getMonitorList(),this.timer=setInterval(this.getListLater,5e3)},methods:{changeSwitch:function(t){var e;(e={state:0==t?"open":"close"},f({url:p+"rest/rel/changeSwitch",method:"post",data:e,headers:{"Content-Type":"application/json",token:localStorage.getItem("token")}})).then(function(t){})},getSwitch:function(){var t=this;f({url:p+"rest/rel/getSwitch",method:"get",headers:{"Content-Type":"application/json",token:localStorage.getItem("token")}}).then(function(e){"open"===e.data.switch?t.yesAndno=!0:t.yesAndno=!1})},getMonitorList:function(){var t=this;v().then(function(e){if("502"===e.data.code)t.$message.error("登录超时,请重新登录"),t.$router.push("/login"),localStorage.clear();else if(200===e.status){t.dataFirstList=[];var a=0,n=0;for(var i in e.data){"接入区"!==i?a++:n=a;var s={name:i,value:e.data[i]};t.dataFirstList.push(s)}for(a=0;a<t.dataFirstList.length;a++){var o=[],r={finalMapName:t.dataFirstList[a].name,finalMapValue:o};for(var l in t.dataFirstList[a].value){var c={},u=[],d=0;for(var g in t.dataFirstList[a].value[l]){"ok"!==t.dataFirstList[a].value[l][g].value&&d++;var p={ip:g,monitorValue:t.dataFirstList[a].value[l][g]};u.push(p),c.name=l,c.value=u,c.errorNum=d}o.push(c)}t.finalResult.push(r)}t.selectByName(0,n)}else t.$message.error("服务器异常,请重试")}).catch(function(e){t.$message.error("系统异常")})},logout:function(){this.$confirm({title:"是否确定退出系统?",okText:"确定",okType:"danger",cancelText:"取消",onOk:this.confirmLogout})},confirmLogout:function(){var t=this;return u()(l.a.mark(function e(){return l.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:t.$router.push("/login"),localStorage.clear(),t.$message.success("注销成功");case 3:case"end":return e.stop()}},e,t)}))()},getListLater:function(){var t=this;v().then(function(e){if("502"===e.data.code)t.$message.error("登录超时,请重新登录"),t.$router.push("/login"),localStorage.clear();else if(200===e.status){for(var a in t.finalResult=[],t.dataFirstList=[],e.data){var n={name:a,value:e.data[a]};t.dataFirstList.push(n)}for(var i=0;i<t.dataFirstList.length;i++){var s=[],o={finalMapName:t.dataFirstList[i].name,finalMapValue:s};for(var r in t.dataFirstList[i].value){var l={},c=[],u=0;for(var d in t.dataFirstList[i].value[r]){"ok"!==t.dataFirstList[i].value[r][d].value&&u++;var g={ip:d,monitorValue:t.dataFirstList[i].value[r][d]};c.push(g),l.name=r,l.value=c,l.errorNum=u}s.push(l)}t.finalResult.push(o)}t.selectByName(t.firstIndex,t.secondIndex)}else t.$message.error("服务器异常,请重试")}).catch(function(e){t.$message.error("系统异常")})},selectByName:function(t,e,a){if(this.firstIndex=t,this.secondIndex=e,0===a?(this.current1=t,this.current2=[],this.current3=[],this.current4=[],this.current5=[]):1===a?(this.current1=[],this.current2=t,this.current3=[],this.current4=[],this.current5=[]):2===a?(this.current1=[],this.current2=[],this.current3=t,this.current4=[],this.current5=[]):3===a?(this.current1=[],this.current2=[],this.current3=[],this.current4=t,this.current5=[]):4===a&&(this.current1=[],this.current2=[],this.current3=[],this.current4=[],this.current5=t),this.selectOne=this.finalResult[e].finalMapValue[t],""===this.selectIp)this.selectCharts(this.selectOne.value[0]);else{for(var n=!1,i=0;i<this.selectOne.value.length;i++)this.selectOne.value[i].ip==this.selectIp&&(n=!0);n?this.selectChartsNext(this.selectIp):this.selectCharts(this.selectOne.value[0])}},changeTabs:function(t){this.selectOne=this.finalResult[t].finalMapValue[0],this.current="0"},initChart:function(){var t=a("gUwQ");void 0===this.bigChart&&(this.bigChart=t.init(document.getElementById("chartLineBox"))),this.drawLine(this.bigChart),setTimeout(function(){window.onresize=function(){bigChart.resize()}},200)},selectCharts:function(t){var e=this;this.selectIp=t.ip,A({url:t.ip,flag:this.timeFlag}).then(function(t){if("502"===t.data.code)e.$message.error("登录超时,请重新登录"),e.$router.push("/login"),localStorage.clear();else if(200===t.status){e.firstY=t.data.ordinate,e.secondY=t.data.ordinateForecast,e.firstX=t.data.abscissa;var a=e;e.showFlag=!0,setTimeout(function(){a.initChart()},500)}else e.$message.error("服务器异常,请重试")}).catch(function(t){e.$message.error("系统异常")})},selectChartsNext:function(t){var e=this;this.selectIp=t,A({url:t,flag:this.timeFlag}).then(function(t){if("502"===t.data.code)e.$message.error("登录超时,请重新登录"),e.$router.push("/login"),localStorage.clear();else if(200===t.status){e.firstY=t.data.ordinate,e.secondY=t.data.ordinateForecast,e.firstX=t.data.abscissa;var a=e;e.showFlag=!0,setTimeout(function(){a.initChart()},500)}else e.$message.error("服务器异常,请重试")}).catch(function(t){e.$message.error("系统异常")})},changeEcharts:function(t){var e=this;this.firstX=[],this.firstY=[],this.secondY=[],A({url:this.selectIp,flag:this.timeFlag}).then(function(t){if("502"===t.data.code)e.$message.error("登录超时,请重新登录"),e.$router.push("/login"),localStorage.clear();else if(200===t.status){e.firstY=t.data.ordinate,e.secondY=t.data.ordinateForecast,e.firstX=t.data.abscissa;var a=e;e.showFlag=!0,setTimeout(function(){a.initChart()},1e3)}else e.$message.error("服务器异常,请重试")}).catch(function(t){e.$message.error("系统异常")})},drawLine:function(t){t.setOption({tooltip:{trigger:"axis"},legend:{data:["实时","预测"]},color:["#FF00FF","#00FF00"],xAxis:{type:"category",data:this.firstX,name:"时间",nameTextStyle:{fontSize:16,padding:[0,0,0,20]}},yAxis:{name:"响应时间",type:"value",axisLabel:{formatter:"{value} ms"},axisLine:{show:!0},nameTextStyle:{fontSize:16,padding:[0,0,20,20]}},series:[{name:"实时",data:this.firstY,type:"line",lineStyle:{normal:{color:"#FF00FF"}}},{name:"预测",data:this.secondY,type:"line",lineStyle:{normal:{color:"#00FF00"}}}]})}},beforeDestroy:function(){clearInterval(this.timer)}},x={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("a-layout",[a("a-spin",{directives:[{name:"show",rawName:"v-show",value:""===t.selectOne,expression:"selectOne===''"}],staticStyle:{"font-size":"50px","margin-top":"20%"},attrs:{indicator:t.indicator,type:"loading",spinning:""===t.selectOne}}),t._v(" "),a("a-layout-header",{staticStyle:{background:"#fff",padding:"0 20px","border-bottom":"1px solid gainsboro",position:"fixed","z-index":"99",width:"calc(100% - 200px)"}},[a("div",[a("span",{staticStyle:{"margin-bottom":"20px","font-weight":"bold"}},[a("span",{staticStyle:{"font-size":"18px"}},[t._v("微信告警:")]),a("a-switch",{staticStyle:{"margin-bottom":"4px"},attrs:{"checked-children":"开启","un-checked-children":"关闭"},on:{change:t.changeSwitch},model:{value:t.yesAndno,callback:function(e){t.yesAndno=e},expression:"yesAndno"}})],1),t._v(" "),a("h3",{staticStyle:{display:"inline",float:"right","margin-right":"30px"}},[a("span",[t._v("当前用户:")]),t._v(" "),a("a-menu",{staticStyle:{float:"right"},attrs:{mode:"horizontal"}},[a("a-sub-menu",{staticStyle:{height:"64px","line-height":"65px"}},[a("span",{staticClass:"submenu-title-wrapper",attrs:{slot:"title"},slot:"title"},[a("a-icon",{attrs:{type:"user"}}),t._v(t._s(t.username)+"\n     ")],1),t._v(" "),a("a-menu-item",{key:"setting:3",on:{click:t.logout}},[t._v("\n       退出登录\n     ")])],1)],1)],1)])]),t._v(" "),a("div",{staticStyle:{padding:"30px","margin-top":"50px"}},[a("a-row",[t._l(t.finalResult,function(e,n){return"接入区"===e.finalMapName?a("a-col",{key:e+n,staticStyle:{"margin-right":"20px"},attrs:{span:"4"}},[a("div",{staticStyle:{"background-color":"white","font-size":"22px","font-weight":"bold","text-align":"center",padding:"10px"}},[t._v("接入区")]),t._v(" "),a("a-menu",{staticStyle:{width:"100%"},attrs:{mode:"inline",defaultSelectedKeys:t.defaultSelectKeys1},model:{value:t.current1,callback:function(e){t.current1=e},expression:"current1"}},t._l(e.finalMapValue,function(e,i){return a("a-menu-item",{key:i,on:{click:function(e){return t.selectByName(i,n,0)}}},[a("span",{staticStyle:{"font-weight":"bold"}},[t._v(t._s(e.name))]),t._v(" "),a("span",{staticStyle:{float:"right"}},[a("a-tag",{directives:[{name:"show",rawName:"v-show",value:e.errorNum>0,expression:"item.errorNum>0"}],attrs:{color:"#f50"}},[t._v("\n "+t._s(e.errorNum)+"\n ")])],1)])}),1)],1):t._e()}),t._v(" "),t._l(t.finalResult,function(e,n){return"算法区"===e.finalMapName?a("a-col",{key:e+n,staticStyle:{"margin-right":"20px"},attrs:{span:"4"}},[a("div",{staticStyle:{"background-color":"white","font-size":"22px","font-weight":"bold","text-align":"center",padding:"10px"}},[t._v("算法区")]),t._v(" "),a("a-menu",{staticStyle:{width:"100%"},attrs:{mode:"inline",defaultSelectedKeys:t.defaultSelectKeys1},model:{value:t.current3,callback:function(e){t.current3=e},expression:"current3"}},t._l(e.finalMapValue,function(e,i){return a("a-menu-item",{key:i+e,on:{click:function(e){return t.selectByName(i,n,2)}}},[a("span",{staticStyle:{"font-weight":"bold"}},[t._v(t._s(e.name))]),t._v(" "),a("span",{staticStyle:{float:"right"}},[a("a-tag",{directives:[{name:"show",rawName:"v-show",value:e.errorNum>0,expression:"item.errorNum>0"}],attrs:{color:"#f50"}},[t._v("\n "+t._s(e.errorNum)+"\n ")])],1)])}),1)],1):t._e()}),t._v(" "),t._l(t.finalResult,function(e,n){return"护照柜"===e.finalMapName?a("a-col",{key:e+n,staticStyle:{"margin-right":"20px"},attrs:{span:"4"}},[a("div",{staticStyle:{"background-color":"white","font-size":"22px","font-weight":"bold","text-align":"center",padding:"10px"}},[t._v("护照柜")]),t._v(" "),a("a-menu",{staticStyle:{width:"100%"},attrs:{mode:"inline",defaultSelectedKeys:t.defaultSelectKeys1},model:{value:t.current4,callback:function(e){t.current4=e},expression:"current4"}},t._l(e.finalMapValue,function(e,i){return a("a-menu-item",{key:e+i,on:{click:function(e){return t.selectByName(i,n,3)}}},[a("span",{staticStyle:{"font-weight":"bold"}},[t._v(t._s(e.name))]),t._v(" "),a("span",{staticStyle:{float:"right"}},[a("a-tag",{directives:[{name:"show",rawName:"v-show",value:e.errorNum>0,expression:"item.errorNum>0"}],attrs:{color:"#f50"}},[t._v("\n "+t._s(e.errorNum)+"\n ")])],1)])}),1)],1):t._e()}),t._v(" "),t._l(t.finalResult,function(e,n){return"核心业务区"===e.finalMapName?a("a-col",{key:e+n,staticStyle:{"margin-right":"20px"},attrs:{span:"4"}},[a("div",{staticStyle:{"background-color":"white","font-size":"22px","font-weight":"bold","text-align":"center",padding:"10px"}},[t._v("核心业务区")]),t._v(" "),a("a-menu",{staticStyle:{width:"100%"},attrs:{mode:"inline",defaultSelectedKeys:t.defaultSelectKeys1},model:{value:t.current5,callback:function(e){t.current5=e},expression:"current5"}},t._l(e.finalMapValue,function(e,i){return a("a-menu-item",{key:e+i,on:{click:function(e){return t.selectByName(i,n,4)}}},[a("span",{staticStyle:{"font-weight":"bold"}},[t._v(t._s(e.name))]),t._v(" "),a("span",{staticStyle:{float:"right"}},[a("a-tag",{directives:[{name:"show",rawName:"v-show",value:e.errorNum>0,expression:"item.errorNum>0"}],attrs:{color:"#f50"}},[t._v("\n "+t._s(e.errorNum)+"\n ")])],1)])}),1)],1):t._e()})],2)],1),t._v(" "),a("div",{directives:[{name:"show",rawName:"v-show",value:""!==t.selectOne,expression:"selectOne!==''"}],staticStyle:{padding:"30px","margin-top":"30px"}},[a("a-row",[a("a-col",{staticStyle:{background:"white",padding:"15px"},attrs:{span:"24"}},[a("div",{staticStyle:{"font-weight":"bold","font-size":"22px"}},[t._v(t._s(t.selectOne.name))]),t._v(" "),a("a-row",{staticStyle:{"margin-top":"20px"},attrs:{gutter:16}},t._l(t.selectOne.value,function(e,n){return a("a-col",{key:n,attrs:{span:"4"}},["down"===e.monitorValue.value?a("a-card",{staticStyle:{background:"#ff5151",color:"white","margin-top":"20px"},attrs:{bordered:!1,size:"small",hoverable:!0},on:{click:function(a){return t.selectCharts(e)}}},[a("div",[t._v(t._s(n+1)+"号机器\n "),"down"===e.monitorValue.value?a("span",{staticStyle:{color:"black","font-weight":"bold"}},[t._v("(已宕机)")]):t._e(),t._v(" "),"ok"===e.monitorValue.value?a("span",{staticStyle:{color:"black","font-weight":"bold"}},[t._v("(运行正常)")]):t._e(),t._v(" "),"unstable"===e.monitorValue.value?a("span",{staticStyle:{color:"black","font-weight":"bold"}},[t._v("(不稳定)")]):t._e(),t._v(" "),"NA"===e.monitorValue.value?a("span",{staticStyle:{color:"black","font-weight":"bold"}},[t._v("(未监控)")]):t._e()]),t._v(" "),a("span",[t._v("响应时间:")]),a("span",{staticStyle:{"font-weight":"bold"}},[t._v(" "+t._s(Math.floor(e.monitorValue.avgResp))+" ms")]),a("br"),t._v(" "),a("span",[t._v("错误:")]),a("span",{staticStyle:{"font-weight":"bold"}},[t._v(t._s(e.monitorValue.faultCount))]),t._v(" / 天"),a("br"),t._v(" "),a("div",[t._v(t._s(e.ip))])]):t._e(),t._v(" "),"ok"===e.monitorValue.value?a("a-card",{staticStyle:{background:"darkseagreen",color:"white","margin-top":"20px"},attrs:{bordered:!1,size:"small",hoverable:!0},on:{click:function(a){return t.selectCharts(e)}}},[a("div",[t._v(t._s(n+1)+"号机器\n "),"down"===e.monitorValue.value?a("span",{staticStyle:{color:"black","font-weight":"bold"}},[t._v("(已宕机)")]):t._e(),t._v(" "),"ok"===e.monitorValue.value?a("span",{staticStyle:{color:"black","font-weight":"bold"}},[t._v("(运行正常)")]):t._e(),t._v(" "),"unstable"===e.monitorValue.value?a("span",{staticStyle:{color:"black","font-weight":"bold"}},[t._v("(不稳定)")]):t._e(),t._v(" "),"NA"===e.monitorValue.value?a("span",{staticStyle:{color:"black","font-weight":"bold"}},[t._v("(未监控)")]):t._e()]),t._v(" "),a("span",[t._v("响应时间:")]),a("span",{staticStyle:{"font-weight":"bold"}},[t._v(" "+t._s(Math.floor(e.monitorValue.avgResp))+" ms")]),a("br"),t._v(" "),a("span",[t._v("错误:")]),a("span",{staticStyle:{"font-weight":"bold"}},[t._v(t._s(e.monitorValue.faultCount))]),t._v(" / 天"),a("br"),t._v(" "),a("div",[t._v(t._s(e.ip))])]):t._e(),t._v(" "),"unstable"===e.monitorValue.value?a("a-card",{staticStyle:{background:"yellowgreen",color:"white","margin-top":"20px"},attrs:{bordered:!1,size:"small",hoverable:!0},on:{click:function(a){return t.selectCharts(e)}}},[a("div",[t._v(t._s(n+1)+"号机器\n "),"down"===e.monitorValue.value?a("span",{staticStyle:{color:"black","font-weight":"bold"}},[t._v("(已宕机)")]):t._e(),t._v(" "),"ok"===e.monitorValue.value?a("span",{staticStyle:{color:"black","font-weight":"bold"}},[t._v("(运行正常)")]):t._e(),t._v(" "),"unstable"===e.monitorValue.value?a("span",{staticStyle:{color:"black","font-weight":"bold"}},[t._v("(不稳定)")]):t._e(),t._v(" "),"NA"===e.monitorValue.value?a("span",{staticStyle:{color:"black","font-weight":"bold"}},[t._v("(未监控)")]):t._e()]),t._v(" "),a("span",[t._v("响应时间:")]),a("span",{staticStyle:{"font-weight":"bold"}},[t._v(" "+t._s(Math.floor(e.monitorValue.avgResp))+" ms")]),a("br"),t._v(" "),a("span",[t._v("错误:")]),a("span",{staticStyle:{"font-weight":"bold"}},[t._v(t._s(e.monitorValue.faultCount))]),t._v(" / 天"),a("br"),t._v(" "),a("div",[t._v(t._s(e.ip))])]):t._e(),t._v(" "),"NA"===e.monitorValue.value?a("a-card",{staticStyle:{background:"gray",color:"white","margin-top":"20px"},attrs:{bordered:!1,size:"small",hoverable:!0},on:{click:function(a){return t.selectCharts(e)}}},[a("div",[t._v(t._s(n+1)+"号机器\n "),"down"===e.monitorValue.value?a("span",{staticStyle:{color:"black","font-weight":"bold"}},[t._v("(已宕机)")]):t._e(),t._v(" "),"ok"===e.monitorValue.value?a("span",{staticStyle:{color:"black","font-weight":"bold"}},[t._v("(运行正常)")]):t._e(),t._v(" "),"unstable"===e.monitorValue.value?a("span",{staticStyle:{color:"black","font-weight":"bold"}},[t._v("(不稳定)")]):t._e(),t._v(" "),"NA"===e.monitorValue.value?a("span",{staticStyle:{color:"black","font-weight":"bold"}},[t._v("(未监控)")]):t._e()]),t._v(" "),a("span",[t._v("响应时间:")]),a("span",{staticStyle:{"font-weight":"bold"}},[t._v(" "+t._s(Math.floor(e.monitorValue.avgResp))+" ms")]),a("br"),t._v(" "),a("span",[t._v("错误:")]),a("span",{staticStyle:{"font-weight":"bold"}},[t._v(t._s(e.monitorValue.faultCount))]),t._v(" / 天"),a("br"),t._v(" "),a("div",[t._v(t._s(e.ip))])]):t._e()],1)}),1)],1)],1)],1),t._v(" "),t.showFlag?a("div",{staticStyle:{"background-color":"white",padding:"30px",margin:"30px",width:"100%",height:"600px"}},[a("div",{staticStyle:{"font-weight":"bold","font-size":"22px"}},[t._v("错误统计")]),t._v(" "),a("div",{staticStyle:{"font-weight":"bold","font-size":"20px"}},[t._v("("+t._s(t.selectOne.name)+":"+t._s(t.selectIp)+")")]),t._v(" "),a("div",{staticStyle:{float:"right","margin-top":"20px","margin-right":"20%"}},[a("a-radio-group",{attrs:{"default-value":"one","button-style":"solid",size:"large"},on:{change:t.changeEcharts},model:{value:t.timeFlag,callback:function(e){t.timeFlag=e},expression:"timeFlag"}},[a("a-radio-button",{attrs:{value:"one"}},[t._v("\n 1分钟\n ")]),t._v(" "),a("a-radio-button",{attrs:{value:"ten"}},[t._v("\n 10分钟\n ")]),t._v(" "),a("a-radio-button",{attrs:{value:"thirty"}},[t._v("\n 30分钟\n ")]),t._v(" "),a("a-radio-button",{attrs:{value:"hour"}},[t._v("\n 一小时\n ")])],1)],1),t._v(" "),a("div",{staticStyle:{width:"90%",height:"400px","margin-top":"120px"},attrs:{id:"chartLineBox"}})]):t._e()],1)},staticRenderFns:[]};var j=a("VU/8")(S,x,!1,function(t){a("o5l7")},"data-v-2d0e8e76",null).exports,B=[{title:"IP",dataIndex:"ip",key:"ip"},{title:"端口号",dataIndex:"port",key:"port"},{title:"服务名称",dataIndex:"clusterName",slots:{title:"clusterName"},scopedSlots:{customRender:"clusterName"}},{title:"告警时间",dataIndex:"alatime",slots:{title:"alatime"},scopedSlots:{customRender:"alatime"}},{title:"告警等级",dataIndex:"alarmLevel",slots:{title:"alarmLevel"},scopedSlots:{customRender:"alarmLevel"}},{title:"告警信息",dataIndex:"alarmMessage",slots:{title:"alarmMessage"},scopedSlots:{customRender:"alarmMessage"}}],N=[{title:"IP",dataIndex:"ip",key:"ip"},{title:"端口号",dataIndex:"port",key:"port"},{title:"服务名称",dataIndex:"clusterName",slots:{title:"clusterName"},scopedSlots:{customRender:"clusterName"}},{title:"告警时间",dataIndex:"alatime",slots:{title:"alatime"},scopedSlots:{customRender:"alatime"}},{title:"告警信息",dataIndex:"alarmMessage",slots:{title:"alarmMessage"},scopedSlots:{customRender:"alarmMessage"}},{title:"恢复时间",dataIndex:"rectime",slots:{title:"rectime"},scopedSlots:{customRender:"rectime"}}],C={name:"warningHistory",data:function(){return{columns:N,columns1:B,pageSizeOptions:["5","10","20","30","40","50"],alarmlogList:[],alarmList:[],alarmlogListTotal:0,pageNum:1,pageSize:5,ip:"",start:"",end:"",username:localStorage.getItem("userInfo")}},methods:{getAlarmLog:function(){var t,e=this,a={pageNum:this.pageNum,pageSize:this.pageSize,ip:this.ip,start:this.start,end:this.end};(t=a,f({url:p+"rest/rel/searchLog",method:"post",data:t,headers:{token:localStorage.getItem("token")}})).then(function(t){"502"===t.data.code?(e.$message.error("登录超时,请重新登录"),e.$router.push("/login"),localStorage.clear()):200===t.status?(e.alarmlogList=t.data.log,e.alarmlogListTotal=t.data.logSize):e.$message.error("服务器异常,请重试")}).catch(function(t){e.$message.error("系统异常")})},alarmInformationselect:function(){var t=this;f({url:p+"rest/rel/getAlarmMsg ",method:"post",headers:{"Content-Type":"application/json",token:localStorage.getItem("token")}}).then(function(e){console.log(e.data.alarmMsg),t.alarmList=e.data.alarmMsg})},onChange:function(t,e){this.start=e[0],this.end=e[1]},buttonServer:function(){this.getAlarmLog()},logout:function(){this.$confirm({title:"是否确定退出系统?",okText:"确定",okType:"danger",cancelText:"取消",onOk:this.confirmLogout})},confirmLogout:function(){var t=this;return u()(l.a.mark(function e(){return l.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:t.$router.push("/login"),localStorage.clear(),t.$message.success("注销成功");case 3:case"end":return e.stop()}},e,t)}))()},onShowSizeChange:function(t,e){this.pageSize=e,this.pageNum=1,this.getAlarmLog()},changePage:function(t,e){this.pageSize=e,this.pageNum=t,this.getAlarmLog()}},mounted:function(){this.alarmInformationselect(),this.getAlarmLog()}},I={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("a-layout",[a("div",{staticStyle:{"background-color":"white",margin:"20px","margin-top":"80px"}},[a("div",{staticStyle:{"margin-left":"20px",padding:"20px"}},[a("h3",{staticStyle:{"font-weight":"bold"}},[t._v("告警信息")]),t._v(" "),a("a-table",{staticStyle:{"margin-top":"20px"},attrs:{columns:t.columns1,"data-source":t.alarmList,bordered:""},scopedSlots:t._u([{key:"alarmLevel",fn:function(e){return a("span",{},["unstable"===e?a("span",[a("a-badge",{attrs:{status:"warning"}}),t._v("不稳定")],1):t._e(),t._v(" "),"OK"===e?a("span",[a("a-badge",{attrs:{status:"success"}}),t._v("健康")],1):t._e(),t._v(" "),"down"===e?a("span",[a("a-badge",{attrs:{status:"error"}}),t._v("宕机")],1):t._e()])}}])})],1)]),t._v(" "),a("a-layout-header",{staticStyle:{background:"#fff",padding:"0 20px","border-bottom":"1px solid gainsboro",position:"fixed","z-index":"99",width:"calc(100% - 200px)"},style:{width:t.collapsed?"calc(100% - 80px)":"calc(100% - 200px)"}},[a("div",[a("h3",{staticStyle:{display:"inline",float:"right","margin-right":"30px"}},[a("span",[t._v("当前用户:")]),t._v(" "),a("a-menu",{staticStyle:{float:"right"},attrs:{mode:"horizontal"}},[a("a-sub-menu",{staticStyle:{height:"64px","line-height":"65px"}},[a("span",{staticClass:"submenu-title-wrapper",attrs:{slot:"title"},slot:"title"},[a("a-icon",{attrs:{type:"user"}}),t._v(t._s(t.username)+"\n     ")],1),t._v(" "),a("a-menu-item",{key:"setting:3",on:{click:t.logout}},[t._v("\n       退出登录\n     ")])],1)],1)],1)])]),t._v(" "),a("div",{staticStyle:{"background-color":"white",margin:"20px"}},[a("div",{staticStyle:{"margin-left":"20px",padding:"20px"}},[a("h3",{staticStyle:{"font-weight":"bold"}},[t._v("告警记录")]),t._v(" "),a("div",[a("label",{staticStyle:{"font-size":"16px","font-weight":"bold"}},[t._v("IP:")]),a("a-input",{staticStyle:{width:"20%"},attrs:{placeholder:"请输入IP地址"},model:{value:t.ip,callback:function(e){t.ip=e},expression:"ip"}}),t._v(" "),a("label",{staticStyle:{"font-size":"16px","font-weight":"bold","padding-left":"50px"}},[t._v("时间:")]),a("a-range-picker",{attrs:{"show-time":""},on:{change:t.onChange}}),t._v(" "),a("a-button",{staticStyle:{"margin-left":"50px"},on:{click:t.buttonServer}},[t._v("搜索")])],1),t._v(" "),a("a-table",{staticStyle:{"margin-top":"20px"},attrs:{columns:t.columns,"data-source":t.alarmlogList,pagination:!1,bordered:""},scopedSlots:t._u([{key:"alarmLevel",fn:function(e){return a("span",{},["unstable"===e?a("span",[a("a-badge",{attrs:{status:"warning"}}),t._v("不稳定")],1):t._e(),t._v(" "),"OK"===e?a("span",[a("a-badge",{attrs:{status:"success"}}),t._v("健康")],1):t._e(),t._v(" "),"down"===e?a("span",[a("a-badge",{attrs:{status:"error"}}),t._v("宕机")],1):t._e()])}},{key:"rectime",fn:function(e){return a("span",{},[""===e?a("span",[t._v("————")]):t._e(),t._v(" "),""!==e?a("span",[t._v(t._s(e))]):t._e()])}}])}),t._v(" "),t.alarmlogListTotal>0?a("a-pagination",{staticStyle:{float:"right",margin:"20px","padding-top":"30px"},attrs:{"page-size-options":t.pageSizeOptions,"show-size-changer":"","page-size":t.pageSize,total:t.alarmlogListTotal},on:{showSizeChange:t.onShowSizeChange,change:t.changePage},model:{value:t.pageNum,callback:function(e){t.pageNum=e},expression:"pageNum"}}):t._e()],1)])],1)},staticRenderFns:[]};var z=a("VU/8")(C,I,!1,function(t){a("zZRV")},"data-v-8578baea",null).exports,O=a("PFUz"),V=a.n(O),M=a("Va0d"),F=a.n(M),R=(a("clrZ"),a("JQpZ")),L=a.n(R),E=a("aH1t"),Q=a.n(E),Y=a("CMRB"),U=a.n(Y),T=a("y42a"),P=a.n(T),D=a("uSEa"),W=a.n(D),G=a("yevO"),K=a.n(G),Z=document.documentElement.clientHeight-64,X={name:"topologicalMap",data:function(){return{myDiagram:null,timer:"",yearVistis:"",monthVistis:"",dayVistis:"",weekVisits:"",avgDailyVisits:"",minHeight:Z}},methods:{infoStringNode:function(t){var e=t.part;e instanceof V.a.Adornment&&(e=e.adornedPart);var a="";return e instanceof V.a.Link?a="":e instanceof V.a.Node&&(a=(void 0!=e.data.description&&e.data.description.length,e.data.description)),a},geoFunc:function(t){var e=icons[t];return"string"==typeof e&&(e=icons[t]=V.a.Geometry.parse(e,!0)),e},initLinkDiagram:function(){this.myDiagram=null,window.goSamples&&goSamples();var t=V.a.GraphObject.make;this.myDiagram=t(V.a.Diagram,"myDiagramDiv",{maxSelectionCount:1,"toolManager.hoverDelay":10,initialAutoScale:V.a.Diagram.Uniform}),this.myDiagram.nodeTemplateMap.add("sql",t(V.a.Node,"Spot",{selectionObjectName:"BODY",resizable:!0,resizeObjectName:"BODY",locationObjectName:"main",locationSpot:V.a.Spot.Center},new V.a.Binding("location","pos",V.a.Point.parse).makeTwoWay(V.a.Point.stringify),t(V.a.Panel,"Vertical",t(V.a.Picture,{source:F.a,name:"BODY",width:40,height:40,margin:5,portId:"",cursor:"pointer"}),new V.a.Binding("fill","color"),new V.a.Binding("geometry","icon",this.geoFunc)),t(V.a.TextBlock,{font:"18px Lato, sans-serif",textAlign:"center",stroke:"#ffffff",margin:5,maxSize:new V.a.Size(100,NaN),alignment:V.a.Spot.TopCenter,alignmentFocus:V.a.Spot.BottomCenter},new V.a.Binding("text").makeTwoWay()))),this.myDiagram.nodeTemplateMap.add("transparent",t(V.a.Node,"Spot",{selectionObjectName:"BODY",resizable:!0,resizeObjectName:"BODY",locationObjectName:"main",locationSpot:V.a.Spot.Center},new V.a.Binding("location","pos",V.a.Point.parse).makeTwoWay(V.a.Point.stringify),t(V.a.Panel,"Vertical",t(V.a.Picture,{source:K.a,name:"BODY",width:40,height:40,margin:5,portId:"",cursor:"pointer"}),new V.a.Binding("fill","color"),new V.a.Binding("geometry","icon",this.geoFunc)),t(V.a.TextBlock,{font:"18px Lato, sans-serif",textAlign:"center",stroke:"#ffffff",margin:5,maxSize:new V.a.Size(100,NaN),alignment:V.a.Spot.TopCenter,alignmentFocus:V.a.Spot.BottomCenter},new V.a.Binding("text").makeTwoWay()))),this.myDiagram.nodeTemplateMap.add("machine",t(V.a.Node,"Spot",{selectionObjectName:"BODY",resizable:!0,resizeObjectName:"BODY",locationObjectName:"main",locationSpot:V.a.Spot.Center},new V.a.Binding("location","pos",V.a.Point.parse).makeTwoWay(V.a.Point.stringify),t(V.a.Panel,"Vertical",t(V.a.Picture,{source:P.a,name:"BODY",width:40,height:40,margin:5,portId:"",cursor:"pointer"}),new V.a.Binding("fill","color"),new V.a.Binding("geometry","icon",this.geoFunc)),t(V.a.TextBlock,{font:"18px Lato, sans-serif",textAlign:"center",stroke:"#ffffff",margin:5,maxSize:new V.a.Size(100,NaN),alignment:V.a.Spot.TopCenter,alignmentFocus:V.a.Spot.BottomCenter},new V.a.Binding("text").makeTwoWay()))),this.myDiagram.nodeTemplateMap.add("customer",t(V.a.Node,"Spot",{selectionObjectName:"BODY",resizable:!0,resizeObjectName:"BODY",locationObjectName:"main",locationSpot:V.a.Spot.Center},new V.a.Binding("location","pos",V.a.Point.parse).makeTwoWay(V.a.Point.stringify),t(V.a.Panel,"Vertical",t(V.a.Picture,{source:W.a,name:"BODY",width:40,height:40,margin:5,portId:"",cursor:"pointer"}),new V.a.Binding("fill","color"),new V.a.Binding("geometry","icon",this.geoFunc)),t(V.a.TextBlock,{font:"18px Lato, sans-serif",textAlign:"center",stroke:"#ffffff",margin:5,maxSize:new V.a.Size(100,NaN),alignment:V.a.Spot.TopCenter,alignmentFocus:V.a.Spot.BottomCenter},new V.a.Binding("text").makeTwoWay()))),this.myDiagram.nodeTemplateMap.add("meaningless",t(V.a.Node,"Spot",{selectionObjectName:"BODY",resizable:!0,selectable:!1,resizeObjectName:"BODY",locationObjectName:"main",locationSpot:V.a.Spot.Center},new V.a.Binding("location","pos",V.a.Point.parse).makeTwoWay(V.a.Point.stringify),t(V.a.Panel,"Vertical",t(V.a.Picture,{source:U.a,name:"BODY",width:40,height:40,margin:5,portId:"",cursor:"pointer"}),new V.a.Binding("fill","color"),new V.a.Binding("geometry","icon",this.geoFunc)))),this.myDiagram.nodeTemplateMap.add("clusterNormal",t(V.a.Node,"Spot",{selectionObjectName:"BODY",resizable:!0,resizeObjectName:"BODY",locationObjectName:"main",locationSpot:V.a.Spot.Center,toolTip:t("ToolTip",t(V.a.TextBlock,{margin:10,width:140},new V.a.Binding("text","",this.infoStringNode).ofObject()))},new V.a.Binding("location","pos",V.a.Point.parse).makeTwoWay(V.a.Point.stringify),t(V.a.Panel,"Vertical",t(V.a.Picture,{source:L.a,name:"BODY",width:40,height:40,margin:5,portId:"",cursor:"pointer"}),new V.a.Binding("fill","color"),new V.a.Binding("geometry","icon",this.geoFunc)),t(V.a.TextBlock,{font:"18px Lato, sans-serif",textAlign:"center",stroke:"#ffffff",margin:5,maxSize:new V.a.Size(100,NaN),alignment:V.a.Spot.TopCenter,alignmentFocus:V.a.Spot.BottomCenter},new V.a.Binding("text").makeTwoWay()))),this.myDiagram.nodeTemplateMap.add("clusterNormal",t(V.a.Node,"Spot",{selectionObjectName:"BODY",resizable:!0,resizeObjectName:"BODY",locationObjectName:"main",locationSpot:V.a.Spot.Center,toolTip:t("ToolTip",t(V.a.TextBlock,{margin:10,width:140},new V.a.Binding("text","",this.infoStringNode).ofObject()))},new V.a.Binding("location","pos",V.a.Point.parse).makeTwoWay(V.a.Point.stringify),t(V.a.Panel,"Vertical",t(V.a.Picture,{source:L.a,name:"BODY",width:40,height:40,margin:5,portId:"",cursor:"pointer"}),new V.a.Binding("fill","color"),new V.a.Binding("geometry","icon",this.geoFunc)),t(V.a.TextBlock,{font:"18px Lato, sans-serif",textAlign:"center",stroke:"#ffffff",margin:5,maxSize:new V.a.Size(100,NaN),alignment:V.a.Spot.TopCenter,alignmentFocus:V.a.Spot.BottomCenter},new V.a.Binding("text").makeTwoWay()))),this.myDiagram.nodeTemplateMap.add("clusterFault",t(V.a.Node,"Spot",{selectionObjectName:"BODY",resizable:!0,resizeObjectName:"BODY",locationObjectName:"main",locationSpot:V.a.Spot.Center,toolTip:t("ToolTip",t(V.a.TextBlock,{margin:10,width:140},new V.a.Binding("text","",this.infoStringNode).ofObject()))},new V.a.Binding("location","pos",V.a.Point.parse).makeTwoWay(V.a.Point.stringify),t(V.a.Panel,"Vertical",t(V.a.Picture,{source:Q.a,name:"BODY",width:40,height:40,margin:5,portId:"",cursor:"pointer"}),new V.a.Binding("fill","color"),new V.a.Binding("geometry","icon",this.geoFunc)),t(V.a.TextBlock,{font:"18px Lato, sans-serif",textAlign:"center",stroke:"#ffffff",margin:5,maxSize:new V.a.Size(100,NaN),alignment:V.a.Spot.TopCenter,alignmentFocus:V.a.Spot.BottomCenter},new V.a.Binding("text").makeTwoWay()))),this.myDiagram.linkTemplate=t(V.a.Link,{curve:V.a.Link.Bezier,adjusting:V.a.Link.Stretch,reshapable:!0,relinkableFrom:!0,relinkableTo:!0,toShortLength:3},new V.a.Binding("points").makeTwoWay(),t(V.a.Shape,{isPanelMain:!0,stroke:"#41BFEC",strokeWidth:6},new V.a.Binding("stroke","color")),t(V.a.Shape,{isPanelMain:!0,stroke:"white",strokeWidth:2,name:"PIPE",strokeDashArray:[20,40]}))},saveWeizhi:function(){var t=this.myDiagram.model.toJson();f({url:p+"rest/rel/saveTopology",method:"post",data:t,headers:{"Content-Type":"application/json",token:localStorage.getItem("token")}}),console.log(t)},selectTuoPu:function(){var t=this;f({url:p+"rest/rel/selectTopology",method:"get",headers:{token:localStorage.getItem("token")}}).then(function(e){console.log(e),t.myDiagram.model=V.a.Model.fromJson(e.data)})},getStatisticsList:function(){var t=this;f({url:p+"rest/rel/getStatistics",method:"get",headers:{"Content-Type":"application/json",token:localStorage.getItem("token")}}).then(function(e){t.yearVistis=e.data.data.yearVistis,t.monthVistis=e.data.data.monthVistis,t.weekVisits=e.data.data.weekVisits,t.dayVistis=e.data.data.dayVistis,t.avgDailyVisits=e.data.data.avgDailyVisits})}},mounted:function(){this.initLinkDiagram(),this.selectTuoPu(),this.getStatisticsList(),this.timer=setInterval(this.getStatisticsList,6e4)},beforeDestroy:function(){clearInterval(this.timer)}},q={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"baks"},[a("div",{staticStyle:{color:"#ffffff","font-size":"18px",width:"100%",height:"120px",background:"rgb(0,51,102)"}},[a("div",{staticStyle:{"text-align":"center","margin-top":"12px","font-family":"微软雅黑","font-size":"40px"}},[t._v("1比14亿全国人像比对服务平台可靠性监测")]),t._v(" "),a("div",{staticStyle:{width:"100%","text-align":"center","font-family":"微软雅黑","font-size":"28px"}},[a("span",[t._v("建党100周年暨暑期安保技术保障")]),t._v(" "),a("a",{staticStyle:{cursor:"pointer",right:"10px",position:"absolute"},on:{click:function(){return t.$router.push({path:"/equipmentMonitor"})}}},[a("a-icon",{attrs:{type:"home"}})],1)])]),t._v(" "),t._m(0)])},staticRenderFns:[function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticStyle:{position:"relative",height:"100%",top:"10px"}},[a("div",{staticStyle:{width:"100%",height:"99%"},attrs:{id:"myDiagramDiv"}}),t._v(" "),a("div",{staticStyle:{width:"35%",height:"80%",border:"1px dotted green",position:"absolute",top:"0px",left:"2%","text-align":"left","font-size":"28px","border-radius":"20px",background:"rgb(3,26,141)",color:"#ffffff","font-weight":"bold","padding-left":"10px"}},[t._v("\n 接入区\n "),a("div",{staticClass:"top1"},[t._v("权限管理")]),t._v(" "),a("div",{staticClass:"left1"},[t._v("\n 接入管理\n "),a("div",{staticClass:"a1"})])]),t._v(" "),a("div",{staticStyle:{width:"20%",height:"80%",border:"1px dotted green",position:"absolute",top:"0px",left:"46%","text-align":"left","font-size":"28px","border-radius":"20px",background:"rgb(3,26,141)",color:"#ffffff","font-weight":"bold","padding-left":"10px"}},[t._v("核心业务区")]),t._v(" "),a("div",{staticStyle:{width:"20%",height:"80%",border:"1px dotted green",position:"absolute",top:"0px",left:"77.4%","text-align":"left","font-size":"28px","border-radius":"20px",background:"rgb(3,26,141)",color:"#ffffff","font-weight":"bold","padding-left":"10px"}},[t._v("算法区")]),t._v(" "),a("div",{staticClass:"bottom1"},[t._v("\n 日志汇聚服务\n ")])])}]};var J=a("VU/8")(X,q,!1,function(t){a("2tje")},null,null).exports;a("VU/8")(null,null,!1,null,null,null).exports;n.a.use(o.a);var H=new o.a({routes:[{path:"/",redirect:"/home"},{path:"/topologicalMap",name:"topologicalMap",component:J},{path:"/home",name:"home",component:k,redirect:"/topologicalMap",children:[{path:"/equipmentMonitor",name:"equipmentMonitor",component:j},{path:"/warningHistory",name:"warningHistory",component:z}]}]}),_=a("2vhu");a("hZ/y");n.a.use(_.a),n.a.use(h.a),n.a.config.productionTip=!1,new n.a({el:"#app",router:H,components:{App:s},template:"<App/>"})},Va0d:function(t,e){t.exports="data:image/jpeg;base64,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"},XN5v:function(t,e){t.exports={_args:[["ant-design-vue@1.6.5","D:\\ideaworkspace\\reliabilityMonitoring"]],_from:"ant-design-vue@1.6.5",_id:"ant-design-vue@1.6.5",_inBundle:!1,_integrity:"sha1-gvaYRtkhwiDQS7nvmmxAYF4Ubmw=",_location:"/ant-design-vue",_phantomChildren:{},_requested:{type:"version",registry:!0,raw:"ant-design-vue@1.6.5",name:"ant-design-vue",escapedName:"ant-design-vue",rawSpec:"1.6.5",saveSpec:null,fetchSpec:"1.6.5"},_requiredBy:["/"],_resolved:"https://registry.npm.taobao.org/ant-design-vue/download/ant-design-vue-1.6.5.tgz?cache=0&sync_timestamp=1600955891329&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fant-design-vue%2Fdownload%2Fant-design-vue-1.6.5.tgz",_spec:"1.6.5",_where:"D:\\ideaworkspace\\reliabilityMonitoring",bugs:{url:"https://github.com/vueComponent/ant-design-vue/issues"},dependencies:{"@ant-design/icons":"^2.1.1","@ant-design/icons-vue":"^2.0.0","@simonwep/pickr":"~1.7.0","add-dom-event-listener":"^1.0.2","array-tree-filter":"^2.1.0","async-validator":"^3.0.3","babel-helper-vue-jsx-merge-props":"^2.0.3","babel-runtime":"6.x",classnames:"^2.2.5","component-classes":"^1.2.6","dom-align":"^1.10.4","dom-closest":"^0.2.0","dom-scroll-into-view":"^2.0.0","enquire.js":"^2.1.6",intersperse:"^1.0.0","is-mobile":"^2.2.1","is-negative-zero":"^2.0.0",ismobilejs:"^1.0.0",json2mq:"^0.2.0",lodash:"^4.17.5",moment:"^2.21.0","mutationobserver-shim":"^0.3.2","node-emoji":"^1.10.0","omit.js":"^1.0.0",raf:"^3.4.0","resize-observer-polyfill":"^1.5.1","shallow-equal":"^1.0.0",shallowequal:"^1.0.2","vue-ref":"^2.0.0",warning:"^4.0.0"},description:"An enterprise-class UI design language and Vue-based implementation",devDependencies:{"@commitlint/cli":"^8.0.0","@commitlint/config-conventional":"^8.0.0","@octokit/rest":"^16.0.0","@vue/cli-plugin-eslint":"^4.0.0","@vue/server-test-utils":"1.0.0-beta.16","@vue/test-utils":"1.0.0-beta.16",acorn:"^7.0.0",autoprefixer:"^9.6.0",axios:"^0.19.0","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-eslint":"^10.0.1","babel-helper-vue-jsx-merge-props":"^2.0.3","babel-jest":"^23.6.0","babel-loader":"^7.1.2","babel-plugin-import":"^1.1.1","babel-plugin-inline-import-data-uri":"^1.0.1","babel-plugin-istanbul":"^6.0.0","babel-plugin-syntax-dynamic-import":"^6.18.0","babel-plugin-syntax-jsx":"^6.18.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-decorators":"^6.24.1","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-plugin-transform-es3-member-expression-literals":"^6.22.0","babel-plugin-transform-es3-property-literals":"^6.22.0","babel-plugin-transform-object-assign":"^6.22.0","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"~6.23.0","babel-plugin-transform-vue-jsx":"^3.7.0","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","case-sensitive-paths-webpack-plugin":"^2.1.2",chalk:"^3.0.0",cheerio:"^1.0.0-rc.2",codecov:"^3.0.0",colorful:"^2.1.0",commander:"^4.0.0","compare-versions":"^3.3.0","cross-env":"^7.0.0","css-loader":"^3.0.0","deep-assign":"^2.0.0","enquire-js":"^0.2.1",eslint:"^6.8.0","eslint-config-prettier":"^6.10.1","eslint-plugin-html":"^6.0.0","eslint-plugin-markdown":"^2.0.0-alpha.0","eslint-plugin-vue":"^6.2.2","fetch-jsonp":"^1.1.3","fs-extra":"^8.0.0",glob:"^7.1.2",gulp:"^4.0.1","gulp-babel":"^7.0.0","gulp-strip-code":"^0.1.4","html-webpack-plugin":"^3.2.0",husky:"^4.0.0","istanbul-instrumenter-loader":"^3.0.0",jest:"^24.0.0","jest-serializer-vue":"^2.0.0","jest-transform-stub":"^2.0.0","js-base64":"^3.0.0","json-templater":"^1.2.0",jsonp:"^0.2.1",less:"^3.9.0","less-loader":"^6.0.0","less-plugin-npm-import":"^2.1.0","lint-staged":"^10.0.0",marked:"0.3.18",merge2:"^1.2.1","mini-css-extract-plugin":"^0.10.0",minimist:"^1.2.0",mkdirp:"^0.5.1",mockdate:"^2.0.2",nprogress:"^0.2.0","optimize-css-assets-webpack-plugin":"^5.0.1",postcss:"^7.0.6","postcss-loader":"^3.0.0",prettier:"^1.18.2","pretty-quick":"^2.0.0",querystring:"^0.2.0","raw-loader":"^4.0.0",reqwest:"^2.0.5",rimraf:"^3.0.0","rucksack-css":"^1.0.2","selenium-server":"^3.0.1",semver:"^7.0.0","style-loader":"^1.0.0",stylelint:"^13.0.0","stylelint-config-prettier":"^8.0.0","stylelint-config-standard":"^19.0.0","terser-webpack-plugin":"^3.0.3",through2:"^3.0.0","url-loader":"^3.0.0",vue:"^2.6.11","vue-antd-md-loader":"^1.1.0","vue-clipboard2":"0.3.1","vue-draggable-resizable":"^2.1.0","vue-eslint-parser":"^7.0.0","vue-i18n":"^8.3.2","vue-infinite-scroll":"^2.0.2","vue-jest":"^2.5.0","vue-loader":"^15.6.2","vue-router":"^3.0.1","vue-server-renderer":"^2.6.11","vue-template-compiler":"^2.6.11","vue-virtual-scroller":"^1.0.0",vuex:"^3.1.0",webpack:"^4.28.4","webpack-cli":"^3.2.1","webpack-dev-server":"^3.1.14","webpack-merge":"^4.1.1",webpackbar:"^4.0.0","xhr-mock":"^2.5.1"},files:["dist","lib","es","types","scripts"],homepage:"https://www.antdv.com/",keywords:["ant","design","antd","vue","vueComponent","component","components","ui","framework","frontend"],license:"MIT",main:"lib/index.js",module:"es/index.js",name:"ant-design-vue",peerDependencies:{vue:">=2.6.0","vue-template-compiler":">=2.6.0"},repository:{type:"git",url:"git+https://github.com/vueComponent/ant-design-vue.git"},scripts:{codecov:"codecov",compile:"node antd-tools/cli/run.js compile",dev:"webpack-dev-server",dist:"node antd-tools/cli/run.js dist",lint:"eslint -c ./.eslintrc --fix --ext .jsx,.js,.vue ./components","lint:docs":"eslint -c ./.eslintrc --fix --ext .jsx,.js,.vue,.md ./antdv-demo/docs/**/demo/**","lint:site":"eslint -c ./.eslintrc --fix --ext .jsx,.js,.vue ./antdv-demo","lint:style":'stylelint "{site,components}/**/*.less" --syntax less',postinstall:'node scripts/postinstall || echo "ignore"',"pre-publish":"node ./scripts/prepub",prepublish:"node antd-tools/cli/run.js guard",prettier:"prettier -c --write '**/*'","pretty-quick":"pretty-quick",pub:"node antd-tools/cli/run.js pub","pub-with-ci":"node antd-tools/cli/run.js pub-with-ci",start:"cross-env NODE_ENV=development webpack-dev-server --config webpack.config.js",test:"cross-env NODE_ENV=test jest --config .jest.js"},sideEffects:["site/*","components/style.js","components/**/style/*","*.vue","*.md","dist/*","es/**/style/*","lib/**/style/*","*.less"],title:"Ant Design Vue",typings:"types/index.d.ts",version:"1.6.5"}},aH1t:function(t,e){t.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAACXUlEQVRoQ+1ZvW4TQRD+ZhNfekoCZykS+EyAByAFoUZENKlIEDUSvELCK4BEi8RPRYEEEq3dkAeIBHaEQMqapKTP2fGgPXzhSPZ8G2vjvVN2y725ne+bn525OULFF1UcPzwB1x4c64GdsLYO0IJbkPyzIftv8jDkEuiGwR6Ai27BH2nfj2Q8r8OiJdAJa88J9KQk4BMYDH7RlP2nxzFpCXQv11ogWiZgsyHjZy6J7ITBBgObYG5Hvf4dT2Da3rDmgc6l2WUSoqUIpKGl2xtHMCs/1hCZcPEE0iROrEe0kXiAqK32dXuFHhidURSKacJa80CRwrN6fk4JhMFHAPcAvOfh8OVZWdfkXBLiMYBVAJ8iGa8Y1QHVAzHotYmCackQ+KGuJ8rvhepzLfDwJkAXpgVSr4d/g8R2tHtwogqPrvSTr3Xqs7eIxRe3wP/XzjRcau4OtoxCqBsGbwE8IOCrygPHRFYZWATwLpLxmhkB38zZ85m1OqCqbhZW89egrdsrqsSm1NT5StYqAd/MZTpaJ92oEOJ2qjht5o7vFYVQVn6cbNpEWgsh09i1LXdOCYwKWWJN5uQ2cLaI0tvPvJB9D4Nrh3+rcGnWDLB4RcbfjCrx6P59xcCjcjDgrUj2l3RYtN3oUeKUA32CIm9GpR9s1YMPYNwv2QfN50jGd41CyE/mLIaetTpQ+bGKn8wBcD5arPT3gMW8PNVR1pL4VFotCk9EoPKVWBmw+2+8aNGekx2lxjsNGV837oVSwc783FXQodM/lQOa6d3oHfzIo+7/1E8WFPbe8h6wZ8vJTvoD/HNSTxnHS4wAAAAASUVORK5CYII="},clrZ:function(t,e){t.exports="data:image/png;base64,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"},"hZ/y":function(t,e){},o5l7:function(t,e){},uSEa:function(t,e){t.exports="data:image/png;base64,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"},uslO:function(t,e,a){var n={"./af":"3CJN","./af.js":"3CJN","./ar":"3MVc","./ar-dz":"tkWw","./ar-dz.js":"tkWw","./ar-kw":"j8cJ","./ar-kw.js":"j8cJ","./ar-ly":"wPpW","./ar-ly.js":"wPpW","./ar-ma":"dURR","./ar-ma.js":"dURR","./ar-sa":"7OnE","./ar-sa.js":"7OnE","./ar-tn":"BEem","./ar-tn.js":"BEem","./ar.js":"3MVc","./az":"eHwN","./az.js":"eHwN","./be":"3hfc","./be.js":"3hfc","./bg":"lOED","./bg.js":"lOED","./bm":"hng5","./bm.js":"hng5","./bn":"aM0x","./bn-bd":"1C9R","./bn-bd.js":"1C9R","./bn.js":"aM0x","./bo":"w2Hs","./bo.js":"w2Hs","./br":"OSsP","./br.js":"OSsP","./bs":"aqvp","./bs.js":"aqvp","./ca":"wIgY","./ca.js":"wIgY","./cs":"ssxj","./cs.js":"ssxj","./cv":"N3vo","./cv.js":"N3vo","./cy":"ZFGz","./cy.js":"ZFGz","./da":"YBA/","./da.js":"YBA/","./de":"DOkx","./de-at":"8v14","./de-at.js":"8v14","./de-ch":"Frex","./de-ch.js":"Frex","./de.js":"DOkx","./dv":"rIuo","./dv.js":"rIuo","./el":"CFqe","./el.js":"CFqe","./en-au":"Sjoy","./en-au.js":"Sjoy","./en-ca":"Tqun","./en-ca.js":"Tqun","./en-gb":"hPuz","./en-gb.js":"hPuz","./en-ie":"ALEw","./en-ie.js":"ALEw","./en-il":"QZk1","./en-il.js":"QZk1","./en-in":"yJfC","./en-in.js":"yJfC","./en-nz":"dyB6","./en-nz.js":"dyB6","./en-sg":"NYST","./en-sg.js":"NYST","./eo":"Nd3h","./eo.js":"Nd3h","./es":"LT9G","./es-do":"7MHZ","./es-do.js":"7MHZ","./es-mx":"USNP","./es-mx.js":"USNP","./es-us":"INcR","./es-us.js":"INcR","./es.js":"LT9G","./et":"XlWM","./et.js":"XlWM","./eu":"sqLM","./eu.js":"sqLM","./fa":"2pmY","./fa.js":"2pmY","./fi":"nS2h","./fi.js":"nS2h","./fil":"rMbQ","./fil.js":"rMbQ","./fo":"OVPi","./fo.js":"OVPi","./fr":"tzHd","./fr-ca":"bXQP","./fr-ca.js":"bXQP","./fr-ch":"VK9h","./fr-ch.js":"VK9h","./fr.js":"tzHd","./fy":"g7KF","./fy.js":"g7KF","./ga":"U5Iz","./ga.js":"U5Iz","./gd":"nLOz","./gd.js":"nLOz","./gl":"FuaP","./gl.js":"FuaP","./gom-deva":"VGQH","./gom-deva.js":"VGQH","./gom-latn":"+27R","./gom-latn.js":"+27R","./gu":"rtsW","./gu.js":"rtsW","./he":"Nzt2","./he.js":"Nzt2","./hi":"ETHv","./hi.js":"ETHv","./hr":"V4qH","./hr.js":"V4qH","./hu":"xne+","./hu.js":"xne+","./hy-am":"GrS7","./hy-am.js":"GrS7","./id":"yRTJ","./id.js":"yRTJ","./is":"upln","./is.js":"upln","./it":"FKXc","./it-ch":"/E8D","./it-ch.js":"/E8D","./it.js":"FKXc","./ja":"ORgI","./ja.js":"ORgI","./jv":"JwiF","./jv.js":"JwiF","./ka":"RnJI","./ka.js":"RnJI","./kk":"j+vx","./kk.js":"j+vx","./km":"5j66","./km.js":"5j66","./kn":"gEQe","./kn.js":"gEQe","./ko":"eBB/","./ko.js":"eBB/","./ku":"kI9l","./ku.js":"kI9l","./ky":"6cf8","./ky.js":"6cf8","./lb":"z3hR","./lb.js":"z3hR","./lo":"nE8X","./lo.js":"nE8X","./lt":"/6P1","./lt.js":"/6P1","./lv":"jxEH","./lv.js":"jxEH","./me":"svD2","./me.js":"svD2","./mi":"gEU3","./mi.js":"gEU3","./mk":"Ab7C","./mk.js":"Ab7C","./ml":"oo1B","./ml.js":"oo1B","./mn":"CqHt","./mn.js":"CqHt","./mr":"5vPg","./mr.js":"5vPg","./ms":"ooba","./ms-my":"G++c","./ms-my.js":"G++c","./ms.js":"ooba","./mt":"oCzW","./mt.js":"oCzW","./my":"F+2e","./my.js":"F+2e","./nb":"FlzV","./nb.js":"FlzV","./ne":"/mhn","./ne.js":"/mhn","./nl":"3K28","./nl-be":"Bp2f","./nl-be.js":"Bp2f","./nl.js":"3K28","./nn":"C7av","./nn.js":"C7av","./oc-lnc":"KOFO","./oc-lnc.js":"KOFO","./pa-in":"pfs9","./pa-in.js":"pfs9","./pl":"7LV+","./pl.js":"7LV+","./pt":"ZoSI","./pt-br":"AoDM","./pt-br.js":"AoDM","./pt.js":"ZoSI","./ro":"wT5f","./ro.js":"wT5f","./ru":"ulq9","./ru.js":"ulq9","./sd":"fW1y","./sd.js":"fW1y","./se":"5Omq","./se.js":"5Omq","./si":"Lgqo","./si.js":"Lgqo","./sk":"OUMt","./sk.js":"OUMt","./sl":"2s1U","./sl.js":"2s1U","./sq":"V0td","./sq.js":"V0td","./sr":"f4W3","./sr-cyrl":"c1x4","./sr-cyrl.js":"c1x4","./sr.js":"f4W3","./ss":"7Q8x","./ss.js":"7Q8x","./sv":"Fpqq","./sv.js":"Fpqq","./sw":"DSXN","./sw.js":"DSXN","./ta":"+7/x","./ta.js":"+7/x","./te":"Nlnz","./te.js":"Nlnz","./tet":"gUgh","./tet.js":"gUgh","./tg":"5SNd","./tg.js":"5SNd","./th":"XzD+","./th.js":"XzD+","./tk":"+WRH","./tk.js":"+WRH","./tl-ph":"3LKG","./tl-ph.js":"3LKG","./tlh":"m7yE","./tlh.js":"m7yE","./tr":"k+5o","./tr.js":"k+5o","./tzl":"iNtv","./tzl.js":"iNtv","./tzm":"FRPF","./tzm-latn":"krPU","./tzm-latn.js":"krPU","./tzm.js":"FRPF","./ug-cn":"To0v","./ug-cn.js":"To0v","./uk":"ntHu","./uk.js":"ntHu","./ur":"uSe8","./ur.js":"uSe8","./uz":"XU1s","./uz-latn":"/bsm","./uz-latn.js":"/bsm","./uz.js":"XU1s","./vi":"0X8Q","./vi.js":"0X8Q","./x-pseudo":"e/KL","./x-pseudo.js":"e/KL","./yo":"YXlc","./yo.js":"YXlc","./zh-cn":"Vz2w","./zh-cn.js":"Vz2w","./zh-hk":"ZUyn","./zh-hk.js":"ZUyn","./zh-mo":"+WA1","./zh-mo.js":"+WA1","./zh-tw":"BbgG","./zh-tw.js":"BbgG"};function i(t){return a(s(t))}function s(t){var e=n[t];if(!(e+1))throw new Error("Cannot find module '"+t+"'.");return e}i.keys=function(){return Object.keys(n)},i.resolve=s,t.exports=i,i.id="uslO"},uysQ:function(t,e){},y42a:function(t,e){t.exports="data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAAEYAAAA4CAYAAABABo41AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAKFSURBVGhD7Zq/SxxBFMen9K+w9B8QsRCxsLCwsLIQUQtRBDmIETQiUdBCAyIxQTksgoIYBX8c0ROOyKGiIKKFYBMsFCWIYCMhIIKM93VcdmZ25m7KZecVn+L2Ho+ZD7tvZt4uY5XdnDBgvEgUxAyscpZ7IFYuNTGjW5ydcmLzhsQY8VbM3j/Olv9w9usvZycv0f/xOJUU0zKlBsUFDF4fqwvT+5xV94Z5mic5yz+qMd6J+XFuzgU58p3jnZiOb+ZcIHMbxjnVmCSJKTYXLNFBnHd3zKc1cy7UHBTkIM5JTKZwW6GCx43j5+hYS3Hwn7PGEXXSAAVZjnMSkzQgB3cOnoSutCjIeoyXYlygna8FEmMhIqZpnLPUAoHao4iRfxAhxosEibHCOuc4+35ETOQ0MbQqCWi5tkBiLHgrBmeh+TPRajAdRp3OSihGuB43cBjUx+rC5wxnVT3hpHHa3r5TY3QxZZNZNQAkqR+TPjHnwo6/WGuzYnVXTQSSJKbtqzkXQF0J4vQaU77wW00EkiSm2FyKtTYT/ygNb5hz1aTUmqWLeStqciKA99mQEzf0d0EuHD6JeiJPGoV49liNcxKTNLA8fynUUrQX0OJET1uP8VKMC7TztUBiLETE0IdDgsiHQ/IPIsR4kSAxVljtB84ahoj6QU0MrUoCWq4tkBgL3orBPgWvSHB4lD8YCsBexjsxfUvqpFFo16/VGCcxOOLLQXEBg9fHWoqpvDkXViK5Ke6dmNZpcy6wdhXGOdUYEuOBmLGsOVfdR9HdC+K8e5TwiqR9Rs2Dfu/ihRrnJCZJn7MGYJnu/ynuoJ376P9OYnyEdr4WSIyFiBhqOwgibQf5B/FON38FwUS3rt/u9PIAAAAASUVORK5CYII="},yevO:function(t,e,a){t.exports=a.p+"img/tmtupian.a5708d0.png"},zZRV:function(t,e){}},["NHnr"]);
//# sourceMappingURL=app.cbfe33edaa556c80edf2.js.map
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
{"version":3,"sources":["webpack:///webpack/bootstrap 3a9af942d5fcef5d55a9"],"names":["parentJsonpFunction","window","chunkIds","moreModules","executeModules","moduleId","chunkId","result","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","shift","__webpack_require__","s","installedModules","2","exports","module","l","m","c","d","name","getter","o","defineProperty","configurable","enumerable","get","n","__esModule","object","property","p","oe","err","console","error"],"mappings":"aACA,IAAAA,EAAAC,OAAA,aACAA,OAAA,sBAAAC,EAAAC,EAAAC,GAIA,IADA,IAAAC,EAAAC,EAAAC,EAAAC,EAAA,EAAAC,KACQD,EAAAN,EAAAQ,OAAoBF,IAC5BF,EAAAJ,EAAAM,GACAG,EAAAL,IACAG,EAAAG,KAAAD,EAAAL,GAAA,IAEAK,EAAAL,GAAA,EAEA,IAAAD,KAAAF,EACAU,OAAAC,UAAAC,eAAAC,KAAAb,EAAAE,KACAY,EAAAZ,GAAAF,EAAAE,IAIA,IADAL,KAAAE,EAAAC,EAAAC,GACAK,EAAAC,QACAD,EAAAS,OAAAT,GAEA,GAAAL,EACA,IAAAI,EAAA,EAAYA,EAAAJ,EAAAM,OAA2BF,IACvCD,EAAAY,IAAAC,EAAAhB,EAAAI,IAGA,OAAAD,GAIA,IAAAc,KAGAV,GACAW,EAAA,GAIA,SAAAH,EAAAd,GAGA,GAAAgB,EAAAhB,GACA,OAAAgB,EAAAhB,GAAAkB,QAGA,IAAAC,EAAAH,EAAAhB,IACAG,EAAAH,EACAoB,GAAA,EACAF,YAUA,OANAN,EAAAZ,GAAAW,KAAAQ,EAAAD,QAAAC,IAAAD,QAAAJ,GAGAK,EAAAC,GAAA,EAGAD,EAAAD,QAKAJ,EAAAO,EAAAT,EAGAE,EAAAQ,EAAAN,EAGAF,EAAAS,EAAA,SAAAL,EAAAM,EAAAC,GACAX,EAAAY,EAAAR,EAAAM,IACAhB,OAAAmB,eAAAT,EAAAM,GACAI,cAAA,EACAC,YAAA,EACAC,IAAAL,KAMAX,EAAAiB,EAAA,SAAAZ,GACA,IAAAM,EAAAN,KAAAa,WACA,WAA2B,OAAAb,EAAA,SAC3B,WAAiC,OAAAA,GAEjC,OADAL,EAAAS,EAAAE,EAAA,IAAAA,GACAA,GAIAX,EAAAY,EAAA,SAAAO,EAAAC,GAAsD,OAAA1B,OAAAC,UAAAC,eAAAC,KAAAsB,EAAAC,IAGtDpB,EAAAqB,EAAA,IAGArB,EAAAsB,GAAA,SAAAC,GAA8D,MAApBC,QAAAC,MAAAF,GAAoBA","file":"js/manifest.1766e3c7586055624ca0.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tvar parentJsonpFunction = window[\"webpackJsonp\"];\n \twindow[\"webpackJsonp\"] = function webpackJsonpCallback(chunkIds, moreModules, executeModules) {\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [], result;\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules, executeModules);\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n \t\tif(executeModules) {\n \t\t\tfor(i=0; i < executeModules.length; i++) {\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = executeModules[i]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t};\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// objects to store loaded and loading chunks\n \tvar installedChunks = {\n \t\t2: 0\n \t};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 3a9af942d5fcef5d55a9"],"sourceRoot":""}
\ No newline at end of file
{"version":3,"sources":["webpack:///webpack/bootstrap 7bb4138dd0cc5e09cb46"],"names":["parentJsonpFunction","window","chunkIds","moreModules","executeModules","moduleId","chunkId","result","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","shift","__webpack_require__","s","installedModules","2","exports","module","l","m","c","d","name","getter","o","defineProperty","configurable","enumerable","get","n","__esModule","object","property","p","oe","err","console","error"],"mappings":"aACA,IAAAA,EAAAC,OAAA,aACAA,OAAA,sBAAAC,EAAAC,EAAAC,GAIA,IADA,IAAAC,EAAAC,EAAAC,EAAAC,EAAA,EAAAC,KACQD,EAAAN,EAAAQ,OAAoBF,IAC5BF,EAAAJ,EAAAM,GACAG,EAAAL,IACAG,EAAAG,KAAAD,EAAAL,GAAA,IAEAK,EAAAL,GAAA,EAEA,IAAAD,KAAAF,EACAU,OAAAC,UAAAC,eAAAC,KAAAb,EAAAE,KACAY,EAAAZ,GAAAF,EAAAE,IAIA,IADAL,KAAAE,EAAAC,EAAAC,GACAK,EAAAC,QACAD,EAAAS,OAAAT,GAEA,GAAAL,EACA,IAAAI,EAAA,EAAYA,EAAAJ,EAAAM,OAA2BF,IACvCD,EAAAY,IAAAC,EAAAhB,EAAAI,IAGA,OAAAD,GAIA,IAAAc,KAGAV,GACAW,EAAA,GAIA,SAAAH,EAAAd,GAGA,GAAAgB,EAAAhB,GACA,OAAAgB,EAAAhB,GAAAkB,QAGA,IAAAC,EAAAH,EAAAhB,IACAG,EAAAH,EACAoB,GAAA,EACAF,YAUA,OANAN,EAAAZ,GAAAW,KAAAQ,EAAAD,QAAAC,IAAAD,QAAAJ,GAGAK,EAAAC,GAAA,EAGAD,EAAAD,QAKAJ,EAAAO,EAAAT,EAGAE,EAAAQ,EAAAN,EAGAF,EAAAS,EAAA,SAAAL,EAAAM,EAAAC,GACAX,EAAAY,EAAAR,EAAAM,IACAhB,OAAAmB,eAAAT,EAAAM,GACAI,cAAA,EACAC,YAAA,EACAC,IAAAL,KAMAX,EAAAiB,EAAA,SAAAZ,GACA,IAAAM,EAAAN,KAAAa,WACA,WAA2B,OAAAb,EAAA,SAC3B,WAAiC,OAAAA,GAEjC,OADAL,EAAAS,EAAAE,EAAA,IAAAA,GACAA,GAIAX,EAAAY,EAAA,SAAAO,EAAAC,GAAsD,OAAA1B,OAAAC,UAAAC,eAAAC,KAAAsB,EAAAC,IAGtDpB,EAAAqB,EAAA,IAGArB,EAAAsB,GAAA,SAAAC,GAA8D,MAApBC,QAAAC,MAAAF,GAAoBA","file":"js/manifest.1766e3c7586055624ca0.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tvar parentJsonpFunction = window[\"webpackJsonp\"];\n \twindow[\"webpackJsonp\"] = function webpackJsonpCallback(chunkIds, moreModules, executeModules) {\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [], result;\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules, executeModules);\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n \t\tif(executeModules) {\n \t\t\tfor(i=0; i < executeModules.length; i++) {\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = executeModules[i]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t};\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// objects to store loaded and loading chunks\n \tvar installedChunks = {\n \t\t2: 0\n \t};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 7bb4138dd0cc5e09cb46"],"sourceRoot":""}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment