diff --git a/hertzbeat-collector/hertzbeat-collector-basic/src/main/java/org/apache/hertzbeat/collector/collect/http/HttpCollectImpl.java b/hertzbeat-collector/hertzbeat-collector-basic/src/main/java/org/apache/hertzbeat/collector/collect/http/HttpCollectImpl.java index 087b663d028..ac461a5b03b 100644 --- a/hertzbeat-collector/hertzbeat-collector-basic/src/main/java/org/apache/hertzbeat/collector/collect/http/HttpCollectImpl.java +++ b/hertzbeat-collector/hertzbeat-collector-basic/src/main/java/org/apache/hertzbeat/collector/collect/http/HttpCollectImpl.java @@ -41,7 +41,6 @@ import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.net.util.Base64; import org.apache.hertzbeat.collector.collect.AbstractCollect; import org.apache.hertzbeat.collector.collect.common.http.CommonHttpClient; import org.apache.hertzbeat.collector.collect.http.promethus.AbstractPrometheusParse; @@ -59,6 +58,7 @@ import org.apache.hertzbeat.common.entity.job.Metrics; import org.apache.hertzbeat.common.entity.job.protocol.HttpProtocol; import org.apache.hertzbeat.common.entity.message.CollectRep; +import org.apache.hertzbeat.common.util.Base64Util; import org.apache.hertzbeat.common.util.CommonUtil; import org.apache.hertzbeat.common.util.IpDomainUtil; import org.apache.http.Header; @@ -549,7 +549,7 @@ public HttpUriRequest createHttpRequest(HttpProtocol httpProtocol) { if (StringUtils.hasText(authorization.getBasicAuthUsername()) && StringUtils.hasText(authorization.getBasicAuthPassword())) { String authStr = authorization.getBasicAuthUsername() + SignConstants.DOUBLE_MARK + authorization.getBasicAuthPassword(); - String encodedAuth = new String(Base64.encodeBase64(authStr.getBytes(StandardCharsets.UTF_8)), StandardCharsets.UTF_8); + String encodedAuth = Base64Util.encode(authStr); requestBuilder.addHeader(HttpHeaders.AUTHORIZATION, DispatchConstants.BASIC + SignConstants.BLANK + encodedAuth); } } diff --git a/hertzbeat-collector/hertzbeat-collector-basic/src/main/java/org/apache/hertzbeat/collector/collect/prometheus/PrometheusAutoCollectImpl.java b/hertzbeat-collector/hertzbeat-collector-basic/src/main/java/org/apache/hertzbeat/collector/collect/prometheus/PrometheusAutoCollectImpl.java index ef110ddbbe3..1d6fb79675c 100644 --- a/hertzbeat-collector/hertzbeat-collector-basic/src/main/java/org/apache/hertzbeat/collector/collect/prometheus/PrometheusAutoCollectImpl.java +++ b/hertzbeat-collector/hertzbeat-collector-basic/src/main/java/org/apache/hertzbeat/collector/collect/prometheus/PrometheusAutoCollectImpl.java @@ -32,7 +32,6 @@ import java.util.stream.Stream; import javax.net.ssl.SSLException; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.net.util.Base64; import org.apache.hertzbeat.collector.collect.common.http.CommonHttpClient; import org.apache.hertzbeat.collector.collect.prometheus.parser.MetricFamily; import org.apache.hertzbeat.collector.collect.prometheus.parser.TextParser; @@ -44,6 +43,7 @@ import org.apache.hertzbeat.common.entity.job.Metrics; import org.apache.hertzbeat.common.entity.job.protocol.PrometheusProtocol; import org.apache.hertzbeat.common.entity.message.CollectRep; +import org.apache.hertzbeat.common.util.Base64Util; import org.apache.hertzbeat.common.util.CommonUtil; import org.apache.hertzbeat.common.util.IpDomainUtil; import org.apache.http.HttpHeaders; @@ -277,7 +277,7 @@ public HttpUriRequest createHttpRequest(PrometheusProtocol protocol) { if (StringUtils.hasText(authorization.getBasicAuthUsername()) && StringUtils.hasText(authorization.getBasicAuthPassword())) { String authStr = authorization.getBasicAuthUsername() + ":" + authorization.getBasicAuthPassword(); - String encodedAuth = new String(Base64.encodeBase64(authStr.getBytes(StandardCharsets.UTF_8)), StandardCharsets.UTF_8); + String encodedAuth = Base64Util.encode(authStr); requestBuilder.addHeader(HttpHeaders.AUTHORIZATION, DispatchConstants.BASIC + " " + encodedAuth); } } diff --git a/hertzbeat-common/src/main/java/org/apache/hertzbeat/common/util/Base64Util.java b/hertzbeat-common/src/main/java/org/apache/hertzbeat/common/util/Base64Util.java index a70d277d58f..ee9962c6387 100644 --- a/hertzbeat-common/src/main/java/org/apache/hertzbeat/common/util/Base64Util.java +++ b/hertzbeat-common/src/main/java/org/apache/hertzbeat/common/util/Base64Util.java @@ -17,6 +17,7 @@ package org.apache.hertzbeat.common.util; +import java.nio.charset.StandardCharsets; import java.util.Base64; /** @@ -39,4 +40,8 @@ public static boolean isBase64(String base64) { return false; } } + + public static String encode(String str) { + return Base64.getEncoder().encodeToString(str.getBytes(StandardCharsets.UTF_8)); + } } diff --git a/hertzbeat-grafana/src/main/java/org/apache/hertzbeat/grafana/service/ServiceAccountService.java b/hertzbeat-grafana/src/main/java/org/apache/hertzbeat/grafana/service/ServiceAccountService.java index 50427a2b844..cc504c1df73 100644 --- a/hertzbeat-grafana/src/main/java/org/apache/hertzbeat/grafana/service/ServiceAccountService.java +++ b/hertzbeat-grafana/src/main/java/org/apache/hertzbeat/grafana/service/ServiceAccountService.java @@ -25,6 +25,8 @@ import static org.apache.hertzbeat.grafana.common.GrafanaConstants.GRAFANA_CONFIG; import com.fasterxml.jackson.databind.JsonNode; import jakarta.annotation.PostConstruct; + +import java.nio.charset.StandardCharsets; import java.util.Base64; import java.util.Objects; import lombok.extern.slf4j.Slf4j; @@ -192,7 +194,7 @@ public ResponseEntity getAccounts() { private HttpHeaders createHeaders() { String auth = username + SignConstants.DOUBLE_MARK + password; - byte[] encodedAuth = Base64.getEncoder().encode(auth.getBytes()); + byte[] encodedAuth = Base64.getEncoder().encode(auth.getBytes(StandardCharsets.UTF_8)); String authHeader = NetworkConstants.BASIC + SignConstants.BLANK + new String(encodedAuth); diff --git a/hertzbeat-warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/greptime/GreptimeDbDataStorage.java b/hertzbeat-warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/greptime/GreptimeDbDataStorage.java index 1847840421f..ad8562ebe57 100644 --- a/hertzbeat-warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/greptime/GreptimeDbDataStorage.java +++ b/hertzbeat-warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/greptime/GreptimeDbDataStorage.java @@ -46,13 +46,13 @@ import java.util.concurrent.atomic.AtomicInteger; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.codec.binary.Base64; import org.apache.commons.lang3.math.NumberUtils; import org.apache.hertzbeat.common.constants.CommonConstants; import org.apache.hertzbeat.common.constants.MetricDataConstants; import org.apache.hertzbeat.common.entity.arrow.RowWrapper; import org.apache.hertzbeat.common.entity.dto.Value; import org.apache.hertzbeat.common.entity.message.CollectRep; +import org.apache.hertzbeat.common.util.Base64Util; import org.apache.hertzbeat.common.util.JsonUtil; import org.apache.hertzbeat.common.util.TimePeriodUtil; import org.apache.hertzbeat.warehouse.store.history.AbstractHistoryDataStorage; @@ -208,7 +208,7 @@ public Map> getHistoryMetricData(Long monitorId, String app, if (StringUtils.hasText(greptimeProperties.username()) && StringUtils.hasText(greptimeProperties.password())) { String authStr = greptimeProperties.username() + ":" + greptimeProperties.password(); - String encodedAuth = new String(Base64.encodeBase64(authStr.getBytes(StandardCharsets.UTF_8)), StandardCharsets.UTF_8); + String encodedAuth = Base64Util.encode(authStr); headers.add(HttpHeaders.AUTHORIZATION, BASIC + " " + encodedAuth); } Instant now = Instant.now(); diff --git a/hertzbeat-warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/vm/VictoriaMetricsClusterDataStorage.java b/hertzbeat-warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/vm/VictoriaMetricsClusterDataStorage.java index 8f4cc7b53e5..8717d103c9b 100644 --- a/hertzbeat-warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/vm/VictoriaMetricsClusterDataStorage.java +++ b/hertzbeat-warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/vm/VictoriaMetricsClusterDataStorage.java @@ -40,7 +40,6 @@ import lombok.Data; import lombok.NoArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.codec.binary.Base64; import org.apache.commons.lang3.math.NumberUtils; import org.apache.hertzbeat.common.constants.CommonConstants; import org.apache.hertzbeat.common.constants.MetricDataConstants; @@ -49,6 +48,7 @@ import org.apache.hertzbeat.common.entity.arrow.RowWrapper; import org.apache.hertzbeat.common.entity.dto.Value; import org.apache.hertzbeat.common.entity.message.CollectRep; +import org.apache.hertzbeat.common.util.Base64Util; import org.apache.hertzbeat.common.util.CommonUtil; import org.apache.hertzbeat.common.util.JsonUtil; import org.apache.hertzbeat.common.util.TimePeriodUtil; @@ -217,7 +217,7 @@ public void saveData(CollectRep.MetricsData metricsData) { if (StringUtils.hasText(vmInsertProps.username()) && StringUtils.hasText(vmInsertProps.password())) { String authStr = vmInsertProps.username() + ":" + vmInsertProps.password(); - String encodedAuth = new String(Base64.encodeBase64(authStr.getBytes(StandardCharsets.UTF_8)), StandardCharsets.UTF_8); + String encodedAuth = Base64Util.encode(authStr); headers.add(HttpHeaders.AUTHORIZATION, NetworkConstants.BASIC + SignConstants.BLANK + encodedAuth); } StringBuilder stringBuilder = new StringBuilder(); @@ -262,8 +262,7 @@ public Map> getHistoryMetricData(Long monitorId, String app, headers.setAccept(List.of(MediaType.APPLICATION_JSON)); if (StringUtils.hasText(vmSelectProps.username()) && StringUtils.hasText(vmSelectProps.password())) { String authStr = vmSelectProps.username() + ":" + vmSelectProps.password(); - String encodedAuth = new String(Base64.encodeBase64(authStr.getBytes(StandardCharsets.UTF_8)), - StandardCharsets.UTF_8); + String encodedAuth = Base64Util.encode(authStr); headers.add(HttpHeaders.AUTHORIZATION, NetworkConstants.BASIC + SignConstants.BLANK + encodedAuth); } @@ -358,8 +357,7 @@ public Map> getHistoryIntervalMetricData(Long monitorId, Str headers.setAccept(List.of(MediaType.APPLICATION_JSON)); if (StringUtils.hasText(vmSelectProps.username()) && StringUtils.hasText(vmSelectProps.password())) { String authStr = vmSelectProps.username() + ":" + vmSelectProps.password(); - String encodedAuth = new String(Base64.encodeBase64(authStr.getBytes(StandardCharsets.UTF_8)), - StandardCharsets.UTF_8); + String encodedAuth = Base64Util.encode(authStr); headers.add(HttpHeaders.AUTHORIZATION, NetworkConstants.BASIC + SignConstants.BLANK + encodedAuth); } diff --git a/hertzbeat-warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/vm/VictoriaMetricsDataStorage.java b/hertzbeat-warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/vm/VictoriaMetricsDataStorage.java index 4bd4cf510fd..5fc9599137e 100644 --- a/hertzbeat-warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/vm/VictoriaMetricsDataStorage.java +++ b/hertzbeat-warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/vm/VictoriaMetricsDataStorage.java @@ -38,7 +38,6 @@ import lombok.Data; import lombok.NoArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.codec.binary.Base64; import org.apache.commons.lang3.math.NumberUtils; import org.apache.hertzbeat.common.constants.CommonConstants; import org.apache.hertzbeat.common.constants.MetricDataConstants; @@ -47,6 +46,7 @@ import org.apache.hertzbeat.common.entity.arrow.RowWrapper; import org.apache.hertzbeat.common.entity.dto.Value; import org.apache.hertzbeat.common.entity.message.CollectRep; +import org.apache.hertzbeat.common.util.Base64Util; import org.apache.hertzbeat.common.util.CommonUtil; import org.apache.hertzbeat.common.util.JsonUtil; import org.apache.hertzbeat.common.util.TimePeriodUtil; @@ -109,7 +109,7 @@ private boolean checkVictoriaMetricsDatasourceAvailable() { if (StringUtils.hasText(victoriaMetricsProp.username()) && StringUtils.hasText(victoriaMetricsProp.password())) { String authStr = victoriaMetricsProp.username() + SignConstants.DOUBLE_MARK + victoriaMetricsProp.password(); - String encodedAuth = new String(Base64.encodeBase64(authStr.getBytes(StandardCharsets.UTF_8)), StandardCharsets.UTF_8); + String encodedAuth = Base64Util.encode(authStr); headers.add(HttpHeaders.AUTHORIZATION, NetworkConstants.BASIC + " " + encodedAuth); } HttpEntity httpEntity = new HttpEntity<>(headers); @@ -222,7 +222,7 @@ public void saveData(CollectRep.MetricsData metricsData) { if (StringUtils.hasText(victoriaMetricsProp.username()) && StringUtils.hasText(victoriaMetricsProp.password())) { String authStr = victoriaMetricsProp.username() + ":" + victoriaMetricsProp.password(); - String encodedAuth = new String(Base64.encodeBase64(authStr.getBytes(StandardCharsets.UTF_8)), StandardCharsets.UTF_8); + String encodedAuth = Base64Util.encode(authStr); headers.add(HttpHeaders.AUTHORIZATION, NetworkConstants.BASIC + SignConstants.BLANK + encodedAuth); } StringBuilder stringBuilder = new StringBuilder(); @@ -262,7 +262,7 @@ public Map> getHistoryMetricData(Long monitorId, String app, if (StringUtils.hasText(victoriaMetricsProp.username()) && StringUtils.hasText(victoriaMetricsProp.password())) { String authStr = victoriaMetricsProp.username() + ":" + victoriaMetricsProp.password(); - String encodedAuth = new String(Base64.encodeBase64(authStr.getBytes(StandardCharsets.UTF_8)), StandardCharsets.UTF_8); + String encodedAuth = Base64Util.encode(authStr); headers.add(HttpHeaders.AUTHORIZATION, NetworkConstants.BASIC + SignConstants.BLANK + encodedAuth); } HttpEntity httpEntity = new HttpEntity<>(headers); @@ -356,7 +356,7 @@ public Map> getHistoryIntervalMetricData(Long monitorId, Str if (StringUtils.hasText(victoriaMetricsProp.username()) && StringUtils.hasText(victoriaMetricsProp.password())) { String authStr = victoriaMetricsProp.username() + ":" + victoriaMetricsProp.password(); - String encodedAuth = new String(Base64.encodeBase64(authStr.getBytes(StandardCharsets.UTF_8)), StandardCharsets.UTF_8); + String encodedAuth = Base64Util.encode(authStr); headers.add(HttpHeaders.AUTHORIZATION, NetworkConstants.BASIC + SignConstants.BLANK + encodedAuth); }