diff options
Diffstat (limited to '')
-rw-r--r-- | src/go/collectors/go.d.plugin/modules/dnsquery/config_schema.json | 133 |
1 files changed, 133 insertions, 0 deletions
diff --git a/src/go/collectors/go.d.plugin/modules/dnsquery/config_schema.json b/src/go/collectors/go.d.plugin/modules/dnsquery/config_schema.json new file mode 100644 index 000000000..cfa6f3a14 --- /dev/null +++ b/src/go/collectors/go.d.plugin/modules/dnsquery/config_schema.json @@ -0,0 +1,133 @@ +{ + "jsonSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "DNS query collector configuration.", + "type": "object", + "properties": { + "update_every": { + "title": "Update every", + "description": "Data collection interval, measured in seconds.", + "type": "integer", + "minimum": 1, + "default": 5 + }, + "timeout": { + "title": "Timeout", + "description": "Timeout for DNS queries, in seconds.", + "type": "number", + "default": 2 + }, + "network": { + "title": "Protocol", + "description": "Network protocol for DNS queries.", + "type": "string", + "enum": [ + "udp", + "tcp", + "tcp-tls" + ], + "default": "udp" + }, + "port": { + "title": "Port", + "description": "Port number for DNS servers.", + "type": "integer", + "default": 53 + }, + "record_types": { + "title": "Record types", + "description": "Types of DNS records to query for each server.", + "type": [ + "array", + "null" + ], + "items": { + "type": "string", + "enum": [ + "A", + "AAAA", + "ANY", + "CNAME", + "MX", + "NS", + "PTR", + "SOA", + "SPF", + "SRV", + "TXT" + ], + "default": "A" + }, + "default": [ + "A" + ], + "uniqueItems": true + }, + "servers": { + "title": "Servers", + "description": "List of DNS servers to query.", + "type": [ + "array", + "null" + ], + "items": { + "title": "DNS server", + "description": "IP address or hostname of the DNS server.", + "type": "string" + }, + "default": [ + "8.8.8.8" + ], + "uniqueItems": true, + "minItems": 1 + }, + "domains": { + "title": "Domains", + "description": "List of domains or subdomains to query. A random domain will be selected from this list at each iteration.", + "type": [ + "array", + "null" + ], + "items": { + "title": "Domain", + "type": "string" + }, + "default": [ + "google.com", + "github.com" + ], + "uniqueItems": true, + "minItems": 1 + } + }, + "required": [ + "domains", + "servers", + "network" + ], + "additionalProperties": false, + "patternProperties": { + "^name$": {} + } + }, + "uiSchema": { + "uiOptions": { + "fullPage": true + }, + "timeout": { + "ui:help": "Accepts decimals for precise control (e.g., type 1.5 for 1.5 seconds)." + }, + "network": { + "ui:widget": "radio", + "ui:options": { + "inline": true + } + }, + "servers": { + "ui:listFlavour": "list" + }, + "domains": { + "ui:listFlavour": "list" + } + } +} |