master
json 135 lines 3.31 KB
Raw
1 {
2 "jsonSchema": {
3 "$schema": "http://json-schema.org/draft-07/schema#",
4 "title": "DNS query collector configuration.",
5 "type": "object",
6 "properties": {
7 "update_every": {
8 "title": "Update every",
9 "description": "Data collection interval, measured in seconds.",
10 "type": "integer",
11 "minimum": 1,
12 "default": 5
13 },
14 "timeout": {
15 "title": "Timeout",
16 "description": "Timeout for DNS queries, in seconds.",
17 "type": "number",
18 "default": 2
19 },
20 "network": {
21 "title": "Protocol",
22 "description": "Network protocol for DNS queries.",
23 "type": "string",
24 "enum": [
25 "udp",
26 "tcp",
27 "tcp-tls"
28 ],
29 "default": "udp"
30 },
31 "port": {
32 "title": "Port",
33 "description": "Port number for DNS servers.",
34 "type": "integer",
35 "default": 53
36 },
37 "record_types": {
38 "title": "Record types",
39 "description": "Types of DNS records to query for each server.",
40 "type": [
41 "array",
42 "null"
43 ],
44 "items": {
45 "type": "string",
46 "enum": [
47 "A",
48 "AAAA",
49 "ANY",
50 "CNAME",
51 "MX",
52 "NS",
53 "PTR",
54 "SOA",
55 "SPF",
56 "SRV",
57 "TXT"
58 ],
59 "default": "A"
60 },
61 "default": [
62 "A"
63 ],
64 "uniqueItems": true
65 },
66 "servers": {
67 "title": "Servers",
68 "description": "List of DNS servers to query. If empty, the collector will automatically use DNS servers from `/etc/resolv.conf`.",
69 "type": [
70 "array",
71 "null"
72 ],
73 "items": {
74 "title": "DNS server",
75 "description": "IP address or hostname of the DNS server.",
76 "type": "string"
77 },
78 "default": [
79 "8.8.8.8"
80 ],
81 "uniqueItems": true
82 },
83 "domains": {
84 "title": "Domains",
85 "description": "List of domains or subdomains to query. A random domain will be selected from this list at each iteration.",
86 "type": [
87 "array",
88 "null"
89 ],
90 "items": {
91 "title": "Domain",
92 "type": "string"
93 },
94 "default": [
95 "google.com",
96 "github.com"
97 ],
98 "uniqueItems": true,
99 "minItems": 1
100 },
101 "vnode": {
102 "title": "Vnode",
103 "description": "Associates this data collection job with a [Virtual Node](https://learn.netdata.cloud/docs/netdata-agent/configuration/organize-systems-metrics-and-alerts#virtual-nodes).",
104 "type": "string"
105 }
106 },
107 "required": [
108 "domains",
109 "network"
110 ]
111 },
112 "uiSchema": {
113 "uiOptions": {
114 "fullPage": true
115 },
116 "vnode": {
117 "ui:placeholder": "To use this option, first create a Virtual Node and then reference its name here."
118 },
119 "timeout": {
120 "ui:help": "Accepts decimals for precise control (e.g., type 1.5 for 1.5 seconds)."
121 },
122 "network": {
123 "ui:widget": "radio",
124 "ui:options": {
125 "inline": true
126 }
127 },
128 "servers": {
129 "ui:listFlavour": "list"
130 },
131 "domains": {
132 "ui:listFlavour": "list"
133 }
134 }
135 }