src/go/plugin/go.d/modules/ping/config_schema.json
{
"jsonSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"title": "Ping collector configuration.",
"properties": {
"update_every": {
"title": "Update every",
"description": "Data collection interval, measured in seconds.",
"type": "integer",
"minimum": 1,
"default": 1
},
"privileged": {
"title": "Privileged mode",
"description": "If unset, sends unprivileged UDP ping packets (require [additional configuration](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/modules/ping#overview)); otherwise, sends raw ICMP ping packets ([not recommended](https://github.com/netdata/netdata/issues/15410)).",
"type": "boolean",
"default": false
},
"hosts": {
"title": "Network hosts",
"description": "List of network hosts (IP addresses or domain names) to send ping packets.",
"type": [
"array",
"null"
],
"items": {
"title": "Host",
"type": "string"
},
"minItems": 1,
"uniqueItems": true
},
"network": {
"title": "Network",
"description": "The protocol version used for resolving the specified hosts IP addresses.",
"type": "string",
"default": "ip",
"enum": [
"ip",
"ip4",
"ip6"
]
},
"packets": {
"title": "Packets",
"description": "Number of ping packets to send for each host.",
"type": "integer",
"minimum": 1,
"default": 5
},
"interval": {
"title": "Interval",
"description": "Timeout between sending ping packets, in seconds.",
"type": "number",
"minimum": 0.1,
"default": 0.1
},
"interface": {
"title": "Interface",
"description": "The name of the network interface whose IP address will be used as the source for sending ping packets.",
"type": "string",
"default": ""
}
},
"required": [
"hosts"
],
"additionalProperties": false,
"patternProperties": {
"^name$": {}
}
},
"uiSchema": {
"uiOptions": {
"fullPage": true
},
"update_every": {
"ui:help": "Sets the frequency at which a specified number of ping packets (determined by 'packets') are sent to designated hosts."
},
"network": {
"ui:help": "`ip` selects IPv4 or IPv6 based on system configuration, `ipv4` forces resolution to IPv4 addresses, and `ipv6` forces resolution to IPv6 addresses.",
"ui:widget": "radio",
"ui:options": {
"inline": true
}
},
"interval": {
"ui:help": "Accepts decimals for precise control (e.g., type 1.5 for 1.5 seconds)."
},
"hosts": {
"ui:listFlavour": "list"
}
}
}