This is an automated email from the ASF dual-hosted git repository.
gongchao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hertzbeat.git
The following commit(s) were added to refs/heads/master by this push:
new 558599350 [bugfix] added basic auth support for VictoriaMetrics status
check (#2282)
558599350 is described below
commit 5585993503d7b6f0963b2ad0a768f31c10af4141
Author: Logic <[email protected]>
AuthorDate: Tue Jul 16 16:35:44 2024 +0800
[bugfix] added basic auth support for VictoriaMetrics status check (#2282)
---
.../store/history/vm/VictoriaMetricsDataStorage.java | 19 +++++++++++++------
1 file changed, 13 insertions(+), 6 deletions(-)
diff --git
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/vm/VictoriaMetricsDataStorage.java
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/vm/VictoriaMetricsDataStorage.java
index 6a687fa29..2770956a3 100644
---
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/vm/VictoriaMetricsDataStorage.java
+++
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/history/vm/VictoriaMetricsDataStorage.java
@@ -17,7 +17,6 @@
package org.apache.hertzbeat.warehouse.store.history.vm;
-import com.fasterxml.jackson.databind.JsonNode;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.net.URI;
@@ -103,13 +102,21 @@ public class VictoriaMetricsDataStorage extends
AbstractHistoryDataStorage {
private boolean checkVictoriaMetricsDatasourceAvailable() {
// check server status
try {
- String result =
restTemplate.getForObject(victoriaMetricsProp.url() + STATUS_PATH,
String.class);
-
- JsonNode jsonNode = JsonUtil.fromJson(result);
- if (jsonNode != null &&
STATUS_SUCCESS.equalsIgnoreCase(jsonNode.get(STATUS).asText())) {
+ HttpHeaders headers = new HttpHeaders();
+ 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);
+ headers.add(HttpHeaders.AUTHORIZATION, BASIC + " " +
encodedAuth);
+ }
+ HttpEntity<Void> httpEntity = new HttpEntity<>(headers);
+ ResponseEntity<String> responseEntity =
restTemplate.exchange(victoriaMetricsProp.url() + STATUS_PATH,
+ HttpMethod.GET, httpEntity, String.class);
+ if (responseEntity.getStatusCode().is2xxSuccessful()) {
+ log.info("check victoria metrics server status success.");
return true;
}
- log.error("check victoria metrics server status not success: {}.",
result);
+ log.error("check victoria metrics server status not success: {}.",
responseEntity.getBody());
} catch (Exception e) {
log.error("check victoria metrics server status error: {}.",
e.getMessage());
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]