diff --git a/monitoring/src/main/conf/logback.xml b/monitoring/src/main/conf/logback.xml
index 98411ef482..58e49c7639 100644
--- a/monitoring/src/main/conf/logback.xml
+++ b/monitoring/src/main/conf/logback.xml
@@ -33,11 +33,6 @@
%d{ISO8601} [%thread] %-5level %logger{36} - %msg%n
-
-
- %d{ISO8601} [%thread] %-5level %logger{36} - %msg%n
-
-
@@ -46,7 +41,6 @@
-
diff --git a/monitoring/src/main/java/org/thingsboard/monitoring/client/WsClientFactory.java b/monitoring/src/main/java/org/thingsboard/monitoring/client/WsClientFactory.java
index 168830e1c7..1bab803dc9 100644
--- a/monitoring/src/main/java/org/thingsboard/monitoring/client/WsClientFactory.java
+++ b/monitoring/src/main/java/org/thingsboard/monitoring/client/WsClientFactory.java
@@ -19,8 +19,8 @@ import lombok.RequiredArgsConstructor;
import org.apache.http.ssl.SSLContextBuilder;
import org.apache.http.ssl.SSLContexts;
import org.apache.http.ssl.TrustStrategy;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
-import org.thingsboard.monitoring.config.WsConfig;
import org.thingsboard.monitoring.data.Latencies;
import org.thingsboard.monitoring.service.MonitoringReporter;
import org.thingsboard.monitoring.util.TbStopWatch;
@@ -32,20 +32,23 @@ import java.util.concurrent.TimeUnit;
@RequiredArgsConstructor
public class WsClientFactory {
- private final WsConfig wsConfig;
private final MonitoringReporter monitoringReporter;
private final TbStopWatch stopWatch;
+ @Value("${monitoring.ws.base_url}")
+ private String baseUrl;
+ @Value("${monitoring.ws.request_timeout_ms}")
+ private int requestTimeoutMs;
public WsClient createClient(String accessToken) throws Exception {
- URI uri = new URI(wsConfig.getBaseUrl() + "/api/ws/plugins/telemetry?token=" + accessToken);
+ URI uri = new URI(baseUrl + "/api/ws/plugins/telemetry?token=" + accessToken);
stopWatch.start();
- WsClient wsClient = new WsClient(uri, wsConfig.getRequestTimeoutMs());
- if (wsConfig.getBaseUrl().startsWith("wss")) {
+ WsClient wsClient = new WsClient(uri, requestTimeoutMs);
+ if (baseUrl.startsWith("wss")) {
SSLContextBuilder builder = SSLContexts.custom();
builder.loadTrustMaterial(null, (TrustStrategy) (chain, authType) -> true);
wsClient.setSocketFactory(builder.build().getSocketFactory());
}
- boolean connected = wsClient.connectBlocking(wsConfig.getRequestTimeoutMs(), TimeUnit.MILLISECONDS);
+ boolean connected = wsClient.connectBlocking(requestTimeoutMs, TimeUnit.MILLISECONDS);
if (!connected) {
throw new IllegalStateException("Failed to establish WS session");
}
diff --git a/monitoring/src/main/java/org/thingsboard/monitoring/config/WsConfig.java b/monitoring/src/main/java/org/thingsboard/monitoring/config/WsConfig.java
deleted file mode 100644
index 58d0772471..0000000000
--- a/monitoring/src/main/java/org/thingsboard/monitoring/config/WsConfig.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/**
- * Copyright © 2016-2023 The Thingsboard Authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.thingsboard.monitoring.config;
-
-import lombok.Getter;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.stereotype.Component;
-
-@Component
-@Getter
-public class WsConfig {
-
- @Value("${monitoring.ws.base_url}")
- private String baseUrl;
- @Value("${monitoring.ws.request_timeout_ms}")
- private int requestTimeoutMs;
- @Value("${monitoring.ws.check_timeout_ms}")
- private int resultCheckTimeoutMs;
-
-}
diff --git a/monitoring/src/main/java/org/thingsboard/monitoring/data/Latencies.java b/monitoring/src/main/java/org/thingsboard/monitoring/data/Latencies.java
index 19652b4a78..8141c34586 100644
--- a/monitoring/src/main/java/org/thingsboard/monitoring/data/Latencies.java
+++ b/monitoring/src/main/java/org/thingsboard/monitoring/data/Latencies.java
@@ -22,10 +22,8 @@ public class Latencies {
public static final String WS_UPDATE = "wsUpdate";
public static final String WS_CONNECT = "wsConnect";
public static final String LOG_IN = "logIn";
- public static final String WEB_UI_LOAD = "webUiLoad";
public static String transportRequest(TransportType transportType) {
- int a = 2;
return String.format("%sTransportRequest", transportType.name().toLowerCase());
}
diff --git a/monitoring/src/main/java/org/thingsboard/monitoring/notification/channels/NotificationChannel.java b/monitoring/src/main/java/org/thingsboard/monitoring/notification/channels/NotificationChannel.java
index 5224a4c38e..6c1c23cc28 100644
--- a/monitoring/src/main/java/org/thingsboard/monitoring/notification/channels/NotificationChannel.java
+++ b/monitoring/src/main/java/org/thingsboard/monitoring/notification/channels/NotificationChannel.java
@@ -21,6 +21,4 @@ public interface NotificationChannel {
void sendNotification(Notification notification);
- void sendNotification(String message);
-
}
diff --git a/monitoring/src/main/java/org/thingsboard/monitoring/notification/channels/impl/SlackNotificationChannel.java b/monitoring/src/main/java/org/thingsboard/monitoring/notification/channels/impl/SlackNotificationChannel.java
index 13a36a589c..092ea0b8c6 100644
--- a/monitoring/src/main/java/org/thingsboard/monitoring/notification/channels/impl/SlackNotificationChannel.java
+++ b/monitoring/src/main/java/org/thingsboard/monitoring/notification/channels/impl/SlackNotificationChannel.java
@@ -51,8 +51,7 @@ public class SlackNotificationChannel implements NotificationChannel {
sendNotification(notification.getText());
}
- @Override
- public void sendNotification(String message) {
+ private void sendNotification(String message) {
restTemplate.postForObject(webhookUrl, Map.of("text", message), String.class);
}
diff --git a/monitoring/src/main/java/org/thingsboard/monitoring/transport/TransportHealthChecker.java b/monitoring/src/main/java/org/thingsboard/monitoring/transport/TransportHealthChecker.java
index a8163c45b1..9717b98f51 100644
--- a/monitoring/src/main/java/org/thingsboard/monitoring/transport/TransportHealthChecker.java
+++ b/monitoring/src/main/java/org/thingsboard/monitoring/transport/TransportHealthChecker.java
@@ -18,11 +18,11 @@ package org.thingsboard.monitoring.transport;
import com.fasterxml.jackson.databind.node.TextNode;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.thingsboard.common.util.JacksonUtil;
import org.thingsboard.monitoring.client.WsClient;
import org.thingsboard.monitoring.config.MonitoringTargetConfig;
import org.thingsboard.monitoring.config.TransportType;
-import org.thingsboard.monitoring.config.WsConfig;
import org.thingsboard.monitoring.config.service.TransportMonitoringConfig;
import org.thingsboard.monitoring.data.Latencies;
import org.thingsboard.monitoring.data.MonitoredServiceKey;
@@ -41,13 +41,13 @@ public abstract class TransportHealthChecker internal = ThreadLocal.withInitial(StopWatch::new);
+ private final StopWatch internal = new StopWatch();
public void start() {
- StopWatch internal = getInternal();
internal.reset();
internal.start();
}
public long getTime() {
- StopWatch internal = getInternal();
internal.stop();
long nanoTime = internal.getNanoTime();
internal.reset();
return nanoTime;
}
- private StopWatch getInternal() {
- return this.internal.get();
- }
-
}
diff --git a/monitoring/src/main/resources/tb-monitoring.yml b/monitoring/src/main/resources/tb-monitoring.yml
index a916f86b0d..403b29acc2 100644
--- a/monitoring/src/main/resources/tb-monitoring.yml
+++ b/monitoring/src/main/resources/tb-monitoring.yml
@@ -29,11 +29,12 @@ monitoring:
ws:
# WebSocket url, wss://DOMAIN by default
base_url: '${WS_BASE_URL:wss://${monitoring.domain}}'
- # Maximum time between request to transport and WebSocket update
- check_timeout_ms: '${WS_CHECK_TIMEOUT_MS:5000}'
# WebSocket request timeout
request_timeout_ms: '${WS_REQUEST_TIMEOUT_MS:3000}'
+ # Maximum time between request to transport and WebSocket update
+ check_timeout_ms: '${CHECK_TIMEOUT_MS:5000}'
+
# Failures threshold for notifying
failures_threshold: '${FAILURES_THRESHOLD:2}'
# Whether to notify about next failures after first notification (will notify after each FAILURES_THRESHOLD failures)
diff --git a/msa/monitoring/docker/Dockerfile b/msa/monitoring/docker/Dockerfile
index be817dd31f..5da050eb91 100644
--- a/msa/monitoring/docker/Dockerfile
+++ b/msa/monitoring/docker/Dockerfile
@@ -1,5 +1,5 @@
#
-# Copyright © 2016-2022 The Thingsboard Authors
+# Copyright © 2016-2023 The Thingsboard Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
diff --git a/msa/monitoring/docker/start-tb-monitoring.sh b/msa/monitoring/docker/start-tb-monitoring.sh
index e7d655674d..d5bcc52d37 100755
--- a/msa/monitoring/docker/start-tb-monitoring.sh
+++ b/msa/monitoring/docker/start-tb-monitoring.sh
@@ -1,6 +1,6 @@
#!/bin/bash
#
-# Copyright © 2016-2022 The Thingsboard Authors
+# Copyright © 2016-2023 The Thingsboard Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
diff --git a/msa/monitoring/pom.xml b/msa/monitoring/pom.xml
index eab4ab746b..09b492f759 100644
--- a/msa/monitoring/pom.xml
+++ b/msa/monitoring/pom.xml
@@ -1,7 +1,7 @@