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 024152ec3 [bugfix] dns monitoring template add query class parameter
(#1825)
024152ec3 is described below
commit 024152ec32b34217f67db14d39344b9377061007
Author: LiuTianyou <[email protected]>
AuthorDate: Wed Apr 24 00:09:28 2024 +0800
[bugfix] dns monitoring template add query class parameter (#1825)
Co-authored-by: tomsun28 <[email protected]>
---
.../collector/collect/dns/DnsCollectImpl.java | 4 +++
.../collector/collect/dns/DnsCollectImplTest.java | 1 +
.../common/entity/job/protocol/DnsProtocol.java | 3 +-
home/docs/help/dns.md | 1 +
.../current/help/dns.md | 1 +
manager/src/main/resources/define/app-dns.yml | 39 +++++++++++++++++++++-
6 files changed, 47 insertions(+), 2 deletions(-)
diff --git
a/collector/src/main/java/org/apache/hertzbeat/collector/collect/dns/DnsCollectImpl.java
b/collector/src/main/java/org/apache/hertzbeat/collector/collect/dns/DnsCollectImpl.java
index 57f5ffde1..138720c9e 100644
---
a/collector/src/main/java/org/apache/hertzbeat/collector/collect/dns/DnsCollectImpl.java
+++
b/collector/src/main/java/org/apache/hertzbeat/collector/collect/dns/DnsCollectImpl.java
@@ -92,6 +92,10 @@ public class DnsCollectImpl extends AbstractCollect {
@Override
public void collect(CollectRep.MetricsData.Builder builder, long
monitorId, String app, Metrics metrics) {
+ // compatible with monitoring template configurations of older versions
+ if (StringUtils.isBlank(metrics.getDns().getQueryClass())) {
+ metrics.getDns().setQueryClass(DClass.string(DClass.IN));
+ }
// check params
if (checkDnsProtocolFailed(metrics.getDns())) {
builder.setCode(CollectRep.Code.FAIL);
diff --git
a/collector/src/test/java/org/apache/hertzbeat/collector/collect/dns/DnsCollectImplTest.java
b/collector/src/test/java/org/apache/hertzbeat/collector/collect/dns/DnsCollectImplTest.java
index a23d3f566..46601b818 100644
---
a/collector/src/test/java/org/apache/hertzbeat/collector/collect/dns/DnsCollectImplTest.java
+++
b/collector/src/test/java/org/apache/hertzbeat/collector/collect/dns/DnsCollectImplTest.java
@@ -38,6 +38,7 @@ public class DnsCollectImplTest {
dnsCollect = new DnsCollectImpl();
dnsProtocol = DnsProtocol.builder()
.dnsServerIP("8.8.8.8")
+ .queryClass("IN")
.address("www.google.com")
.build();
}
diff --git
a/common/src/main/java/org/apache/hertzbeat/common/entity/job/protocol/DnsProtocol.java
b/common/src/main/java/org/apache/hertzbeat/common/entity/job/protocol/DnsProtocol.java
index 6909683b7..331d3832c 100644
---
a/common/src/main/java/org/apache/hertzbeat/common/entity/job/protocol/DnsProtocol.java
+++
b/common/src/main/java/org/apache/hertzbeat/common/entity/job/protocol/DnsProtocol.java
@@ -36,8 +36,9 @@ public class DnsProtocol {
private String address;
private String timeout;
private String tcp;
+ private String queryClass;
public boolean isInvalid() {
- return StringUtils.isAnyBlank(dnsServerIP, port, address, timeout,
tcp);
+ return StringUtils.isAnyBlank(dnsServerIP, port, address, timeout,
tcp, queryClass);
}
}
diff --git a/home/docs/help/dns.md b/home/docs/help/dns.md
index 0dfa1a076..7587452c1 100644
--- a/home/docs/help/dns.md
+++ b/home/docs/help/dns.md
@@ -18,6 +18,7 @@ keywords: [ open source monitoring tool, open source DNS
monitoring tool, monito
| Monitoring port | The port for DNS service provided to the
outside,default is 53.
|
| Address For DNS | The address for domain name resolution.
|
| Connect Timeout | Set the timeout for connecting to the DNS server,
default is 6000 milliseconds. |
+| Query Class | Resource class for DNS query. Optional values include
`IN`, `CHAOS`, `HESIOD`, `NONE`, and `ANY`,default is IN. |
| Use TCP Protocol | DNS queries use the TCP protocol.
|
| Collection interval | Interval time of monitor periodic data collection,
unit: second, and the minimum interval that can be set is 30 seconds. |
| Bind Tags | Used to classify and manage monitoring resources.
|
diff --git a/home/i18n/zh-cn/docusaurus-plugin-content-docs/current/help/dns.md
b/home/i18n/zh-cn/docusaurus-plugin-content-docs/current/help/dns.md
index 775ca76c9..67ea72c17 100644
--- a/home/i18n/zh-cn/docusaurus-plugin-content-docs/current/help/dns.md
+++ b/home/i18n/zh-cn/docusaurus-plugin-content-docs/current/help/dns.md
@@ -20,6 +20,7 @@ keywords: [ 开源监控系统, 开源DNS监控工具, 监控DNS指标 ]
| 端口 | DNS服务对外提供的端口,默认为53。 |
| 域名解析的地址 | 域名解析的地址。 |
| 连接超时时间 | 设置连接DNS服务器的超时时间,单位ms毫秒,默认6000毫秒。 |
+| 查询类别 | DNS查询的类别. 可选的值包括 `IN`, `CHAOS`, `HESIOD`, `NONE`, 和 `ANY`。默认值:IN
|
| 是否使用tcp协议 | 设置DNS查询是否使用tcp协议。 |
| 采集间隔 | 监控周期性数据采集的时间间隔,单位:秒,最小可设置为30秒。 |
| 绑定标签 | 用于对监控资源进行分类管理。 |
diff --git a/manager/src/main/resources/define/app-dns.yml
b/manager/src/main/resources/define/app-dns.yml
index 7fefdb588..9650db25b 100644
--- a/manager/src/main/resources/define/app-dns.yml
+++ b/manager/src/main/resources/define/app-dns.yml
@@ -113,7 +113,29 @@ params:
# default value false
# 默认值 false
defaultValue: false
-
+ - field: queryClass
+ # name-param field display i18n name
+ # name-参数字段显示名称
+ name:
+ zh-CN: 查询类别
+ en-US: Query Class
+ type: radio
+ required: true
+ options:
+ - label: IN
+ value: IN
+ - label: CHAOS
+ value: CHAOS
+ - label: HESIOD
+ value: HESIOD
+ - label: NONE
+ value: NONE
+ - label: ANY
+ value: ANY
+ # default value IN
+ # 默认值 IN
+ defaultValue: IN
+ hide: true
# collect metrics config list
# 采集指标配置列表
metrics:
@@ -194,6 +216,9 @@ metrics:
# 是否使用tcp协议
# Use TCP Protocol
tcp: ^_^tcp^_^
+ # 查询类别
+ # Query Class
+ queryClass: ^_^queryClass^_^
# metrics - question
# 监控指标 - question
@@ -236,6 +261,9 @@ metrics:
# 是否使用tcp协议
# Use TCP Protocol
tcp: ^_^tcp^_^
+ # 查询类别
+ # Query Class
+ queryClass: ^_^queryClass^_^
# metrics - answer
# 监控指标 - answer
@@ -323,6 +351,9 @@ metrics:
# 是否使用tcp协议
# Use TCP Protocol
tcp: ^_^tcp^_^
+ # 查询类别
+ # Query Class
+ queryClass: ^_^queryClass^_^
# metrics - authority
# 监控指标 - authority
@@ -410,6 +441,9 @@ metrics:
# 是否使用tcp协议
# Use TCP Protocol
tcp: ^_^tcp^_^
+ # 查询类别
+ # Query Class
+ queryClass: ^_^queryClass^_^
# metrics - additional
# 监控指标 - additional
@@ -497,3 +531,6 @@ metrics:
# 是否使用tcp协议
# Use TCP Protocol
tcp: ^_^tcp^_^
+ # 查询类别
+ # Query Class
+ queryClass: ^_^queryClass^_^
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]