summaryrefslogtreecommitdiffstats
path: root/src/go/collectors/go.d.plugin/modules/ping/config_schema.json
blob: 750c8fab7a8dac7c1979e42ae332413919cf57d3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
{
  "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/collectors/go.d.plugin/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
      }
    },
    "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)."
    }
  }
}