summaryrefslogtreecommitdiffstats
path: root/src/go/collectors/go.d.plugin/modules/openvpn/config_schema.json
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/go/collectors/go.d.plugin/modules/openvpn/config_schema.json102
1 files changed, 102 insertions, 0 deletions
diff --git a/src/go/collectors/go.d.plugin/modules/openvpn/config_schema.json b/src/go/collectors/go.d.plugin/modules/openvpn/config_schema.json
new file mode 100644
index 000000000..527a06abe
--- /dev/null
+++ b/src/go/collectors/go.d.plugin/modules/openvpn/config_schema.json
@@ -0,0 +1,102 @@
+{
+ "jsonSchema": {
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "title": "OpenVPN collector configuration.",
+ "type": "object",
+ "properties": {
+ "update_every": {
+ "title": "Update every",
+ "description": "Data collection interval, measured in seconds.",
+ "type": "integer",
+ "minimum": 1,
+ "default": 1
+ },
+ "address": {
+ "title": "Address",
+ "description": "The IP address and port where the OpenVPN [Management Interface](https://openvpn.net/community-resources/management-interface/) listens for connections.",
+ "type": "string",
+ "default": "127.0.0.1:123"
+ },
+ "timeout": {
+ "title": "Timeout",
+ "description": "Timeout for establishing a connection and communication (reading and writing) in seconds.",
+ "type": "number",
+ "minimum": 0.5,
+ "default": 1
+ },
+ "per_user_stats": {
+ "title": "User selector",
+ "description": "Configuration for monitoring specific users. If left empty, no user stats will be collected.",
+ "type": [
+ "object",
+ "null"
+ ],
+ "properties": {
+ "includes": {
+ "title": "Include",
+ "description": "Include users whose usernames match any of the specified inclusion [patterns](https://github.com/netdata/netdata/tree/master/src/go/collectors/go.d.plugin/pkg/matcher#readme).",
+ "type": [
+ "array",
+ "null"
+ ],
+ "items": {
+ "title": "Username pattern",
+ "type": "string"
+ },
+ "uniqueItems": true
+ },
+ "excludes": {
+ "title": "Exclude",
+ "description": "Exclude users whose usernames match any of the specified exclusion [patterns](https://github.com/netdata/netdata/tree/master/src/go/collectors/go.d.plugin/pkg/matcher#readme).",
+ "type": [
+ "array",
+ "null"
+ ],
+ "items": {
+ "title": "Username pattern",
+ "type": "string"
+ },
+ "uniqueItems": true
+ }
+ }
+ }
+ },
+ "required": [
+ "address"
+ ],
+ "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)."
+ },
+ "per_user_stats": {
+ "ui:help": "The logic for inclusion and exclusion is as follows: `(include1 OR include2) AND !(exclude1 OR exclude2)`."
+ },
+ "ui:flavour": "tabs",
+ "ui:options": {
+ "tabs": [
+ {
+ "title": "Base",
+ "fields": [
+ "update_every",
+ "address",
+ "timeout"
+ ]
+ },
+ {
+ "title": "User stats",
+ "fields": [
+ "per_user_stats"
+ ]
+ }
+ ]
+ }
+ }
+}