src/go/plugin/go.d/modules/openvpn_status_log/config_schema.json
{
"jsonSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "OpenVPN status log collector configuration.",
"type": "object",
"properties": {
"update_every": {
"title": "Update every",
"description": "Data collection interval, measured in seconds.",
"type": "integer",
"minimum": 1,
"default": 1
},
"log_path": {
"title": "Log file",
"description": "Path to the status log file.",
"type": "string",
"default": "/var/log/openvpn/status.log",
"pattern": "^$|^/"
},
"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/plugin/go.d/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/plugin/go.d/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)."
},
"ui:flavour": "tabs",
"ui:options": {
"tabs": [
{
"title": "Base",
"fields": [
"update_every",
"log_path"
]
},
{
"title": "User stats",
"fields": [
"per_user_stats"
]
}
]
}
}
}