diff options
Diffstat (limited to 'src/go/plugin/go.d/modules/smartctl/config_schema.json')
-rw-r--r-- | src/go/plugin/go.d/modules/smartctl/config_schema.json | 140 |
1 files changed, 140 insertions, 0 deletions
diff --git a/src/go/plugin/go.d/modules/smartctl/config_schema.json b/src/go/plugin/go.d/modules/smartctl/config_schema.json new file mode 100644 index 000000000..afe7ce1a9 --- /dev/null +++ b/src/go/plugin/go.d/modules/smartctl/config_schema.json @@ -0,0 +1,140 @@ +{ + "jsonSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "Smartctl collector configuration.", + "type": "object", + "properties": { + "update_every": { + "title": "Update every", + "description": "Interval for updating Netdata charts, measured in seconds. Collector might use cached data if less than **Devices poll interval**.", + "type": "integer", + "minimum": 1, + "default": 10 + }, + "timeout": { + "title": "Timeout", + "description": "Timeout for executing the `smartctl` binary, specified in seconds.", + "type": "number", + "minimum": 0.5, + "default": 5 + }, + "scan_every": { + "title": "Scan interval", + "description": "Interval for discovering new devices using `smartctl --scan`, measured in seconds. Set to 0 to scan devices only once on startup.", + "type": "number", + "minimum": 1, + "default": 900 + }, + "poll_devices_every": { + "title": "Devices poll interval", + "description": "Interval for gathering data for every device, measured in seconds. Data is cached for this interval.", + "type": "number", + "minimum": 1, + "default": 300 + }, + "no_check_power_mode": { + "title": "No check power mode", + "description": "ATA only. Skip data collection when the device is in a low-power mode. Prevents unnecessary disk spin-up.", + "type": "string", + "enum": [ + "standby", + "never", + "sleep", + "idle" + ], + "default": "standby" + }, + "device_selector": { + "title": "Device selector", + "description": "Specifies a [pattern](https://github.com/netdata/netdata/tree/master/src/libnetdata/simple_pattern#readme) to match the 'info name' of devices as reported by `smartctl --scan --json`. Only devices whose 'info name' matches this pattern will be collected.", + "type": "string", + "minimum": 1, + "default": "*" + }, + "extra_devices": { + "title": "Extra devices", + "description": "Allows manual specification of devices not automatically detected by `smartctl --scan`. Each device entry must include both a name and a type.", + "type": [ + "array", + "null" + ], + "uniqueItems": true, + "items": { + "title": "Device", + "type": [ + "object", + "null" + ], + "required": [ + "name", + "type" + ], + "properties": { + "name": { + "title": "Name", + "type": "string" + }, + "type": { + "title": "Type", + "type": "string" + } + } + } + } + }, + "additionalProperties": false, + "patternProperties": { + "^name$": {} + } + }, + "uiSchema": { + "uiOptions": { + "fullPage": true + }, + "ui:flavour": "tabs", + "ui:options": { + "tabs": [ + { + "title": "Base", + "fields": [ + "update_every", + "timeout", + "scan_every", + "poll_devices_every", + "no_check_power_mode" + ] + }, + { + "title": "Devices", + "fields": [ + "device_selector", + "extra_devices" + ] + } + ] + }, + "timeout": { + "ui:help": "Accepts decimals for precise control (e.g., type 1.5 for 1.5 seconds)." + }, + "no_check_power_mode": { + "ui:help": "`never` - check the device always; `sleep` - check the device unless it is in SLEEP mode; `standby` - check the device unless it is in SLEEP or STANDBY mode; `idle` - check the device unless it is in SLEEP, STANDBY or IDLE mode.", + "ui:widget": "radio", + "ui:options": { + "inline": true + } + }, + "device_selector": { + "ui:help": "Leave blank or use `*` to collect data for all devices." + }, + "extra_devices": { + "items": { + "name": { + "ui:placeholder": "/dev/sda" + }, + "type": { + "ui:placeholder": "jmb39x-q,3" + } + } + } + } +} |