From 91f4f9f7ac42c4899ea3da93a1e240429a7c5b94 Mon Sep 17 00:00:00 2001 From: liwei Date: Sun, 29 Mar 2026 16:09:01 +0800 Subject: [PATCH 1/5] fix(manager): set instance to 'unknow' for dynamic monitors on modification In the `modifyMonitor` method, the `instance` field for dynamically discovered monitors (where `isStatic` is false) was not being explicitly set to "unknow". This could lead to incorrect instance values or unexpected behavior when updating service discovery monitors. This commit aligns the behavior of `modifyMonitor` with `addMonitor` by explicitly setting `monitor.setInstance("unknow")` for non-static scrape types before processing the instance and port fields. --- .../manager/service/impl/MonitorServiceImpl.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/hertzbeat-manager/src/main/java/org/apache/hertzbeat/manager/service/impl/MonitorServiceImpl.java b/hertzbeat-manager/src/main/java/org/apache/hertzbeat/manager/service/impl/MonitorServiceImpl.java index 7e06ef78229..c15a62b3217 100644 --- a/hertzbeat-manager/src/main/java/org/apache/hertzbeat/manager/service/impl/MonitorServiceImpl.java +++ b/hertzbeat-manager/src/main/java/org/apache/hertzbeat/manager/service/impl/MonitorServiceImpl.java @@ -382,6 +382,13 @@ public void modifyMonitor(Monitor monitor, List params, String collector, labelDao.saveAll(addLabels); } + // Construct the collection task Job entity + boolean isStatic = CommonConstants.SCRAPE_STATIC.equals(monitor.getScrape()) + || !StringUtils.hasText(monitor.getScrape()); + if (!isStatic) { + monitor.setInstance("unknow"); + } + String instance = monitor.getInstance(); // The port field may be null Param portParam = params.stream() @@ -396,8 +403,6 @@ public void modifyMonitor(Monitor monitor, List params, String collector, } monitor.setInstance(instance); - boolean isStatic = CommonConstants.SCRAPE_STATIC.equals(monitor.getScrape()) - || !StringUtils.hasText(monitor.getScrape()); if (preMonitor.getStatus() != CommonConstants.MONITOR_PAUSED_CODE) { // Construct the collection task Job entity String app = isStatic ? monitor.getApp() : monitor.getScrape(); From c336f9a7aa00e45c8ebdcf71721602db17027df6 Mon Sep 17 00:00:00 2001 From: liwei Date: Sun, 29 Mar 2026 16:11:34 +0800 Subject: [PATCH 2/5] Revert "fix(manager): set instance to 'unknow' for dynamic monitors on modification" This reverts commit 91f4f9f7ac42c4899ea3da93a1e240429a7c5b94. --- .../manager/service/impl/MonitorServiceImpl.java | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/hertzbeat-manager/src/main/java/org/apache/hertzbeat/manager/service/impl/MonitorServiceImpl.java b/hertzbeat-manager/src/main/java/org/apache/hertzbeat/manager/service/impl/MonitorServiceImpl.java index c15a62b3217..7e06ef78229 100644 --- a/hertzbeat-manager/src/main/java/org/apache/hertzbeat/manager/service/impl/MonitorServiceImpl.java +++ b/hertzbeat-manager/src/main/java/org/apache/hertzbeat/manager/service/impl/MonitorServiceImpl.java @@ -382,13 +382,6 @@ public void modifyMonitor(Monitor monitor, List params, String collector, labelDao.saveAll(addLabels); } - // Construct the collection task Job entity - boolean isStatic = CommonConstants.SCRAPE_STATIC.equals(monitor.getScrape()) - || !StringUtils.hasText(monitor.getScrape()); - if (!isStatic) { - monitor.setInstance("unknow"); - } - String instance = monitor.getInstance(); // The port field may be null Param portParam = params.stream() @@ -403,6 +396,8 @@ public void modifyMonitor(Monitor monitor, List params, String collector, } monitor.setInstance(instance); + boolean isStatic = CommonConstants.SCRAPE_STATIC.equals(monitor.getScrape()) + || !StringUtils.hasText(monitor.getScrape()); if (preMonitor.getStatus() != CommonConstants.MONITOR_PAUSED_CODE) { // Construct the collection task Job entity String app = isStatic ? monitor.getApp() : monitor.getScrape(); From 92e68acae05f16a07846f12d424668ae14e713c0 Mon Sep 17 00:00:00 2001 From: liwei Date: Sun, 29 Mar 2026 16:16:04 +0800 Subject: [PATCH 3/5] fix(manager): set instance to 'unknow' for dynamic monitors on modification In the `modifyMonitor` method, the `instance` field for dynamically discovered monitors (where `isStatic` is false) was not being explicitly set to "unknow". This could lead to incorrect instance values or unexpected behavior when updating service discovery monitors. This commit aligns the behavior of `modifyMonitor` with `addMonitor` by explicitly setting `monitor.setInstance("unknow")` for non-static scrape types before processing the instance and port fields. --- .../manager/service/impl/MonitorServiceImpl.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/hertzbeat-manager/src/main/java/org/apache/hertzbeat/manager/service/impl/MonitorServiceImpl.java b/hertzbeat-manager/src/main/java/org/apache/hertzbeat/manager/service/impl/MonitorServiceImpl.java index 7e06ef78229..7b5f3fdb833 100644 --- a/hertzbeat-manager/src/main/java/org/apache/hertzbeat/manager/service/impl/MonitorServiceImpl.java +++ b/hertzbeat-manager/src/main/java/org/apache/hertzbeat/manager/service/impl/MonitorServiceImpl.java @@ -382,6 +382,12 @@ public void modifyMonitor(Monitor monitor, List params, String collector, labelDao.saveAll(addLabels); } + boolean isStatic = CommonConstants.SCRAPE_STATIC.equals(monitor.getScrape()) + || !StringUtils.hasText(monitor.getScrape()); + if (!isStatic) { + monitor.setInstance("unknow"); + } + String instance = monitor.getInstance(); // The port field may be null Param portParam = params.stream() @@ -396,8 +402,6 @@ public void modifyMonitor(Monitor monitor, List params, String collector, } monitor.setInstance(instance); - boolean isStatic = CommonConstants.SCRAPE_STATIC.equals(monitor.getScrape()) - || !StringUtils.hasText(monitor.getScrape()); if (preMonitor.getStatus() != CommonConstants.MONITOR_PAUSED_CODE) { // Construct the collection task Job entity String app = isStatic ? monitor.getApp() : monitor.getScrape(); From a63d626ec75572c40be44edbbe28b91555307b1e Mon Sep 17 00:00:00 2001 From: liwei Date: Mon, 30 Mar 2026 20:48:58 +0800 Subject: [PATCH 4/5] fix: only set instance to 'unknown' when it is empty When the monitor type is service discovery and the instance is not empty, the instance value should not be overwritten. This commit fixes this issue. Additionally, it corrects the spelling of 'unknow' to 'unknown' and prevents appending the port if the instance already contains it. --- .../manager/service/impl/MonitorServiceImpl.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/hertzbeat-manager/src/main/java/org/apache/hertzbeat/manager/service/impl/MonitorServiceImpl.java b/hertzbeat-manager/src/main/java/org/apache/hertzbeat/manager/service/impl/MonitorServiceImpl.java index 7b5f3fdb833..a49ff05a312 100644 --- a/hertzbeat-manager/src/main/java/org/apache/hertzbeat/manager/service/impl/MonitorServiceImpl.java +++ b/hertzbeat-manager/src/main/java/org/apache/hertzbeat/manager/service/impl/MonitorServiceImpl.java @@ -172,7 +172,7 @@ public void addMonitor(Monitor monitor, List params, String collector, Gr Job appDefine = appService.getAppDefine(app); if (!isStatic) { appDefine.setSd(true); - monitor.setInstance("unknow"); + monitor.setInstance("unknown"); } if (CommonConstants.PROMETHEUS.equals(monitor.getApp())) { appDefine.setApp(CommonConstants.PROMETHEUS_APP_PREFIX + monitor.getName()); @@ -384,8 +384,8 @@ public void modifyMonitor(Monitor monitor, List params, String collector, boolean isStatic = CommonConstants.SCRAPE_STATIC.equals(monitor.getScrape()) || !StringUtils.hasText(monitor.getScrape()); - if (!isStatic) { - monitor.setInstance("unknow"); + if (!isStatic && !StringUtils.hasText(monitor.getInstance())) { + monitor.setInstance("unknown"); } String instance = monitor.getInstance(); @@ -397,9 +397,11 @@ public void modifyMonitor(Monitor monitor, List params, String collector, String portWithMark = (Objects.isNull(portParam) || !StringUtils.hasText(portParam.getParamValue())) ? "" : SignConstants.DOUBLE_MARK + portParam.getParamValue(); - if (Objects.nonNull(instance)) { + if (Objects.nonNull(instance)&&!IpDomainUtil.isHasPortWithMark(instance)) { instance = instance + portWithMark; } + + monitor.setInstance(instance); if (preMonitor.getStatus() != CommonConstants.MONITOR_PAUSED_CODE) { From dcedd8b27258272fc84d0070c4fcc9ed7a0cd003 Mon Sep 17 00:00:00 2001 From: liwei Date: Tue, 31 Mar 2026 11:55:29 +0800 Subject: [PATCH 5/5] fix Checkstyle formatting error. --- .../service/impl/MonitorServiceImpl.java | 168 +++++++++--------- 1 file changed, 84 insertions(+), 84 deletions(-) diff --git a/hertzbeat-manager/src/main/java/org/apache/hertzbeat/manager/service/impl/MonitorServiceImpl.java b/hertzbeat-manager/src/main/java/org/apache/hertzbeat/manager/service/impl/MonitorServiceImpl.java index a49ff05a312..aa3717ce23e 100644 --- a/hertzbeat-manager/src/main/java/org/apache/hertzbeat/manager/service/impl/MonitorServiceImpl.java +++ b/hertzbeat-manager/src/main/java/org/apache/hertzbeat/manager/service/impl/MonitorServiceImpl.java @@ -151,7 +151,7 @@ public void detectMonitor(Monitor monitor, List params, String collector) @Override @Transactional(rollbackFor = Exception.class) public void addMonitor(Monitor monitor, List params, String collector, GrafanaDashboard grafanaDashboard) - throws RuntimeException { + throws RuntimeException { // Apply for monitor id long monitorId = SnowFlakeIdGenerator.generateId(); Map labels = monitor.getLabels(); @@ -167,7 +167,7 @@ public void addMonitor(Monitor monitor, List params, String collector, Gr // Construct the collection task Job entity boolean isStatic = CommonConstants.SCRAPE_STATIC.equals(monitor.getScrape()) - || !StringUtils.hasText(monitor.getScrape()); + || !StringUtils.hasText(monitor.getScrape()); String app = isStatic ? monitor.getApp() : monitor.getScrape(); Job appDefine = appService.getAppDefine(app); if (!isStatic) { @@ -185,19 +185,19 @@ public void addMonitor(Monitor monitor, List params, String collector, Gr String instance = monitor.getInstance(); // The port field may be null Param portParam = params.stream() - .filter(param -> PARAM_FIELD_PORT.equals(param.getField())) - .findFirst() - .orElse(null); + .filter(param -> PARAM_FIELD_PORT.equals(param.getField())) + .findFirst() + .orElse(null); String portWithMark = (Objects.isNull(portParam) || !StringUtils.hasText(portParam.getParamValue())) - ? "" - : SignConstants.DOUBLE_MARK + portParam.getParamValue(); + ? "" + : SignConstants.DOUBLE_MARK + portParam.getParamValue(); if (!IpDomainUtil.isHasPortWithMark(instance)) { instance = instance + portWithMark; } monitor.setInstance(instance); Map metadata = Map.of(CommonConstants.LABEL_INSTANCE_NAME, monitor.getName(), - CommonConstants.LABEL_INSTANCE, instance); + CommonConstants.LABEL_INSTANCE, instance); appDefine.setMetadata(metadata); appDefine.setLabels(monitor.getLabels()); appDefine.setAnnotations(monitor.getAnnotations()); @@ -207,7 +207,7 @@ public void addMonitor(Monitor monitor, List params, String collector, Gr }).collect(Collectors.toList()); appDefine.setConfigmap(configmaps); long jobId = collector == null ? collectJobScheduling.addAsyncCollectJob(appDefine, null) - : collectJobScheduling.addAsyncCollectJob(appDefine, collector); + : collectJobScheduling.addAsyncCollectJob(appDefine, collector); try { detectMonitor(monitor, params, collector); } catch (Exception ignored) { @@ -216,16 +216,16 @@ public void addMonitor(Monitor monitor, List params, String collector, Gr try { if (collector != null) { CollectorMonitorBind collectorMonitorBind = CollectorMonitorBind.builder() - .collector(collector) - .monitorId(monitorId) - .build(); + .collector(collector) + .monitorId(monitorId) + .build(); collectorMonitorBindDao.save(collectorMonitorBind); } monitor.setId(monitorId); monitor.setJobId(jobId); // create grafana dashboard if (monitor.getApp().equals(CommonConstants.PROMETHEUS) && grafanaDashboard != null - && grafanaDashboard.isEnabled()) { + && grafanaDashboard.isEnabled()) { dashboardService.createOrUpdateDashboard(grafanaDashboard.getTemplate(), monitorId); } monitorDao.save(monitor); @@ -246,9 +246,9 @@ public void export(List ids, String type, HttpServletResponse res) throws public void exportAll(String type, HttpServletResponse res) throws Exception { // Get all monitor IDs from the database List allMonitorIds = monitorDao.findAll() - .stream() - .map(Monitor::getId) - .collect(Collectors.toList()); + .stream() + .map(Monitor::getId) + .collect(Collectors.toList()); // Use the existing export method to export all monitors export(allMonitorIds, type, res); @@ -269,13 +269,13 @@ public void validate(MonitorDto monitorDto, Boolean isModify) throws IllegalArgu monitorInfo.setName(monitorInfo.getName().trim()); Monitor monitor = monitorInfo.toEntity(); Map paramMap = monitorDto.getParamInfos() - .stream() - .peek(param -> { - param.setMonitorId(monitor.getId()); - String value = param.getParamValue() == null ? null : param.getParamValue().trim(); - param.setParamValue(value); - }) - .collect(Collectors.toMap(MonitorParam::getField, param -> param)); + .stream() + .peek(param -> { + param.setMonitorId(monitor.getId()); + String value = param.getParamValue() == null ? null : param.getParamValue().trim(); + param.setParamValue(value); + }) + .collect(Collectors.toMap(MonitorParam::getField, param -> param)); // Check name uniqueness and can not equal app type if (isModify != null) { Optional defineOptional = appService.getAppDefineOption(monitor.getName()); @@ -307,7 +307,7 @@ public void validate(MonitorDto monitorDto, Boolean isModify) throws IllegalArgu List paramDefines = appService.getAppParamDefines(monitor.getApp()); if (!CollectionUtils.isEmpty(paramDefines)) { boolean isStatic = CommonConstants.SCRAPE_STATIC.equals(monitor.getScrape()) - || !StringUtils.hasText(monitor.getScrape()); + || !StringUtils.hasText(monitor.getScrape()); for (ParamDefineInfo paramDefine : paramDefines) { String field = paramDefine.getField(); MonitorParam param = paramMap.get(field); @@ -339,16 +339,16 @@ private void checkJobFields(String app) { for (Metrics.Field field : metrics.getFields()) { if (JexlCheckerUtil.verifyKeywords(field.getField())) { throw new IllegalArgumentException(job.getApp() + " " + metrics.getName() + " " - + field.getField() + " prohibited keywords, please modify the template information."); + + field.getField() + " prohibited keywords, please modify the template information."); } if (JexlCheckerUtil.verifyStartCharacter(field.getField())) { throw new IllegalArgumentException(job.getApp() + " " + metrics.getName() + " " - + field.getField() - + " illegal start character, please modify the template information."); + + field.getField() + + " illegal start character, please modify the template information."); } if (JexlCheckerUtil.verifySpaces(field.getField())) { throw new IllegalArgumentException(job.getApp() + " " + metrics.getName() + " " - + field.getField() + " no spaces allowed, please modify the template information."); + + field.getField() + " no spaces allowed, please modify the template information."); } } } @@ -358,7 +358,7 @@ private void checkJobFields(String app) { @Override @Transactional(rollbackFor = Exception.class) public void modifyMonitor(Monitor monitor, List params, String collector, GrafanaDashboard grafanaDashboard) - throws RuntimeException { + throws RuntimeException { long monitorId = monitor.getId(); // Check to determine whether the monitor corresponding to the monitor id exists Optional queryOption = monitorDao.findById(monitorId); @@ -391,13 +391,13 @@ public void modifyMonitor(Monitor monitor, List params, String collector, String instance = monitor.getInstance(); // The port field may be null Param portParam = params.stream() - .filter(param -> PARAM_FIELD_PORT.equals(param.getField())) - .findFirst() - .orElse(null); + .filter(param -> PARAM_FIELD_PORT.equals(param.getField())) + .findFirst() + .orElse(null); String portWithMark = (Objects.isNull(portParam) || !StringUtils.hasText(portParam.getParamValue())) - ? "" - : SignConstants.DOUBLE_MARK + portParam.getParamValue(); - if (Objects.nonNull(instance)&&!IpDomainUtil.isHasPortWithMark(instance)) { + ? "" + : SignConstants.DOUBLE_MARK + portParam.getParamValue(); + if (Objects.nonNull(instance) && !IpDomainUtil.isHasPortWithMark(instance)) { instance = instance + portWithMark; } @@ -422,13 +422,13 @@ public void modifyMonitor(Monitor monitor, List params, String collector, appDefine.setScheduleType(monitor.getScheduleType()); appDefine.setCronExpression(monitor.getCronExpression()); Map metadata = Map.of(CommonConstants.LABEL_INSTANCE_NAME, monitor.getName(), - CommonConstants.LABEL_INSTANCE, monitor.getInstance()); + CommonConstants.LABEL_INSTANCE, monitor.getInstance()); appDefine.setMetadata(metadata); appDefine.setLabels(monitor.getLabels()); appDefine.setAnnotations(monitor.getAnnotations()); List configmaps = params.stream() - .map(param -> new Configmap(param.getField(), param.getParamValue(), param.getType())) - .collect(Collectors.toList()); + .map(param -> new Configmap(param.getField(), param.getParamValue(), param.getType())) + .collect(Collectors.toList()); appDefine.setConfigmap(configmaps); long newJobId; if (collector == null) { @@ -450,8 +450,8 @@ public void modifyMonitor(Monitor monitor, List params, String collector, collectorMonitorBindDao.deleteCollectorMonitorBindsByMonitorId(monitorId); if (collector != null) { CollectorMonitorBind collectorMonitorBind = CollectorMonitorBind.builder() - .collector(collector).monitorId(monitorId) - .build(); + .collector(collector).monitorId(monitorId) + .build(); collectorMonitorBindDao.save(collectorMonitorBind); } // force update gmtUpdate time, due the case: monitor not change, param change. @@ -488,7 +488,7 @@ public void deleteMonitors(Set ids) throws RuntimeException { return; } Set subMonitorIds = monitorBindDao.findMonitorBindsByBizIdIn(ids).stream().map(MonitorBind::getMonitorId) - .collect(Collectors.toSet()); + .collect(Collectors.toSet()); Set allMonitorIds = new HashSet<>(ids); allMonitorIds.addAll(subMonitorIds); List monitors = monitorDao.findMonitorsByIdIn(allMonitorIds); @@ -529,28 +529,28 @@ public MonitorDto getMonitorDto(long id) throws RuntimeException { monitorDto.setParams(params); List metricsInfos; if (DispatchConstants.PROTOCOL_PROMETHEUS.equalsIgnoreCase(monitor.getApp()) - || monitor.getType() == CommonConstants.MONITOR_TYPE_PUSH_AUTO_CREATE) { + || monitor.getType() == CommonConstants.MONITOR_TYPE_PUSH_AUTO_CREATE) { List metricsDataList = warehouseService.queryMonitorMetricsData(id); metricsInfos = metricsDataList.stream() - .map(t -> MetricsInfo.builder().name(t.getMetrics()) - .favorited(favoritedMetrics.contains(t.getMetrics())).build()) - .collect(Collectors.toList()); + .map(t -> MetricsInfo.builder().name(t.getMetrics()) + .favorited(favoritedMetrics.contains(t.getMetrics())).build()) + .collect(Collectors.toList()); monitorDto.setGrafanaDashboard(dashboardService.getDashboardByMonitorId(id)); } else { boolean isStatic = CommonConstants.SCRAPE_STATIC.equals(monitor.getScrape()) - || !StringUtils.hasText(monitor.getScrape()); + || !StringUtils.hasText(monitor.getScrape()); String type = isStatic ? monitor.getApp() : monitor.getScrape(); Job job = appService.getAppDefine(type); metricsInfos = job.getMetrics().stream() - .filter(Metrics::isVisible) - .map(t -> MetricsInfo.builder().name(t.getName()) - .favorited(favoritedMetrics.contains(t.getName())).build()) - .collect(Collectors.toList()); + .filter(Metrics::isVisible) + .map(t -> MetricsInfo.builder().name(t.getName()) + .favorited(favoritedMetrics.contains(t.getName())).build()) + .collect(Collectors.toList()); } monitorDto.setMetrics(metricsInfos); monitorDto.setMonitor(monitor); Optional bindOptional = collectorMonitorBindDao - .findCollectorMonitorBindByMonitorId(monitor.getId()); + .findCollectorMonitorBindByMonitorId(monitor.getId()); bindOptional.ifPresent(bind -> monitorDto.setCollector(bind.getCollector())); return monitorDto; } else { @@ -560,7 +560,7 @@ public MonitorDto getMonitorDto(long id) throws RuntimeException { @Override public Page getMonitors(List monitorIds, String app, String search, Byte status, String sort, - String order, int pageIndex, int pageSize, String labels) { + String order, int pageIndex, int pageSize, String labels) { Specification specification = (root, query, criteriaBuilder) -> { List andList = new ArrayList<>(); if (!CollectionUtils.isEmpty(monitorIds)) { @@ -585,7 +585,7 @@ public Page getMonitors(List monitorIds, String app, String searc if (StringUtils.hasText(search)) { Predicate predicateHost = criteriaBuilder.like(root.get("instance"), "%" + search + "%"); Predicate predicateName = criteriaBuilder.like(criteriaBuilder.lower(root.get("name")), - "%" + search.toLowerCase() + "%"); + "%" + search.toLowerCase() + "%"); Long id = Longs.tryParse(search); if (id != null) { orList.add(criteriaBuilder.equal(root.get("id"), id)); @@ -639,12 +639,12 @@ public void cancelManageMonitors(Set ids) { // The jobId is not deleted, and the jobId is reused again after the management // is started. Set subMonitorIds = monitorBindDao.findMonitorBindsByBizIdIn(ids).stream().map(MonitorBind::getMonitorId) - .collect(Collectors.toSet()); + .collect(Collectors.toSet()); ids.addAll(subMonitorIds); List managedMonitors = monitorDao.findMonitorsByIdIn(ids) - .stream().filter(monitor -> monitor.getStatus() != CommonConstants.MONITOR_PAUSED_CODE) - .peek(monitor -> monitor.setStatus(CommonConstants.MONITOR_PAUSED_CODE)) - .collect(Collectors.toList()); + .stream().filter(monitor -> monitor.getStatus() != CommonConstants.MONITOR_PAUSED_CODE) + .peek(monitor -> monitor.setStatus(CommonConstants.MONITOR_PAUSED_CODE)) + .collect(Collectors.toList()); if (!CollectionUtils.isEmpty(managedMonitors)) { for (Monitor monitor : managedMonitors) { collectJobScheduling.cancelAsyncCollectJob(monitor.getJobId()); @@ -657,12 +657,12 @@ public void cancelManageMonitors(Set ids) { public void enableManageMonitors(Set ids) { // Update monitoring status Add corresponding monitoring periodic task Set subMonitorIds = monitorBindDao.findMonitorBindsByBizIdIn(ids).stream().map(MonitorBind::getMonitorId) - .collect(Collectors.toSet()); + .collect(Collectors.toSet()); ids.addAll(subMonitorIds); List unManagedMonitors = monitorDao.findMonitorsByIdIn(ids) - .stream().filter(monitor -> monitor.getStatus() == CommonConstants.MONITOR_PAUSED_CODE) - .peek(monitor -> monitor.setStatus(CommonConstants.MONITOR_UP_CODE)) - .collect(Collectors.toList()); + .stream().filter(monitor -> monitor.getStatus() == CommonConstants.MONITOR_PAUSED_CODE) + .peek(monitor -> monitor.setStatus(CommonConstants.MONITOR_UP_CODE)) + .collect(Collectors.toList()); if (unManagedMonitors.isEmpty()) { return; } @@ -671,7 +671,7 @@ public void enableManageMonitors(Set ids) { // Construct the collection task Job entity List params = paramDao.findParamsByMonitorId(monitor.getId()); boolean isStatic = CommonConstants.SCRAPE_STATIC.equals(monitor.getScrape()) - || !StringUtils.hasText(monitor.getScrape()); + || !StringUtils.hasText(monitor.getScrape()); String app = isStatic ? monitor.getApp() : monitor.getScrape(); Job appDefine = appService.getAppDefine(app); if (!isStatic) { @@ -687,20 +687,20 @@ public void enableManageMonitors(Set ids) { appDefine.setScheduleType(monitor.getScheduleType()); appDefine.setCronExpression(monitor.getCronExpression()); Map metadata = Map.of(CommonConstants.LABEL_INSTANCE_NAME, monitor.getName(), - CommonConstants.LABEL_INSTANCE, monitor.getInstance()); + CommonConstants.LABEL_INSTANCE, monitor.getInstance()); appDefine.setMetadata(metadata); appDefine.setLabels(monitor.getLabels()); appDefine.setAnnotations(monitor.getAnnotations()); List configmaps = params.stream() - .map(param -> new Configmap(param.getField(), param.getParamValue(), param.getType())) - .collect(Collectors.toList()); + .map(param -> new Configmap(param.getField(), param.getParamValue(), param.getType())) + .collect(Collectors.toList()); List paramDefaultValue = appDefine.getParams().stream() - .filter(item -> StringUtils.hasText(item.getDefaultValue())) - .toList(); + .filter(item -> StringUtils.hasText(item.getDefaultValue())) + .toList(); paramDefaultValue.forEach(defaultVar -> { if (configmaps.stream().noneMatch(item -> item.getKey().equals(defaultVar.getField()))) { Configmap configmap = new Configmap(defaultVar.getField(), defaultVar.getDefaultValue(), - CommonConstants.TYPE_STRING); + CommonConstants.TYPE_STRING); configmaps.add(configmap); } }); @@ -708,7 +708,7 @@ public void enableManageMonitors(Set ids) { // Issue collection tasks Optional bindOptional = collectorMonitorBindDao - .findCollectorMonitorBindByMonitorId(monitor.getId()); + .findCollectorMonitorBindByMonitorId(monitor.getId()); String collector = bindOptional.map(CollectorMonitorBind::getCollector).orElse(null); long newJobId = collectJobScheduling.addAsyncCollectJob(appDefine, collector); monitor.setJobId(newJobId); @@ -762,15 +762,15 @@ public List getAllAppMonitorsCount() { @Override public void updateAppCollectJob(Job job) { List monitors = monitorDao.findMonitorsByAppEquals(job.getApp()) - .stream().filter(monitor -> monitor.getStatus() != CommonConstants.MONITOR_PAUSED_CODE) - .toList(); + .stream().filter(monitor -> monitor.getStatus() != CommonConstants.MONITOR_PAUSED_CODE) + .toList(); if (monitors.isEmpty()) { return; } List monitorBinds = collectorMonitorBindDao.findCollectorMonitorBindsByMonitorIdIn( - monitors.stream().map(Monitor::getId).collect(Collectors.toSet())); + monitors.stream().map(Monitor::getId).collect(Collectors.toSet())); Map monitorIdCollectorMap = monitorBinds.stream().collect( - Collectors.toMap(CollectorMonitorBind::getMonitorId, CollectorMonitorBind::getCollector)); + Collectors.toMap(CollectorMonitorBind::getMonitorId, CollectorMonitorBind::getCollector)); for (Monitor monitor : monitors) { try { Job appDefine = job.clone(); @@ -787,20 +787,20 @@ public void updateAppCollectJob(Job job) { appDefine.setCyclic(true); appDefine.setTimestamp(System.currentTimeMillis()); Map metadata = Map.of(CommonConstants.LABEL_INSTANCE_NAME, monitor.getName(), - CommonConstants.LABEL_INSTANCE, monitor.getInstance()); + CommonConstants.LABEL_INSTANCE, monitor.getInstance()); appDefine.setMetadata(metadata); appDefine.setLabels(monitor.getLabels()); appDefine.setAnnotations(monitor.getAnnotations()); List params = paramDao.findParamsByMonitorId(monitor.getId()); List configmaps = params.stream().map(param -> new Configmap(param.getField(), - param.getParamValue(), param.getType())).collect(Collectors.toList()); + param.getParamValue(), param.getType())).collect(Collectors.toList()); List paramDefaultValue = appDefine.getParams().stream() - .filter(item -> StringUtils.hasText(item.getDefaultValue())) - .toList(); + .filter(item -> StringUtils.hasText(item.getDefaultValue())) + .toList(); paramDefaultValue.forEach(defaultVar -> { if (configmaps.stream().noneMatch(item -> item.getKey().equals(defaultVar.getField()))) { Configmap configmap = new Configmap(defaultVar.getField(), defaultVar.getDefaultValue(), - (byte) 1); + (byte) 1); configmaps.add(configmap); } }); @@ -884,8 +884,8 @@ private void detectSdMonitor(Monitor monitor, List params, String collect appDefine.setLabels(monitor.getLabels()); appDefine.setAnnotations(monitor.getAnnotations()); List configmaps = params.stream() - .map(param -> new Configmap(param.getField(), param.getParamValue(), param.getType())) - .collect(Collectors.toList()); + .map(param -> new Configmap(param.getField(), param.getParamValue(), param.getType())) + .collect(Collectors.toList()); appDefine.setConfigmap(configmaps); appDefine.setSd(true); List collectRep; @@ -920,18 +920,18 @@ private void detectMonitorDirectly(Monitor monitor, List params, String c appDefine.setCyclic(false); appDefine.setTimestamp(System.currentTimeMillis()); Map metadata = Map.of(CommonConstants.LABEL_INSTANCE_NAME, monitor.getName(), - CommonConstants.LABEL_INSTANCE, monitor.getInstance()); + CommonConstants.LABEL_INSTANCE, monitor.getInstance()); appDefine.setMetadata(metadata); appDefine.setLabels(monitor.getLabels()); appDefine.setAnnotations(monitor.getAnnotations()); List configmaps = params.stream() - .map(param -> new Configmap(param.getField(), param.getParamValue(), param.getType())) - .collect(Collectors.toList()); + .map(param -> new Configmap(param.getField(), param.getParamValue(), param.getType())) + .collect(Collectors.toList()); appDefine.setConfigmap(configmaps); // To detect availability, you only need to collect the set of availability // metrics with a priority of 0. List availableMetrics = appDefine.getMetrics().stream() - .filter(item -> item.getPriority() == 0).collect(Collectors.toList()); + .filter(item -> item.getPriority() == 0).collect(Collectors.toList()); appDefine.setMetrics(availableMetrics); List collectRep; if (collector != null) {