@cryptotaxi247 / netdata-1 / commits / 7add1121d

improve go.d.plugin dyncfg config schemas (#17124)

Ilya Mashchenko committed Mar 7, 2024 at 14:14 UTC 7add1121d2e14f9f61a6c88fb483943402aca300
62 files changed +494 -202
src/go/collectors/go.d.plugin/agent/functions/manager.go
+2 -2
@@ -51,8 +51,6 @@ func (m *Manager) Run(ctx context.Context) {
51 defer func() { m.Info("instance is stopped") }()
52
53 if !isTerminal {
54 - var wg sync.WaitGroup
55 -
54 r, err := cancelreader.NewReader(m.Input)
55 if err != nil {
56 m.Errorf("fail to create cancel reader: %v", err)
@@ -61,6 +59,8 @@ func (m *Manager) Run(ctx context.Context) {
59
60 go func() { <-ctx.Done(); r.Cancel() }()
61
62 + var wg sync.WaitGroup
63 +
64 wg.Add(1)
65 go func() { defer wg.Done(); m.run(r) }()
66
src/go/collectors/go.d.plugin/modules/activemq/config_schema.json
+12 -3
@@ -109,17 +109,20 @@
109 "tls_ca": {
110 "title": "TLS CA",
111 "description": "The path to the CA certificate file for TLS verification.",
112 - "type": "string"
112 + "type": "string",
113 + "pattern": "^/"
114 },
115 "tls_cert": {
116 "title": "TLS certificate",
117 "description": "The path to the client certificate file for TLS authentication.",
117 - "type": "string"
118 + "type": "string",
119 + "pattern": "^/"
120 },
121 "tls_key": {
122 "title": "TLS key",
123 "description": "The path to the client key file for TLS authentication.",
122 - "type": "string"
124 + "type": "string",
125 + "pattern": "^/"
126 }
127 },
128 "required": [
@@ -188,6 +191,12 @@
191 "timeout": {
192 "ui:help": "Accepts decimals for precise control (e.g., type 1.5 for 1.5 seconds)."
193 },
194 + "queues_filter": {
195 + "ui:help": "Use `*` to collect all queues. To exclude all queues from collection, use `!*`."
196 + },
197 + "topics_filter": {
198 + "ui:help": "Use `*` to collect all topics. To exclude all topics from collection, use `!*`."
199 + },
200 "password": {
201 "ui:widget": "password"
202 },
src/go/collectors/go.d.plugin/modules/apache/config_schema.json
+6 -3
@@ -75,17 +75,20 @@
75 "tls_ca": {
76 "title": "TLS CA",
77 "description": "The path to the CA certificate file for TLS verification.",
78 - "type": "string"
78 + "type": "string",
79 + "pattern": "^/"
80 },
81 "tls_cert": {
82 "title": "TLS certificate",
83 "description": "The path to the client certificate file for TLS authentication.",
83 - "type": "string"
84 + "type": "string",
85 + "pattern": "^/"
86 },
87 "tls_key": {
88 "title": "TLS key",
89 "description": "The path to the client key file for TLS authentication.",
88 - "type": "string"
90 + "type": "string",
91 + "pattern": "^/"
92 }
93 },
94 "required": [
src/go/collectors/go.d.plugin/modules/bind/config_schema.json
+6 -3
@@ -75,17 +75,20 @@
75 "tls_ca": {
76 "title": "TLS CA",
77 "description": "The path to the CA certificate file for TLS verification.",
78 - "type": "string"
78 + "type": "string",
79 + "pattern": "^/"
80 },
81 "tls_cert": {
82 "title": "TLS certificate",
83 "description": "The path to the client certificate file for TLS authentication.",
83 - "type": "string"
84 + "type": "string",
85 + "pattern": "^/"
86 },
87 "tls_key": {
88 "title": "TLS key",
89 "description": "The path to the client key file for TLS authentication.",
88 - "type": "string"
90 + "type": "string",
91 + "pattern": "^/"
92 }
93 },
94 "required": [
src/go/collectors/go.d.plugin/modules/cassandra/config_schema.json
+6 -3
@@ -75,17 +75,20 @@
75 "tls_ca": {
76 "title": "TLS CA",
77 "description": "The path to the CA certificate file for TLS verification.",
78 - "type": "string"
78 + "type": "string",
79 + "pattern": "^/"
80 },
81 "tls_cert": {
82 "title": "TLS certificate",
83 "description": "The path to the client certificate file for TLS authentication.",
83 - "type": "string"
84 + "type": "string",
85 + "pattern": "^/"
86 },
87 "tls_key": {
88 "title": "TLS key",
89 "description": "The path to the client key file for TLS authentication.",
88 - "type": "string"
90 + "type": "string",
91 + "pattern": "^/"
92 }
93 },
94 "required": [
src/go/collectors/go.d.plugin/modules/cockroachdb/config_schema.json
+6 -3
@@ -75,17 +75,20 @@
75 "tls_ca": {
76 "title": "TLS CA",
77 "description": "The path to the CA certificate file for TLS verification.",
78 - "type": "string"
78 + "type": "string",
79 + "pattern": "^/"
80 },
81 "tls_cert": {
82 "title": "TLS certificate",
83 "description": "The path to the client certificate file for TLS authentication.",
83 - "type": "string"
84 + "type": "string",
85 + "pattern": "^/"
86 },
87 "tls_key": {
88 "title": "TLS key",
89 "description": "The path to the client key file for TLS authentication.",
88 - "type": "string"
90 + "type": "string",
91 + "pattern": "^/"
92 }
93 },
94 "required": [
src/go/collectors/go.d.plugin/modules/consul/config_schema.json
+6 -3
@@ -81,17 +81,20 @@
81 "tls_ca": {
82 "title": "TLS CA",
83 "description": "The path to the CA certificate file for TLS verification.",
84 - "type": "string"
84 + "type": "string",
85 + "pattern": "^/"
86 },
87 "tls_cert": {
88 "title": "TLS certificate",
89 "description": "The path to the client certificate file for TLS authentication.",
89 - "type": "string"
90 + "type": "string",
91 + "pattern": "^/"
92 },
93 "tls_key": {
94 "title": "TLS key",
95 "description": "The path to the client key file for TLS authentication.",
94 - "type": "string"
96 + "type": "string",
97 + "pattern": "^/"
98 }
99 },
100 "required": [
src/go/collectors/go.d.plugin/modules/coredns/config_schema.json
+78 -6
@@ -30,6 +30,60 @@
30 "description": "If set, the client will not follow HTTP redirects automatically.",
31 "type": "boolean"
32 },
33 + "per_server_stats": {
34 + "title": "Server selector",
35 + "description": "Configures collection of per-server statistics. If left empty, no stats will be collected. Matching is performed against the `server` label value.",
36 + "type": "object",
37 + "properties": {
38 + "includes": {
39 + "title": "Include",
40 + "description": "Include servers whose names match any of the specified inclusion [patterns](https://github.com/netdata/netdata/tree/master/src/go/collectors/go.d.plugin/pkg/matcher#readme).",
41 + "type": "array",
42 + "items": {
43 + "title": "Server pattern",
44 + "type": "string"
45 + },
46 + "uniqueItems": true
47 + },
48 + "excludes": {
49 + "title": "Exclude",
50 + "description": "Exclude servers whose names match any of the specified exclusion [patterns](https://github.com/netdata/netdata/tree/master/src/go/collectors/go.d.plugin/pkg/matcher#readme).",
51 + "type": "array",
52 + "items": {
53 + "title": "Server pattern",
54 + "type": "string"
55 + },
56 + "uniqueItems": true
57 + }
58 + }
59 + },
60 + "per_zone_stats": {
61 + "title": "Zone selector",
62 + "description": "Configures collection of per-zone statistics. If left empty, no stats will be collected. Matching is performed against the `zone` label value.",
63 + "type": "object",
64 + "properties": {
65 + "includes": {
66 + "title": "Include",
67 + "description": "Include zones whose names match any of the specified inclusion [patterns](https://github.com/netdata/netdata/tree/master/src/go/collectors/go.d.plugin/pkg/matcher#readme).",
68 + "type": "array",
69 + "items": {
70 + "title": "Zone pattern",
71 + "type": "string"
72 + },
73 + "uniqueItems": true
74 + },
75 + "excludes": {
76 + "title": "Exclude",
77 + "description": "Exclude zones whose names match any of the specified exclusion [patterns](https://github.com/netdata/netdata/tree/master/src/go/collectors/go.d.plugin/pkg/matcher#readme).",
78 + "type": "array",
79 + "items": {
80 + "title": "Zone pattern",
81 + "type": "string"
82 + },
83 + "uniqueItems": true
84 + }
85 + }
86 + },
87 "username": {
88 "title": "Username",
89 "description": "The username for basic authentication.",
@@ -75,17 +129,20 @@
129 "tls_ca": {
130 "title": "TLS CA",
131 "description": "The path to the CA certificate file for TLS verification.",
78 - "type": "string"
132 + "type": "string",
133 + "pattern": "^/"
134 },
135 "tls_cert": {
136 "title": "TLS certificate",
137 "description": "The path to the client certificate file for TLS authentication.",
83 - "type": "string"
138 + "type": "string",
139 + "pattern": "^/"
140 },
141 "tls_key": {
142 "title": "TLS key",
143 "description": "The path to the client key file for TLS authentication.",
88 - "type": "string"
144 + "type": "string",
145 + "pattern": "^/"
146 }
147 },
148 "required": [
@@ -93,6 +150,9 @@
150 ]
151 },
152 "uiSchema": {
153 + "uiOptions": {
154 + "fullPage": true
155 + },
156 "ui:flavour": "tabs",
157 "ui:options": {
158 "tabs": [
@@ -105,6 +165,13 @@
165 "not_follow_redirects"
166 ]
167 },
168 + {
169 + "title": "Server & Zone stats",
170 + "fields": [
171 + "per_server_stats",
172 + "per_zone_stats"
173 + ]
174 + },
175 {
176 "title": "Auth",
177 "fields": [
@@ -137,12 +204,17 @@
204 }
205 ]
206 },
140 - "uiOptions": {
141 - "fullPage": true
142 - },
207 "timeout": {
208 "ui:help": "Accepts decimals for precise control (e.g., type 1.5 for 1.5 seconds)."
209 },
210 + "per_server_stats": {
211 + "ui:help": "The logic for inclusion and exclusion is as follows: `(include1 OR include2) AND !(exclude1 OR exclude2)`.",
212 + "ui:collapsible": true
213 + },
214 + "per_zone_stats": {
215 + "ui:help": "The logic for inclusion and exclusion is as follows: `(include1 OR include2) AND !(exclude1 OR exclude2)`.",
216 + "ui:collapsible": true
217 + },
218 "password": {
219 "ui:widget": "password"
220 },
src/go/collectors/go.d.plugin/modules/couchbase/config_schema.json
+6 -3
@@ -75,17 +75,20 @@
75 "tls_ca": {
76 "title": "TLS CA",
77 "description": "The path to the CA certificate file for TLS verification.",
78 - "type": "string"
78 + "type": "string",
79 + "pattern": "^/"
80 },
81 "tls_cert": {
82 "title": "TLS certificate",
83 "description": "The path to the client certificate file for TLS authentication.",
83 - "type": "string"
84 + "type": "string",
85 + "pattern": "^/"
86 },
87 "tls_key": {
88 "title": "TLS key",
89 "description": "The path to the client key file for TLS authentication.",
88 - "type": "string"
90 + "type": "string",
91 + "pattern": "^/"
92 }
93 },
94 "required": [
src/go/collectors/go.d.plugin/modules/couchdb/config_schema.json
+7 -4
@@ -38,7 +38,7 @@
38 },
39 "databases": {
40 "title": "Databases",
41 - "description": "A space-separated list of database names for which database-specific statistics should be displayed.",
41 + "description": "A space-separated list of database names for which you want to collect data. Leave blank to exclude database statistics.",
42 "type": "string"
43 },
44 "username": {
@@ -86,17 +86,20 @@
86 "tls_ca": {
87 "title": "TLS CA",
88 "description": "The path to the CA certificate file for TLS verification.",
89 - "type": "string"
89 + "type": "string",
90 + "pattern": "^/"
91 },
92 "tls_cert": {
93 "title": "TLS certificate",
94 "description": "The path to the client certificate file for TLS authentication.",
94 - "type": "string"
95 + "type": "string",
96 + "pattern": "^/"
97 },
98 "tls_key": {
99 "title": "TLS key",
100 "description": "The path to the client key file for TLS authentication.",
99 - "type": "string"
101 + "type": "string",
102 + "pattern": "^/"
103 }
104 },
105 "required": [
src/go/collectors/go.d.plugin/modules/dnsdist/config_schema.json
+6 -3
@@ -75,17 +75,20 @@
75 "tls_ca": {
76 "title": "TLS CA",
77 "description": "The path to the CA certificate file for TLS verification.",
78 - "type": "string"
78 + "type": "string",
79 + "pattern": "^/"
80 },
81 "tls_cert": {
82 "title": "TLS certificate",
83 "description": "The path to the client certificate file for TLS authentication.",
83 - "type": "string"
84 + "type": "string",
85 + "pattern": "^/"
86 },
87 "tls_key": {
88 "title": "TLS key",
89 "description": "The path to the client key file for TLS authentication.",
88 - "type": "string"
90 + "type": "string",
91 + "pattern": "^/"
92 }
93 },
94 "required": [
src/go/collectors/go.d.plugin/modules/dnsmasq_dhcp/config_schema.json
+6 -3
@@ -15,19 +15,22 @@
15 "title": "Leases file",
16 "description": "File path to the Dnsmasq DHCP server's lease database.",
17 "type": "string",
18 - "default": "/var/lib/misc/dnsmasq.leases"
18 + "default": "/var/lib/misc/dnsmasq.leases",
19 + "pattern": "^/"
20 },
21 "conf_path": {
22 "title": "Config file",
23 "description": "File path for the Dnsmasq configuration. Used to find all configured DHCP ranges.",
24 "type": "string",
24 - "default": "/etc/dnsmasq.conf"
25 + "default": "/etc/dnsmasq.conf",
26 + "pattern": "^/"
27 },
28 "conf_dir": {
29 "title": "Config directory",
30 "description": "Directory path for Dnsmasq configurations. The syntax follows the same format as the [--conf-dir](https://thekelleys.org.uk/dnsmasq/docs/dnsmasq-man.html) option.",
31 "type": "string",
30 - "default": "/etc/dnsmasq.d,.dpkg-dist,.dpkg-old,.dpkg-new"
32 + "default": "/etc/dnsmasq.d,.dpkg-dist,.dpkg-old,.dpkg-new",
33 + "pattern": "^/"
34 }
35 },
36 "required": [
src/go/collectors/go.d.plugin/modules/dnsquery/config_schema.json
+6
@@ -109,6 +109,12 @@
109 "ui:options": {
110 "inline": true
111 }
112 + },
113 + "servers": {
114 + "ui:listFlavour": "list"
115 + },
116 + "domains": {
117 + "ui:listFlavour": "list"
118 }
119 }
120 }
src/go/collectors/go.d.plugin/modules/docker_engine/config_schema.json
+9 -6
@@ -75,17 +75,20 @@
75 "tls_ca": {
76 "title": "TLS CA",
77 "description": "The path to the CA certificate file for TLS verification.",
78 - "type": "string"
78 + "type": "string",
79 + "pattern": "^/"
80 },
81 "tls_cert": {
82 "title": "TLS certificate",
83 "description": "The path to the client certificate file for TLS authentication.",
83 - "type": "string"
84 + "type": "string",
85 + "pattern": "^/"
86 },
87 "tls_key": {
88 "title": "TLS key",
89 "description": "The path to the client key file for TLS authentication.",
88 - "type": "string"
90 + "type": "string",
91 + "pattern": "^/"
92 }
93 },
94 "required": [
@@ -93,6 +96,9 @@
96 ]
97 },
98 "uiSchema": {
99 + "uiOptions": {
100 + "fullPage": true
101 + },
102 "ui:flavour": "tabs",
103 "ui:options": {
104 "tabs": [
@@ -137,9 +143,6 @@
143 }
144 ]
145 },
140 - "uiOptions": {
141 - "fullPage": true
142 - },
146 "timeout": {
147 "ui:help": "Accepts decimals for precise control (e.g., type 1.5 for 1.5 seconds)."
148 },
src/go/collectors/go.d.plugin/modules/dockerhub/config_schema.json
+24 -4
@@ -25,6 +25,18 @@
25 "minimum": 0.5,
26 "default": 2
27 },
28 + "repositories": {
29 + "title": "Repositories",
30 + "description": "List of repositories to monitor.",
31 + "type": "array",
32 + "items": {
33 + "title": "Name",
34 + "description": "The name of the repository.",
35 + "type": "string"
36 + },
37 + "uniqueItems": true,
38 + "minItems": 1
39 + },
40 "not_follow_redirects": {
41 "title": "Not follow redirects",
42 "description": "If set, the client will not follow HTTP redirects automatically.",
@@ -75,21 +87,25 @@
87 "tls_ca": {
88 "title": "TLS CA",
89 "description": "The path to the CA certificate file for TLS verification.",
78 - "type": "string"
90 + "type": "string",
91 + "pattern": "^/"
92 },
93 "tls_cert": {
94 "title": "TLS certificate",
95 "description": "The path to the client certificate file for TLS authentication.",
83 - "type": "string"
96 + "type": "string",
97 + "pattern": "^/"
98 },
99 "tls_key": {
100 "title": "TLS key",
101 "description": "The path to the client key file for TLS authentication.",
88 - "type": "string"
102 + "type": "string",
103 + "pattern": "^/"
104 }
105 },
106 "required": [
92 - "url"
107 + "url",
108 + "repositories"
109 ]
110 },
111 "uiSchema": {
@@ -102,6 +118,7 @@
118 "update_every",
119 "url",
120 "timeout",
121 + "repositories",
122 "not_follow_redirects"
123 ]
124 },
@@ -143,6 +160,9 @@
160 "timeout": {
161 "ui:help": "Accepts decimals for precise control (e.g., type 1.5 for 1.5 seconds)."
162 },
163 + "repositories": {
164 + "ui:listFlavour": "list"
165 + },
166 "password": {
167 "ui:widget": "password"
168 },
src/go/collectors/go.d.plugin/modules/elasticsearch/config_schema.json
+6 -3
@@ -105,17 +105,20 @@
105 "tls_ca": {
106 "title": "TLS CA",
107 "description": "The path to the CA certificate file for TLS verification.",
108 - "type": "string"
108 + "type": "string",
109 + "pattern": "^/"
110 },
111 "tls_cert": {
112 "title": "TLS certificate",
113 "description": "The path to the client certificate file for TLS authentication.",
113 - "type": "string"
114 + "type": "string",
115 + "pattern": "^/"
116 },
117 "tls_key": {
118 "title": "TLS key",
119 "description": "The path to the client key file for TLS authentication.",
118 - "type": "string"
120 + "type": "string",
121 + "pattern": "^/"
122 }
123 },
124 "required": [
src/go/collectors/go.d.plugin/modules/envoy/config_schema.json
+6 -3
@@ -75,17 +75,20 @@
75 "tls_ca": {
76 "title": "TLS CA",
77 "description": "The path to the CA certificate file for TLS verification.",
78 - "type": "string"
78 + "type": "string",
79 + "pattern": "^/"
80 },
81 "tls_cert": {
82 "title": "TLS certificate",
83 "description": "The path to the client certificate file for TLS authentication.",
83 - "type": "string"
84 + "type": "string",
85 + "pattern": "^/"
86 },
87 "tls_key": {
88 "title": "TLS key",
89 "description": "The path to the client key file for TLS authentication.",
88 - "type": "string"
90 + "type": "string",
91 + "pattern": "^/"
92 }
93 },
94 "required": [
src/go/collectors/go.d.plugin/modules/filecheck/config_schema.json
+12 -26
@@ -22,7 +22,8 @@
22 "type": "array",
23 "items": {
24 "title": "Filepath",
25 - "type": "string"
25 + "type": "string",
26 + "pattern": "^/"
27 },
28 "uniqueItems": true
29 },
@@ -32,7 +33,8 @@
33 "type": "array",
34 "items": {
35 "title": "Filepath",
35 - "type": "string"
36 + "type": "string",
37 + "pattern": "^/"
38 },
39 "uniqueItems": true
40 }
@@ -58,7 +60,8 @@
60 "type": "array",
61 "items": {
62 "title": "Directory",
61 - "type": "string"
63 + "type": "string",
64 + "pattern": "^/"
65 },
66 "uniqueItems": true
67 },
@@ -68,7 +71,8 @@
71 "type": "array",
72 "items": {
73 "title": "Directory",
71 - "type": "string"
74 + "type": "string",
75 + "pattern": "^/"
76 },
77 "uniqueItems": true
78 }
@@ -80,34 +84,16 @@
84 }
85 },
86 "uiSchema": {
83 - "ui:flavour": "tabs",
84 - "ui:options": {
85 - "tabs": [
86 - {
87 - "title": "Files",
88 - "fields": [
89 - "update_every",
90 - "files"
91 - ]
92 - },
93 - {
94 - "title": "Directories",
95 - "fields": [
96 - "update_every",
97 - "collect_dir_size",
98 - "dirs"
99 - ]
100 - }
101 - ]
102 - },
87 "uiOptions": {
88 "fullPage": true
89 },
90 "files": {
107 - "ui:help": "The logic for inclusion and exclusion is as follows: `(include1 OR include2) AND !(exclude1 OR exclude2)`."
91 + "ui:help": "The logic for inclusion and exclusion is as follows: `(include1 OR include2) AND !(exclude1 OR exclude2)`.",
92 + "ui:collapsible": true
93 },
94 "dirs": {
110 - "ui:help": "The logic for inclusion and exclusion is as follows: `(include1 OR include2) AND !(exclude1 OR exclude2)`."
95 + "ui:help": "The logic for inclusion and exclusion is as follows: `(include1 OR include2) AND !(exclude1 OR exclude2)`.",
96 + "ui:collapsible": true
97 }
98 }
99 }
src/go/collectors/go.d.plugin/modules/fluentd/config_schema.json
+6 -3
@@ -75,17 +75,20 @@
75 "tls_ca": {
76 "title": "TLS CA",
77 "description": "The path to the CA certificate file for TLS verification.",
78 - "type": "string"
78 + "type": "string",
79 + "pattern": "^/"
80 },
81 "tls_cert": {
82 "title": "TLS certificate",
83 "description": "The path to the client certificate file for TLS authentication.",
83 - "type": "string"
84 + "type": "string",
85 + "pattern": "^/"
86 },
87 "tls_key": {
88 "title": "TLS key",
89 "description": "The path to the client key file for TLS authentication.",
88 - "type": "string"
90 + "type": "string",
91 + "pattern": "^/"
92 }
93 },
94 "required": [
src/go/collectors/go.d.plugin/modules/geth/config_schema.json
+6 -3
@@ -75,17 +75,20 @@
75 "tls_ca": {
76 "title": "TLS CA",
77 "description": "The path to the CA certificate file for TLS verification.",
78 - "type": "string"
78 + "type": "string",
79 + "pattern": "^/"
80 },
81 "tls_cert": {
82 "title": "TLS certificate",
83 "description": "The path to the client certificate file for TLS authentication.",
83 - "type": "string"
84 + "type": "string",
85 + "pattern": "^/"
86 },
87 "tls_key": {
88 "title": "TLS key",
89 "description": "The path to the client key file for TLS authentication.",
88 - "type": "string"
90 + "type": "string",
91 + "pattern": "^/"
92 }
93 },
94 "required": [
src/go/collectors/go.d.plugin/modules/haproxy/config_schema.json
+6 -3
@@ -75,17 +75,20 @@
75 "tls_ca": {
76 "title": "TLS CA",
77 "description": "The path to the CA certificate file for TLS verification.",
78 - "type": "string"
78 + "type": "string",
79 + "pattern": "^/"
80 },
81 "tls_cert": {
82 "title": "TLS certificate",
83 "description": "The path to the client certificate file for TLS authentication.",
83 - "type": "string"
84 + "type": "string",
85 + "pattern": "^/"
86 },
87 "tls_key": {
88 "title": "TLS key",
89 "description": "The path to the client key file for TLS authentication.",
88 - "type": "string"
90 + "type": "string",
91 + "pattern": "^/"
92 }
93 },
94 "required": [
src/go/collectors/go.d.plugin/modules/hdfs/config_schema.json
+6 -3
@@ -75,17 +75,20 @@
75 "tls_ca": {
76 "title": "TLS CA",
77 "description": "The path to the CA certificate file for TLS verification.",
78 - "type": "string"
78 + "type": "string",
79 + "pattern": "^/"
80 },
81 "tls_cert": {
82 "title": "TLS certificate",
83 "description": "The path to the client certificate file for TLS authentication.",
83 - "type": "string"
84 + "type": "string",
85 + "pattern": "^/"
86 },
87 "tls_key": {
88 "title": "TLS key",
89 "description": "The path to the client key file for TLS authentication.",
88 - "type": "string"
90 + "type": "string",
91 + "pattern": "^/"
92 }
93 },
94 "required": [
src/go/collectors/go.d.plugin/modules/httpcheck/config_schema.json
+11 -5
@@ -31,7 +31,7 @@
31 },
32 "accepted_statuses": {
33 "title": "Status code check",
34 - "description": "Specifies the list of HTTP response status codes that are considered acceptable. Responses with status codes not included in this list will be categorized as 'bad status' in the status chart.",
34 + "description": "Specifies the list of **HTTP response status codes** that are considered **acceptable**. Responses with status codes not included in this list will be categorized as 'bad status' in the status chart.",
35 "type": "array",
36 "items": {
37 "title": "Code",
@@ -47,7 +47,7 @@
47 },
48 "response_match": {
49 "title": "Content check",
50 - "description": "Specifies a regular expression pattern to match against the content of the HTTP response. This check is performed only if the response's status code is accepted.",
50 + "description": "Specifies a [regular expression](https://regex101.com/) pattern to match against the content (body) of the HTTP response. This check is performed only if the response's status code is accepted.",
51 "type": "string"
52 },
53 "header_match": {
@@ -124,17 +124,20 @@
124 "tls_ca": {
125 "title": "TLS CA",
126 "description": "The path to the CA certificate file for TLS verification.",
127 - "type": "string"
127 + "type": "string",
128 + "pattern": "^/"
129 },
130 "tls_cert": {
131 "title": "TLS certificate",
132 "description": "The path to the client certificate file for TLS authentication.",
132 - "type": "string"
133 + "type": "string",
134 + "pattern": "^/"
135 },
136 "tls_key": {
137 "title": "TLS key",
138 "description": "The path to the client key file for TLS authentication.",
137 - "type": "string"
139 + "type": "string",
140 + "pattern": "^/"
141 }
142 },
143 "required": [
@@ -198,6 +201,9 @@
201 "uiOptions": {
202 "fullPage": true
203 },
204 + "url": {
205 + "ui:placeholder": "http://127.0.0.1"
206 + },
207 "timeout": {
208 "ui:help": "Accepts decimals for precise control (e.g., type 1.5 for 1.5 seconds)."
209 }
src/go/collectors/go.d.plugin/modules/isc_dhcpd/config_schema.json
+4 -3
@@ -15,11 +15,12 @@
15 "title": "Leases file",
16 "description": "File path to the ISC DHCP server's lease database.",
17 "type": "string",
18 - "default": "/var/lib/dhcp/dhcpd.leases"
18 + "default": "/var/lib/dhcp/dhcpd.leases",
19 + "pattern": "^/"
20 },
21 "pools": {
22 "title": "IP pools",
22 - "description": "A list of IP pools to monitor.",
23 + "description": "A list of IP pools to monitor. Each pool consists of a descriptive name and corresponding IP ranges.",
24 "type": "array",
25 "items": {
26 "title": "IP pool",
@@ -32,7 +33,7 @@
33 },
34 "networks": {
35 "title": "Networks",
35 - "description": "A space-separated list of [IP ranges](https://github.com/netdata/netdata/tree/master/src/go/collectors/go.d.plugin/pkg/iprange#supported-formats).",
36 + "description": "A space-separated list of [IP ranges](https://github.com/netdata/netdata/tree/master/src/go/collectors/go.d.plugin/pkg/iprange#supported-formats) for the pool.",
37 "type": "string"
38 }
39 },
src/go/collectors/go.d.plugin/modules/k8s_kubelet/config_schema.json
+6 -3
@@ -75,17 +75,20 @@
75 "tls_ca": {
76 "title": "TLS CA",
77 "description": "The path to the CA certificate file for TLS verification.",
78 - "type": "string"
78 + "type": "string",
79 + "pattern": "^/"
80 },
81 "tls_cert": {
82 "title": "TLS certificate",
83 "description": "The path to the client certificate file for TLS authentication.",
83 - "type": "string"
84 + "type": "string",
85 + "pattern": "^/"
86 },
87 "tls_key": {
88 "title": "TLS key",
89 "description": "The path to the client key file for TLS authentication.",
88 - "type": "string"
90 + "type": "string",
91 + "pattern": "^/"
92 }
93 },
94 "required": [
src/go/collectors/go.d.plugin/modules/k8s_kubeproxy/config_schema.json
+6 -3
@@ -75,17 +75,20 @@
75 "tls_ca": {
76 "title": "TLS CA",
77 "description": "The path to the CA certificate file for TLS verification.",
78 - "type": "string"
78 + "type": "string",
79 + "pattern": "^/"
80 },
81 "tls_cert": {
82 "title": "TLS certificate",
83 "description": "The path to the client certificate file for TLS authentication.",
83 - "type": "string"
84 + "type": "string",
85 + "pattern": "^/"
86 },
87 "tls_key": {
88 "title": "TLS key",
89 "description": "The path to the client key file for TLS authentication.",
88 - "type": "string"
90 + "type": "string",
91 + "pattern": "^/"
92 }
93 },
94 "required": [
src/go/collectors/go.d.plugin/modules/lighttpd/config_schema.json
+6 -3
@@ -75,17 +75,20 @@
75 "tls_ca": {
76 "title": "TLS CA",
77 "description": "The path to the CA certificate file for TLS verification.",
78 - "type": "string"
78 + "type": "string",
79 + "pattern": "^/"
80 },
81 "tls_cert": {
82 "title": "TLS certificate",
83 "description": "The path to the client certificate file for TLS authentication.",
83 - "type": "string"
84 + "type": "string",
85 + "pattern": "^/"
86 },
87 "tls_key": {
88 "title": "TLS key",
89 "description": "The path to the client key file for TLS authentication.",
88 - "type": "string"
90 + "type": "string",
91 + "pattern": "^/"
92 }
93 },
94 "required": [
src/go/collectors/go.d.plugin/modules/logstash/config_schema.json
+6 -3
@@ -75,17 +75,20 @@
75 "tls_ca": {
76 "title": "TLS CA",
77 "description": "The path to the CA certificate file for TLS verification.",
78 - "type": "string"
78 + "type": "string",
79 + "pattern": "^/"
80 },
81 "tls_cert": {
82 "title": "TLS certificate",
83 "description": "The path to the client certificate file for TLS authentication.",
83 - "type": "string"
84 + "type": "string",
85 + "pattern": "^/"
86 },
87 "tls_key": {
88 "title": "TLS key",
89 "description": "The path to the client key file for TLS authentication.",
88 - "type": "string"
90 + "type": "string",
91 + "pattern": "^/"
92 }
93 },
94 "required": [
src/go/collectors/go.d.plugin/modules/mongodb/config_schema.json
+3
@@ -60,6 +60,9 @@
60 "uiOptions": {
61 "fullPage": true
62 },
63 + "uri": {
64 + "ui:placeholder": "mongodb://username:password@host:port"
65 + },
66 "timeout": {
67 "ui:help": "Accepts decimals for precise control (e.g., type 1.5 for 1.5 seconds)."
68 },
src/go/collectors/go.d.plugin/modules/mysql/config_schema.json
+7 -1
@@ -29,12 +29,18 @@
29 "description": "Optional. Specifies the path to the my.cnf file containing connection settings under the [client] section.",
30 "type": "string"
31 }
32 - }
32 + },
33 + "required": [
34 + "dsn"
35 + ]
36 },
37 "uiSchema": {
38 "uiOptions": {
39 "fullPage": true
40 },
41 + "dsn": {
42 + "ui:placeholder": "username:password@protocol(address)/dbname"
43 + },
44 "timeout": {
45 "ui:help": "Accepts decimals for precise control (e.g., type 1.5 for 1.5 seconds)."
46 }
src/go/collectors/go.d.plugin/modules/nginx/config_schema.json
+6 -3
@@ -75,17 +75,20 @@
75 "tls_ca": {
76 "title": "TLS CA",
77 "description": "The path to the CA certificate file for TLS verification.",
78 - "type": "string"
78 + "type": "string",
79 + "pattern": "^/"
80 },
81 "tls_cert": {
82 "title": "TLS certificate",
83 "description": "The path to the client certificate file for TLS authentication.",
83 - "type": "string"
84 + "type": "string",
85 + "pattern": "^/"
86 },
87 "tls_key": {
88 "title": "TLS key",
89 "description": "The path to the client key file for TLS authentication.",
88 - "type": "string"
90 + "type": "string",
91 + "pattern": "^/"
92 }
93 },
94 "required": [
src/go/collectors/go.d.plugin/modules/nginxplus/config_schema.json
+6 -3
@@ -75,17 +75,20 @@
75 "tls_ca": {
76 "title": "TLS CA",
77 "description": "The path to the CA certificate file for TLS verification.",
78 - "type": "string"
78 + "type": "string",
79 + "pattern": "^/"
80 },
81 "tls_cert": {
82 "title": "TLS certificate",
83 "description": "The path to the client certificate file for TLS authentication.",
83 - "type": "string"
84 + "type": "string",
85 + "pattern": "^/"
86 },
87 "tls_key": {
88 "title": "TLS key",
89 "description": "The path to the client key file for TLS authentication.",
88 - "type": "string"
90 + "type": "string",
91 + "pattern": "^/"
92 }
93 },
94 "required": [
src/go/collectors/go.d.plugin/modules/nginxvts/config_schema.json
+6 -3
@@ -74,17 +74,20 @@
74 "tls_ca": {
75 "title": "TLS CA",
76 "description": "The path to the CA certificate file for TLS verification.",
77 - "type": "string"
77 + "type": "string",
78 + "pattern": "^/"
79 },
80 "tls_cert": {
81 "title": "TLS certificate",
82 "description": "The path to the client certificate file for TLS authentication.",
82 - "type": "string"
83 + "type": "string",
84 + "pattern": "^/"
85 },
86 "tls_key": {
87 "title": "TLS key",
88 "description": "The path to the client key file for TLS authentication.",
87 - "type": "string"
89 + "type": "string",
90 + "pattern": "^/"
91 }
92 },
93 "required": [
src/go/collectors/go.d.plugin/modules/openvpn_status_log/config_schema.json
+2 -1
@@ -15,7 +15,8 @@
15 "title": "Log file",
16 "description": "Path to the status log file.",
17 "type": "string",
18 - "default": "/var/log/openvpn/status.log"
18 + "default": "/var/log/openvpn/status.log",
19 + "pattern": "^/"
20 },
21 "per_user_stats": {
22 "title": "User selector",
src/go/collectors/go.d.plugin/modules/pgbouncer/config_schema.json
+8 -2
@@ -13,7 +13,7 @@
13 },
14 "dsn": {
15 "title": "DSN",
16 - "description": "PgBouncer server Data Source Name in [keyword/value or URI format](https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNSTRING).",
16 + "description": "PgBouncer server Data Source Name in [key/value string](https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNSTRING-KEYWORD-VALUE) or [URI](https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNSTRING-URIS) format.",
17 "type": "string",
18 "default": "postgres://netdata:password@127.0.0.1:6432/pgbouncer"
19 },
@@ -24,12 +24,18 @@
24 "minimum": 0.5,
25 "default": 1
26 }
27 - }
27 + },
28 + "required": [
29 + "dsn"
30 + ]
31 },
32 "uiSchema": {
33 "uiOptions": {
34 "fullPage": true
35 },
36 + "dsn": {
37 + "ui:placeholder": "postgres://username:password@host:port/dbname"
38 + },
39 "timeout": {
40 "ui:help": "Accepts decimals for precise control (e.g., type 1.5 for 1.5 seconds)."
41 }
src/go/collectors/go.d.plugin/modules/phpdaemon/config_schema.json
+6 -3
@@ -75,17 +75,20 @@
75 "tls_ca": {
76 "title": "TLS CA",
77 "description": "The path to the CA certificate file for TLS verification.",
78 - "type": "string"
78 + "type": "string",
79 + "pattern": "^/"
80 },
81 "tls_cert": {
82 "title": "TLS certificate",
83 "description": "The path to the client certificate file for TLS authentication.",
83 - "type": "string"
84 + "type": "string",
85 + "pattern": "^/"
86 },
87 "tls_key": {
88 "title": "TLS key",
89 "description": "The path to the client key file for TLS authentication.",
88 - "type": "string"
90 + "type": "string",
91 + "pattern": "^/"
92 }
93 },
94 "required": [
src/go/collectors/go.d.plugin/modules/pihole/config_schema.json
+6 -3
@@ -81,17 +81,20 @@
81 "tls_ca": {
82 "title": "TLS CA",
83 "description": "The path to the CA certificate file for TLS verification.",
84 - "type": "string"
84 + "type": "string",
85 + "pattern": "^/"
86 },
87 "tls_cert": {
88 "title": "TLS certificate",
89 "description": "The path to the client certificate file for TLS authentication.",
89 - "type": "string"
90 + "type": "string",
91 + "pattern": "^/"
92 },
93 "tls_key": {
94 "title": "TLS key",
95 "description": "The path to the client key file for TLS authentication.",
94 - "type": "string"
96 + "type": "string",
97 + "pattern": "^/"
98 }
99 },
100 "required": [
src/go/collectors/go.d.plugin/modules/pika/config_schema.json
+8 -4
@@ -32,17 +32,20 @@
32 "tls_ca": {
33 "title": "TLS CA",
34 "description": "The path to the CA certificate file for TLS verification.",
35 - "type": "string"
35 + "type": "string",
36 + "pattern": "^/"
37 },
38 "tls_cert": {
39 "title": "TLS certificate",
40 "description": "The path to the client certificate file for TLS authentication.",
40 - "type": "string"
41 + "type": "string",
42 + "pattern": "^/"
43 },
44 "tls_key": {
45 "title": "TLS key",
46 "description": "The path to the client key file for TLS authentication.",
45 - "type": "string"
47 + "type": "string",
48 + "pattern": "^/"
49 }
50 },
51 "required": [
@@ -54,7 +57,8 @@
57 "fullPage": true
58 },
59 "address": {
57 - "ui:help": "Tcp connection: `redis://<user>:<password>@<host>:<port>/<db_number>`. Unix connection: `unix://<user>:<password>@</path/to/redis.sock>?db=<db_number>`."
60 + "ui:placeholder": "redis://user:password@host:port",
61 + "ui:help": "Tcp connection: `redis://user:password@host:port`. Unix connection: `unix://user:password@/path/to/redis.sock`."
62 },
63 "timeout": {
64 "ui:help": "Accepts decimals for precise control (e.g., type 1.5 for 1.5 seconds)."
src/go/collectors/go.d.plugin/modules/ping/config_schema.json
+1 -1
@@ -13,7 +13,7 @@
13 },
14 "privileged": {
15 "title": "Privileged mode",
16 - "description": "Determines the type of ping packets. If unset, sends unprivileged UDP ping packets; if set, sends raw ICMP ping packets (requires elevated privileges).",
16 + "description": "If unset, sends unprivileged UDP ping packets (require [additional configuration](https://github.com/netdata/netdata/tree/master/src/go/collectors/go.d.plugin/modules/ping#overview)); otherwise, sends raw ICMP ping packets ([not recommended](https://github.com/netdata/netdata/issues/15410)).",
17 "type": "boolean",
18 "default": false
19 },
src/go/collectors/go.d.plugin/modules/portcheck/config_schema.json
+11 -5
@@ -12,11 +12,6 @@
12 "minimum": 1,
13 "default": 5
14 },
15 - "host": {
16 - "title": "Network host",
17 - "description": "The IP address or domain name of the network host.",
18 - "type": "string"
19 - },
15 "timeout": {
16 "title": "Timeout",
17 "description": "Timeout for establishing a connection, including domain name resolution, in seconds.",
@@ -24,6 +19,11 @@
19 "minimum": 0.5,
20 "default": 2
21 },
22 + "host": {
23 + "title": "Network host",
24 + "description": "The IP address or domain name of the network host.",
25 + "type": "string"
26 + },
27 "ports": {
28 "title": "Ports",
29 "description": "A list of ports to monitor for TCP service availability and response time.",
@@ -48,6 +48,12 @@
48 },
49 "timeout": {
50 "ui:help": "Accepts decimals for precise control (e.g., type 1.5 for 1.5 seconds)."
51 + },
52 + "host": {
53 + "ui:placeholder": "127.0.0.1"
54 + },
55 + "ports": {
56 + "ui:listFlavour": "list"
57 }
58 }
59 }
src/go/collectors/go.d.plugin/modules/postgres/config_schema.json
+4 -1
@@ -13,7 +13,7 @@
13 },
14 "dsn": {
15 "title": "DSN",
16 - "description": "Postgres server Data Source Name in [keyword/value or URI format](https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNSTRING).",
16 + "description": "Postgres server Data Source Name in [key/value string](https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNSTRING-KEYWORD-VALUE) or [URI](https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNSTRING-URIS) format.",
17 "type": "string",
18 "default": "postgres://netdata:password@127.0.0.1:5432/postgres"
19 },
@@ -118,6 +118,9 @@
118 }
119 ]
120 },
121 + "dsn": {
122 + "ui:placeholder": "postgres://username:password@host:port/dbname"
123 + },
124 "transaction_time_histogram": {
125 "ui:listFlavour": "list"
126 },
src/go/collectors/go.d.plugin/modules/powerdns/config_schema.json
+6 -3
@@ -75,17 +75,20 @@
75 "tls_ca": {
76 "title": "TLS CA",
77 "description": "The path to the CA certificate file for TLS verification.",
78 - "type": "string"
78 + "type": "string",
79 + "pattern": "^/"
80 },
81 "tls_cert": {
82 "title": "TLS certificate",
83 "description": "The path to the client certificate file for TLS authentication.",
83 - "type": "string"
84 + "type": "string",
85 + "pattern": "^/"
86 },
87 "tls_key": {
88 "title": "TLS key",
89 "description": "The path to the client key file for TLS authentication.",
88 - "type": "string"
90 + "type": "string",
91 + "pattern": "^/"
92 }
93 },
94 "required": [
src/go/collectors/go.d.plugin/modules/powerdns_recursor/config_schema.json
+6 -3
@@ -75,17 +75,20 @@
75 "tls_ca": {
76 "title": "TLS CA",
77 "description": "The path to the CA certificate file for TLS verification.",
78 - "type": "string"
78 + "type": "string",
79 + "pattern": "^/"
80 },
81 "tls_cert": {
82 "title": "TLS certificate",
83 "description": "The path to the client certificate file for TLS authentication.",
83 - "type": "string"
84 + "type": "string",
85 + "pattern": "^/"
86 },
87 "tls_key": {
88 "title": "TLS key",
89 "description": "The path to the client key file for TLS authentication.",
88 - "type": "string"
90 + "type": "string",
91 + "pattern": "^/"
92 }
93 },
94 "required": [
src/go/collectors/go.d.plugin/modules/prometheus/config_schema.json
+7 -4
@@ -78,7 +78,7 @@
78 "description": "Metrics with more time series than this limit are skipped. Set to 0 for no limit.",
79 "type": "integer",
80 "minimum": 0,
81 - "default": 2000
81 + "default": 200
82 },
83 "fallback_type": {
84 "title": "Untyped metrics fallback",
@@ -157,17 +157,20 @@
157 "tls_ca": {
158 "title": "TLS CA",
159 "description": "The path to the CA certificate file for TLS verification.",
160 - "type": "string"
160 + "type": "string",
161 + "pattern": "^/"
162 },
163 "tls_cert": {
164 "title": "TLS certificate",
165 "description": "The path to the client certificate file for TLS authentication.",
165 - "type": "string"
166 + "type": "string",
167 + "pattern": "^/"
168 },
169 "tls_key": {
170 "title": "TLS key",
171 "description": "The path to the client key file for TLS authentication.",
170 - "type": "string"
172 + "type": "string",
173 + "pattern": "^/"
174 }
175 },
176 "required": [
src/go/collectors/go.d.plugin/modules/proxysql/config_schema.json
+3
@@ -33,6 +33,9 @@
33 "uiOptions": {
34 "fullPage": true
35 },
36 + "dsn": {
37 + "ui:placeholder": "username:password@protocol(address)/dbname"
38 + },
39 "timeout": {
40 "ui:help": "Accepts decimals for precise control (e.g., type 1.5 for 1.5 seconds)."
41 }
src/go/collectors/go.d.plugin/modules/pulsar/config_schema.json
+6 -3
@@ -75,17 +75,20 @@
75 "tls_ca": {
76 "title": "TLS CA",
77 "description": "The path to the CA certificate file for TLS verification.",
78 - "type": "string"
78 + "type": "string",
79 + "pattern": "^/"
80 },
81 "tls_cert": {
82 "title": "TLS certificate",
83 "description": "The path to the client certificate file for TLS authentication.",
83 - "type": "string"
84 + "type": "string",
85 + "pattern": "^/"
86 },
87 "tls_key": {
88 "title": "TLS key",
89 "description": "The path to the client key file for TLS authentication.",
88 - "type": "string"
90 + "type": "string",
91 + "pattern": "^/"
92 }
93 },
94 "required": [
src/go/collectors/go.d.plugin/modules/rabbitmq/config_schema.json
+9 -4
@@ -15,7 +15,7 @@
15 "title": "URL",
16 "description": "The base URL of the RabbitMQ [management API](https://rabbitmq-website.pages.dev/docs/management).",
17 "type": "string",
18 - "default": "https://127.0.0.1:80",
18 + "default": "http://localhost:15672",
19 "format": "uri"
20 },
21 "timeout": {
@@ -40,12 +40,14 @@
40 "title": "Username",
41 "description": "The username for basic authentication.",
42 "type": "string",
43 + "default": "guest",
44 "sensitive": true
45 },
46 "password": {
47 "title": "Password",
48 "description": "The password for basic authentication.",
49 "type": "string",
50 + "default": "guest",
51 "sensitive": true
52 },
53 "proxy_url": {
@@ -81,17 +83,20 @@
83 "tls_ca": {
84 "title": "TLS CA",
85 "description": "The path to the CA certificate file for TLS verification.",
84 - "type": "string"
86 + "type": "string",
87 + "pattern": "^/"
88 },
89 "tls_cert": {
90 "title": "TLS certificate",
91 "description": "The path to the client certificate file for TLS authentication.",
89 - "type": "string"
92 + "type": "string",
93 + "pattern": "^/"
94 },
95 "tls_key": {
96 "title": "TLS key",
97 "description": "The path to the client key file for TLS authentication.",
94 - "type": "string"
98 + "type": "string",
99 + "pattern": "^/"
100 }
101 },
102 "required": [
src/go/collectors/go.d.plugin/modules/redis/config_schema.json
+2 -1
@@ -73,7 +73,8 @@
73 "fullPage": true
74 },
75 "address": {
76 - "ui:help": "Tcp connection: `redis://<user>:<password>@<host>:<port>/<db_number>`. Unix connection: `unix://<user>:<password>@</path/to/redis.sock>?db=<db_number>`."
76 + "ui:placeholder": "redis://user:password@host:port",
77 + "ui:help": "Tcp connection: `redis://user:password@host:port`. Unix connection: `unix://user:password@/path/to/redis.sock`."
78 },
79 "timeout": {
80 "ui:help": "Accepts decimals for precise control (e.g., type 1.5 for 1.5 seconds)."
src/go/collectors/go.d.plugin/modules/scaleio/config_schema.json
+6 -3
@@ -75,17 +75,20 @@
75 "tls_ca": {
76 "title": "TLS CA",
77 "description": "The path to the CA certificate file for TLS verification.",
78 - "type": "string"
78 + "type": "string",
79 + "pattern": "^/"
80 },
81 "tls_cert": {
82 "title": "TLS certificate",
83 "description": "The path to the client certificate file for TLS authentication.",
83 - "type": "string"
84 + "type": "string",
85 + "pattern": "^/"
86 },
87 "tls_key": {
88 "title": "TLS key",
89 "description": "The path to the client key file for TLS authentication.",
88 - "type": "string"
90 + "type": "string",
91 + "pattern": "^/"
92 }
93 },
94 "required": [
src/go/collectors/go.d.plugin/modules/snmp/config_schema.json
+22 -6
@@ -12,15 +12,18 @@
12 },
13 "hostname": {
14 "title": "Hostname",
15 + "description": "The hostname or IP address of the SNMP-enabled device.",
16 "type": "string"
17 },
18 "community": {
19 "title": "SNMPv1/2 community",
20 + "description": "The SNMP community string for SNMPv1/v2c authentication.",
21 "type": "string",
22 "default": "public"
23 },
24 "options": {
25 "title": "Options",
26 + "description": "Configuration options for SNMP monitoring.",
27 "type": "object",
28 "properties": {
29 "version": {
@@ -35,28 +38,28 @@
38 },
39 "port": {
40 "title": "Port",
38 - "description": "",
41 + "description": "The port number on which the SNMP service is running.",
42 "type": "integer",
43 "exclusiveMinimum": 0,
44 "default": 161
45 },
46 "retries": {
47 "title": "Retries",
45 - "description": "Retries to attempt.",
48 + "description": "The number of retries to attempt for SNMP requests.",
49 "type": "integer",
50 "minimum": 0,
51 "default": 161
52 },
53 "timeout": {
54 "title": "Timeout",
52 - "description": "SNMP request/response timeout.",
55 + "description": "The timeout duration in seconds for SNMP requests.",
56 "type": "integer",
57 "minimum": 1,
58 "default": 1
59 },
60 "max_request_size": {
61 "title": "Max OIDs in request",
59 - "description": "Maximum number of OIDs allowed in one one SNMP request.",
62 + "description": "The maximum number of OIDs allowed in a single SNMP request.",
63 "type": "integer",
64 "minimum": 1,
65 "default": 60
@@ -72,10 +75,12 @@
75 },
76 "user": {
77 "title": "SNMPv3 configuration",
78 + "description": "Configuration options for SNMPv3 authentication and encryption.",
79 "type": "object",
80 "properties": {
81 "name": {
82 "title": "Username",
83 + "description": "The username for SNMPv3 authentication.",
84 "type": "string"
85 },
86 "level": {
@@ -173,10 +178,16 @@
178 "default": 90000
179 },
180 "multiply_range": {
181 + "title": "OID index range",
182 + "description": "Specifies the range of indexes used to create multiple charts. If set, a chart will be created for each index in the specified range. Each chart will have the index appended to the OID dimension.",
183 "type": "array",
184 "items": {
178 - "type": "integer"
179 - }
185 + "title": "Index",
186 + "type": "integer",
187 + "minimum": 0
188 + },
189 + "uniqueItems": true,
190 + "maxItems": 2
191 },
192 "dimensions": {
193 "title": "Dimensions",
@@ -290,14 +301,19 @@
301 },
302 "charts": {
303 "items": {
304 + "ui:collapsible": true,
305 "type": {
306 "ui:widget": "radio",
307 "ui:options": {
308 "inline": true
309 }
310 },
311 + "multiply_range": {
312 + "ui:listFlavour": "list"
313 + },
314 "dimensions": {
315 "items": {
316 + "ui:collapsible": true,
317 "algorithm": {
318 "ui:widget": "radio",
319 "ui:options": {
src/go/collectors/go.d.plugin/modules/squidlog/config_schema.json
+2 -1
@@ -14,7 +14,8 @@
14 "title": "Log file",
15 "description": "The file path to the Squid server log file.",
16 "type": "string",
17 - "default": "/var/log/squid/access.log"
17 + "default": "/var/log/squid/access.log",
18 + "pattern": "^/"
19 },
20 "exclude_path": {
21 "title": "Exclude path",
src/go/collectors/go.d.plugin/modules/tengine/config_schema.json
+6 -3
@@ -75,17 +75,20 @@
75 "tls_ca": {
76 "title": "TLS CA",
77 "description": "The path to the CA certificate file for TLS verification.",
78 - "type": "string"
78 + "type": "string",
79 + "pattern": "^/"
80 },
81 "tls_cert": {
82 "title": "TLS certificate",
83 "description": "The path to the client certificate file for TLS authentication.",
83 - "type": "string"
84 + "type": "string",
85 + "pattern": "^/"
86 },
87 "tls_key": {
88 "title": "TLS key",
89 "description": "The path to the client key file for TLS authentication.",
88 - "type": "string"
90 + "type": "string",
91 + "pattern": "^/"
92 }
93 },
94 "required": [
src/go/collectors/go.d.plugin/modules/traefik/config_schema.json
+6 -3
@@ -75,17 +75,20 @@
75 "tls_ca": {
76 "title": "TLS CA",
77 "description": "The path to the CA certificate file for TLS verification.",
78 - "type": "string"
78 + "type": "string",
79 + "pattern": "^/"
80 },
81 "tls_cert": {
82 "title": "TLS certificate",
83 "description": "The path to the client certificate file for TLS authentication.",
83 - "type": "string"
84 + "type": "string",
85 + "pattern": "^/"
86 },
87 "tls_key": {
88 "title": "TLS key",
89 "description": "The path to the client key file for TLS authentication.",
88 - "type": "string"
90 + "type": "string",
91 + "pattern": "^/"
92 }
93 },
94 "required": [
src/go/collectors/go.d.plugin/modules/unbound/config_schema.json
+6 -3
@@ -51,19 +51,22 @@
51 "tls_ca": {
52 "title": "TLS CA",
53 "description": "The path to the CA certificate file for TLS verification.",
54 - "type": "string"
54 + "type": "string",
55 + "pattern": "^/"
56 },
57 "tls_cert": {
58 "title": "TLS certificate",
59 "description": "The path to the client certificate file for TLS authentication.",
60 "type": "string",
60 - "default": "/etc/unbound/unbound_control.pem"
61 + "default": "/etc/unbound/unbound_control.pem",
62 + "pattern": "^/"
63 },
64 "tls_key": {
65 "title": "TLS key",
66 "description": "The path to the client key file for TLS authentication.",
67 "type": "string",
66 - "default": "/etc/unbound/unbound_control.key"
68 + "default": "/etc/unbound/unbound_control.key",
69 + "pattern": "^/"
70 }
71 },
72 "required": [
src/go/collectors/go.d.plugin/modules/vcsa/config_schema.json
+6 -3
@@ -74,17 +74,20 @@
74 "tls_ca": {
75 "title": "TLS CA",
76 "description": "The path to the CA certificate file for TLS verification.",
77 - "type": "string"
77 + "type": "string",
78 + "pattern": "^/"
79 },
80 "tls_cert": {
81 "title": "TLS certificate",
82 "description": "The path to the client certificate file for TLS authentication.",
82 - "type": "string"
83 + "type": "string",
84 + "pattern": "^/"
85 },
86 "tls_key": {
87 "title": "TLS key",
88 "description": "The path to the client key file for TLS authentication.",
87 - "type": "string"
89 + "type": "string",
90 + "pattern": "^/"
91 }
92 },
93 "required": [
src/go/collectors/go.d.plugin/modules/vernemq/config_schema.json
+6 -3
@@ -75,17 +75,20 @@
75 "tls_ca": {
76 "title": "TLS CA",
77 "description": "The path to the CA certificate file for TLS verification.",
78 - "type": "string"
78 + "type": "string",
79 + "pattern": "^/"
80 },
81 "tls_cert": {
82 "title": "TLS certificate",
83 "description": "The path to the client certificate file for TLS authentication.",
83 - "type": "string"
84 + "type": "string",
85 + "pattern": "^/"
86 },
87 "tls_key": {
88 "title": "TLS key",
89 "description": "The path to the client key file for TLS authentication.",
88 - "type": "string"
90 + "type": "string",
91 + "pattern": "^/"
92 }
93 },
94 "required": [
src/go/collectors/go.d.plugin/modules/vsphere/config_schema.json
+14 -5
@@ -38,7 +38,7 @@
38 },
39 "host_include": {
40 "title": "Host selectors",
41 - "description": "Configuration for monitoring specific hosts. The selector format follows the pattern '/Datacenter/Cluster/Host', where Datacenter, Cluster, and Host can each be set using [Netdata simple patterns](https://github.com/netdata/netdata/tree/master/src/libnetdata/simple_pattern#readme).",
41 + "description": "Configuration for monitoring specific hosts. The selector format follows the pattern `/Datacenter/Cluster/Host`, where each value can be set using [Netdata simple patterns](https://github.com/netdata/netdata/tree/master/src/libnetdata/simple_pattern#readme).",
42 "type": "array",
43 "uniqueItems": true,
44 "items": {
@@ -54,7 +54,7 @@
54 },
55 "vm_include": {
56 "title": "Virtual machine selectors",
57 - "description": "Configuration for monitoring specific virtual machines. The selector format follows the pattern '/Datacenter/Cluster/Host/VM', where Datacenter, Cluster, Host, and VM can each be set using [Netdata simple patterns](https://github.com/netdata/netdata/tree/master/src/libnetdata/simple_pattern#readme).",
57 + "description": "Configuration for monitoring specific virtual machines. The selector format follows the pattern `/Datacenter/Cluster/Host/VM`, where each value can be set using [Netdata simple patterns](https://github.com/netdata/netdata/tree/master/src/libnetdata/simple_pattern#readme).",
58 "type": "array",
59 "uniqueItems": true,
60 "items": {
@@ -113,17 +113,20 @@
113 "tls_ca": {
114 "title": "TLS CA",
115 "description": "The path to the CA certificate file for TLS verification.",
116 - "type": "string"
116 + "type": "string",
117 + "pattern": "^/"
118 },
119 "tls_cert": {
120 "title": "TLS certificate",
121 "description": "The path to the client certificate file for TLS authentication.",
121 - "type": "string"
122 + "type": "string",
123 + "pattern": "^/"
124 },
125 "tls_key": {
126 "title": "TLS key",
127 "description": "The path to the client key file for TLS authentication.",
126 - "type": "string"
128 + "type": "string",
129 + "pattern": "^/"
130 }
131 },
132 "required": [
@@ -196,6 +199,12 @@
199 "timeout": {
200 "ui:help": "Accepts decimals for precise control (e.g., type 1.5 for 1.5 seconds)."
201 },
202 + "host_include": {
203 + "ui:listFlavour": "list"
204 + },
205 + "vm_include": {
206 + "ui:listFlavour": "list"
207 + },
208 "username": {
209 "ui:placeholder": "admin@vsphere.local"
210 },
src/go/collectors/go.d.plugin/modules/weblog/config_schema.json
+8 -1
@@ -14,7 +14,8 @@
14 "title": "Log file",
15 "description": "The file path to the Webserver log file.",
16 "type": "string",
17 - "default": "/var/log/nginx/access.log"
17 + "default": "/var/log/nginx/access.log",
18 + "pattern": "^/"
19 },
20 "exclude_path": {
21 "title": "Exclude path",
@@ -346,6 +347,12 @@
347 "inline": true
348 }
349 },
350 + "custom_fields": {
351 + "ui:collapsible": true
352 + },
353 + "custom_time_fields": {
354 + "ui:collapsible": true
355 + },
356 "ui:flavour": "tabs",
357 "ui:options": {
358 "tabs": [
src/go/collectors/go.d.plugin/modules/whoisquery/config_schema.json
+3
@@ -46,6 +46,9 @@
46 "uiOptions": {
47 "fullPage": true
48 },
49 + "source": {
50 + "ui:placeholder": "example.com"
51 + },
52 "timeout": {
53 "ui:help": "Accepts decimals for precise control (e.g., type 1.5 for 1.5 seconds)."
54 }
src/go/collectors/go.d.plugin/modules/windows/config_schema.json
+6 -3
@@ -73,17 +73,20 @@
73 "tls_ca": {
74 "title": "TLS CA",
75 "description": "The path to the CA certificate file for TLS verification.",
76 - "type": "string"
76 + "type": "string",
77 + "pattern": "^/"
78 },
79 "tls_cert": {
80 "title": "TLS certificate",
81 "description": "The path to the client certificate file for TLS authentication.",
81 - "type": "string"
82 + "type": "string",
83 + "pattern": "^/"
84 },
85 "tls_key": {
86 "title": "TLS key",
87 "description": "The path to the client key file for TLS authentication.",
86 - "type": "string"
88 + "type": "string",
89 + "pattern": "^/"
90 }
91 },
92 "required": [
src/go/collectors/go.d.plugin/modules/x509check/config_schema.json
+11 -4
@@ -13,7 +13,7 @@
13 },
14 "source": {
15 "title": "Certificate source",
16 - "description": "The source of the certificate. Allowed schemes: https, tcp, tcp4, tcp6, udp, udp4, udp6, file.",
16 + "description": "The source of the certificate. Allowed schemes: https, tcp, tcp4, tcp6, udp, udp4, udp6, file, smtp.",
17 "type": "string"
18 },
19 "timeout": {
@@ -50,17 +50,20 @@
50 "tls_ca": {
51 "title": "TLS CA",
52 "description": "The path to the CA certificate file for TLS verification.",
53 - "type": "string"
53 + "type": "string",
54 + "pattern": "^/"
55 },
56 "tls_cert": {
57 "title": "TLS certificate",
58 "description": "The path to the client certificate file for TLS authentication.",
58 - "type": "string"
59 + "type": "string",
60 + "pattern": "^/"
61 },
62 "tls_key": {
63 "title": "TLS key",
64 "description": "The path to the client key file for TLS authentication.",
63 - "type": "string"
65 + "type": "string",
66 + "pattern": "^/"
67 }
68 },
69 "required": [
@@ -71,6 +74,10 @@
74 "uiOptions": {
75 "fullPage": true
76 },
77 + "source": {
78 + "ui:placeholder": "https://example.com:443",
79 + "ui:help": " Website: `https://domainName:443`. Local file: `file:///path/to/cert.pem`. SMTP: `smtp://smtp.example.com:587`."
80 + },
81 "timeout": {
82 "ui:help": "Accepts decimals for precise control (e.g., type 1.5 for 1.5 seconds)."
83 },
src/go/collectors/go.d.plugin/modules/zookeeper/config_schema.json
+6 -3
@@ -37,17 +37,20 @@
37 "tls_ca": {
38 "title": "TLS CA",
39 "description": "The path to the CA certificate file for TLS verification.",
40 - "type": "string"
40 + "type": "string",
41 + "pattern": "^/"
42 },
43 "tls_cert": {
44 "title": "TLS certificate",
45 "description": "The path to the client certificate file for TLS authentication.",
45 - "type": "string"
46 + "type": "string",
47 + "pattern": "^/"
48 },
49 "tls_key": {
50 "title": "TLS key",
51 "description": "The path to the client key file for TLS authentication.",
50 - "type": "string"
52 + "type": "string",
53 + "pattern": "^/"
54 }
55 },
56 "required": [