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 54c163abf [refactor] code simplification, structure changes and
translation (#1827)
54c163abf is described below
commit 54c163abfb08b5c96e90116aa62103163e22f993
Author: Hyeon Sung <[email protected]>
AuthorDate: Thu Apr 25 00:12:06 2024 +0900
[refactor] code simplification, structure changes and translation (#1827)
Co-authored-by: tomsun28 <[email protected]>
---
.../collector/collect/icmp/IcmpCollectImpl.java | 29 +++++++++++-----------
.../collector/collect/jmx/JmxCollectImpl.java | 17 ++++++-------
2 files changed, 22 insertions(+), 24 deletions(-)
diff --git
a/collector/src/main/java/org/apache/hertzbeat/collector/collect/icmp/IcmpCollectImpl.java
b/collector/src/main/java/org/apache/hertzbeat/collector/collect/icmp/IcmpCollectImpl.java
index 624e184ce..e8042679e 100644
---
a/collector/src/main/java/org/apache/hertzbeat/collector/collect/icmp/IcmpCollectImpl.java
+++
b/collector/src/main/java/org/apache/hertzbeat/collector/collect/icmp/IcmpCollectImpl.java
@@ -41,14 +41,14 @@ public class IcmpCollectImpl extends AbstractCollect {
@Override
public void collect(CollectRep.MetricsData.Builder builder, long
monitorId, String app, Metrics metrics) {
long startTime = System.currentTimeMillis();
- // 简单校验必有参数
+ // Simple validation requires mandatory parameters
if (metrics == null || metrics.getIcmp() == null) {
builder.setCode(CollectRep.Code.FAIL);
builder.setMsg("ICMP collect must has icmp params");
return;
}
IcmpProtocol icmp = metrics.getIcmp();
- // 超时时间默认6000毫秒
+ // The default timeout is 6000 milliseconds
int timeout = 6000;
try {
timeout = Integer.parseInt(icmp.getTimeout());
@@ -56,26 +56,25 @@ public class IcmpCollectImpl extends AbstractCollect {
log.warn(e.getMessage());
}
try {
- // todo need root java jcm to use ICMP, else it telnet the peer
server 7 port available
- // todo 需要配置java虚拟机root权限从而使用ICMP,否则是判断telnet对端7号端口是否开通
+ // todo requires Java JVM with root permissions to use ICMP,
otherwise check if telnet is available on peer server's port 7
+ // todo requires configuring Java JVM with root permissions to use
ICMP, otherwise check if telnet is available on the peer's port 7
// todo
https://stackoverflow.com/questions/11506321/how-to-ping-an-ip-address
boolean status =
InetAddress.getByName(icmp.getHost()).isReachable(timeout);
long responseTime = System.currentTimeMillis() - startTime;
- if (status) {
- CollectRep.ValueRow.Builder valueRowBuilder =
CollectRep.ValueRow.newBuilder();
- for (String alias : metrics.getAliasFields()) {
- if
(CollectorConstants.RESPONSE_TIME.equalsIgnoreCase(alias)) {
-
valueRowBuilder.addColumns(Long.toString(responseTime));
- } else {
- valueRowBuilder.addColumns(CommonConstants.NULL_VALUE);
- }
- }
- builder.addValues(valueRowBuilder.build());
- } else {
+ if (!status) {
builder.setCode(CollectRep.Code.UN_REACHABLE);
builder.setMsg("Un Reachable, Timeout " + timeout + "ms");
return;
}
+ CollectRep.ValueRow.Builder valueRowBuilder =
CollectRep.ValueRow.newBuilder();
+ for (String alias : metrics.getAliasFields()) {
+ if (CollectorConstants.RESPONSE_TIME.equalsIgnoreCase(alias)) {
+ valueRowBuilder.addColumns(Long.toString(responseTime));
+ } else {
+ valueRowBuilder.addColumns(CommonConstants.NULL_VALUE);
+ }
+ }
+ builder.addValues(valueRowBuilder.build());
} catch (UnknownHostException unknownHostException) {
String errorMsg =
CommonUtil.getMessageFromThrowable(unknownHostException);
builder.setCode(CollectRep.Code.UN_REACHABLE);
diff --git
a/collector/src/main/java/org/apache/hertzbeat/collector/collect/jmx/JmxCollectImpl.java
b/collector/src/main/java/org/apache/hertzbeat/collector/collect/jmx/JmxCollectImpl.java
index e3ca9e3ae..73c380030 100644
---
a/collector/src/main/java/org/apache/hertzbeat/collector/collect/jmx/JmxCollectImpl.java
+++
b/collector/src/main/java/org/apache/hertzbeat/collector/collect/jmx/JmxCollectImpl.java
@@ -53,6 +53,7 @@ import org.apache.hertzbeat.common.entity.job.Metrics;
import org.apache.hertzbeat.common.entity.job.protocol.JmxProtocol;
import org.apache.hertzbeat.common.entity.message.CollectRep;
import org.apache.hertzbeat.common.util.CommonUtil;
+import org.springframework.util.Assert;
import org.springframework.util.StringUtils;
/**
@@ -76,8 +77,8 @@ public class JmxCollectImpl extends AbstractCollect {
public void collect(CollectRep.MetricsData.Builder builder, long
monitorId, String app, Metrics metrics) {
try {
- JmxProtocol jmxProtocol = metrics.getJmx();
validateParams(metrics);
+ JmxProtocol jmxProtocol = metrics.getJmx();
// Create a jndi remote connection
JMXConnector jmxConnector = getConnectSession(jmxProtocol);
@@ -161,14 +162,12 @@ public class JmxCollectImpl extends AbstractCollect {
return attributeValueMap;
}
- private void validateParams(Metrics metrics) throws
IllegalArgumentException {
- if (metrics == null || metrics.getJmx() == null) {
- throw new IllegalArgumentException("JMX collect must has jmx
params");
- }
- if (StringUtils.hasText(metrics.getJmx().getUrl())) {
- if (metrics.getJmx().getUrl().contains(IGNORED_STUB)) {
- throw new IllegalArgumentException("JMX url prohibit contains
stub, please check");
- }
+ private void validateParams(Metrics metrics) {
+ Assert.isTrue(metrics != null && metrics.getJmx() != null, "JMX
collect must have JMX params");
+
+ String url = metrics.getJmx().getUrl();
+ if (StringUtils.hasText(url)) {
+ Assert.doesNotContain(url, IGNORED_STUB, "JMX url prohibit
contains stub, please check");
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]