diff --git a/src/main/java/com/nis/handler/SqlHandler.java b/src/main/java/com/nis/handler/SqlHandler.java index f49db3d..6187c45 100644 --- a/src/main/java/com/nis/handler/SqlHandler.java +++ b/src/main/java/com/nis/handler/SqlHandler.java @@ -1046,13 +1046,12 @@ public class SqlHandler { // 告警相关数据同步 alertMessageService.handler(); + + // 图表相关数据同步 + chartService.handler(); // project module endpoint 数据同步 endpointService.handler(); - - // 图表相关数据同步 - chartService.handler(); - // 将原来数据库的数据数据还原 this.dataRestore(); diff --git a/src/main/java/com/nis/service/impl/ChartServiceImpl.java b/src/main/java/com/nis/service/impl/ChartServiceImpl.java index eca1cf1..9c2e44f 100644 --- a/src/main/java/com/nis/service/impl/ChartServiceImpl.java +++ b/src/main/java/com/nis/service/impl/ChartServiceImpl.java @@ -94,7 +94,9 @@ public class ChartServiceImpl extends ServiceImpl implements Ch visualChart.setGroupId(0); visualChart.setName(chart.getTitle()); visualChart.setHeight(chart.getHeight()); - visualChart.setPid(chart.getPid()); + if(!chart.getType().equals("assetInfo")) { + visualChart.setPid(chart.getPid()); + } Panel panel = panelIdAndPanel.get(chart.getPanelId()); if(panel.getType().equals("model")&& !chart.getType().equals("assetInfo")) { visualChart.setPanelId(0); diff --git a/src/main/java/com/nis/service/impl/EndpointServiceImpl.java b/src/main/java/com/nis/service/impl/EndpointServiceImpl.java index 4274587..837d2f7 100644 --- a/src/main/java/com/nis/service/impl/EndpointServiceImpl.java +++ b/src/main/java/com/nis/service/impl/EndpointServiceImpl.java @@ -7,6 +7,7 @@ import cn.hutool.core.util.StrUtil; import cn.hutool.log.Log; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.nis.dao.DcDao; @@ -22,6 +23,8 @@ import com.nis.entity.MonitorModule; import com.nis.entity.MonitorProject; import com.nis.entity.Project; import com.nis.entity.SnmpCredential; +import com.nis.entity.VisualChart; +import com.nis.entity.VisualPanel; import com.nis.service.AssetService; import com.nis.service.DcService; import com.nis.service.EndpointService; @@ -32,9 +35,13 @@ import com.nis.service.MonitorModuleService; import com.nis.service.MonitorProjectService; import com.nis.service.ProjectService; import com.nis.service.SnmpCredentialService; +import com.nis.service.VisualChartService; +import com.nis.service.VisualPanelService; +import com.nis.util.DateUtil; import com.nis.util.ToolUtil; import java.util.ArrayList; +import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -72,6 +79,12 @@ public class EndpointServiceImpl extends ServiceImpl impl @Autowired private AssetService assetService; + @Autowired + private VisualPanelService visualPanelService; + + @Autowired + private VisualChartService visualChartService; + @Override public void handler() { @@ -188,6 +201,9 @@ public class EndpointServiceImpl extends ServiceImpl impl // 同步endpoint信息 List endpoints = endpointService.list(); List monitorEndpoints =new ArrayList(); + + Map endpointAndPanel = new HashMap(); + Map endpointAndChart = new HashMap(); for(Endpoint endpoint : endpoints) { Map configs =new HashMap(); configs.put("metrics_path", endpoint.getPath()); @@ -222,11 +238,53 @@ public class EndpointServiceImpl extends ServiceImpl impl String hash = endpoint.getModuleId() + endpoint.getAssetId() + JSON.toJSONString(configs); monitorEndpoint.setHash(String.valueOf(Math.abs(MurmurHash.hash64(hash)))); monitorEndpoints.add(monitorEndpoint); + + //创建endpoint panel + VisualPanel panel = new VisualPanel(); + endpointAndPanel.put(monitorEndpoint, panel); + //创建endpoint chart endpointInfo + VisualChart chart =new VisualChart(); + endpointAndChart.put(monitorEndpoint, chart); } if(ToolUtil.isNotEmpty(monitorEndpoints)) { monitorEndpointService.saveBatch(monitorEndpoints); } + + VisualPanel lastPanel = visualPanelService.getOne(new QueryWrapper().orderByDesc("id").last("limit 1")); + Integer id = lastPanel.getId()+10; + List charts =new ArrayList(); + for(MonitorEndpoint monitorEndpoint:monitorEndpoints) { + VisualPanel visualPanel = endpointAndPanel.get(monitorEndpoint); + visualPanel.setId(id); + visualPanel.setName("endpoint_panel_" + monitorEndpoint.getId()); + visualPanel.setType("endpoint"); + visualPanel.setPid(0); + visualPanel.setLink(monitorEndpoint.getId()); + visualPanel.setWeight(0); + visualPanel.setCreateBy(1); + visualPanelService.save(visualPanel); + + VisualChart visualChart = endpointAndChart.get(monitorEndpoint); + visualChart.setName("{{endpoint.name}}"); + visualChart.setType("endpointInfo"); + visualChart.setSpan(12); + visualChart.setHeight(4); + visualChart.setUnit(2); + visualChart.setParam(null); + visualChart.setPanelId(id); + visualChart.setGroupId(0); + visualChart.setUpdateBy(1); + Date utcTime = DateUtil.getUTCTimeByConfigTimeZone(); + visualChart.setUpdateAt(utcTime); + charts.add(visualChart); + + id++; + } + + if(ToolUtil.isNotEmpty(charts)) { + visualChartService.saveBatch(charts); + } } }