src/go/collectors/go.d.plugin/modules/smartctl/metadata.yaml
plugin_name: go.d.plugin
modules:
- meta:
id: collector-go.d.plugin-smartctl
plugin_name: go.d.plugin
module_name: smartctl
monitored_instance:
name: S.M.A.R.T.
link: "https://linux.die.net/man/8/smartd"
icon_filename: "smart.png"
categories:
- data-collection.hardware-devices-and-sensors
keywords:
- smart
- S.M.A.R.T.
- SCSI devices
- ATA devices
related_resources:
integrations:
list: []
info_provided_to_referring_integrations:
description: ""
most_popular: false
overview:
data_collection:
metrics_description: |
This collector monitors the health status of storage devices by analyzing S.M.A.R.T. (Self-Monitoring, Analysis, and Reporting Technology) counters.
It relies on the [`smartctl`](https://linux.die.net/man/8/smartctl) CLI tool but avoids directly executing the binary.
Instead, it utilizes `ndsudo`, a Netdata helper specifically designed to run privileged commands securely within the Netdata environment.
This approach eliminates the need to use `sudo`, improving security and potentially simplifying permission management.
Executed commands:
- `smartctl --json --scan`
- `smartctl --json --all {deviceName} --device {deviceType} --nocheck {powerMode}`
method_description: ""
supported_platforms:
include: []
exclude: []
multi_instance: false
additional_permissions:
description: ""
default_behavior:
auto_detection:
description: ""
limits:
description: ""
performance_impact:
description: ""
setup:
prerequisites:
list:
- title: Install smartmontools (v7.0+)
description: |
Install `smartmontools` version 7.0 or later using your distribution's package manager. Version 7.0 introduced the `--json` output mode, which is required for this collector to function properly.
configuration:
file:
name: go.d/smartctl.conf
options:
description: |
The following options can be defined globally: update_every.
folding:
title: Config options
enabled: true
list:
- name: update_every
description: interval for updating Netdata charts, measured in seconds. Collector might use cached data if less than **Devices poll interval**.
default_value: 10
required: false
- name: timeout
description: smartctl binary execution timeout.
default_value: 5
required: false
- name: scan_every
description: interval for discovering new devices using `smartctl --scan`, measured in seconds.
default_value: 900
required: false
- name: poll_devices_every
description: interval for gathering data for every device, measured in seconds. Data is cached for this interval.
default_value: 300
required: false
- name: device_selector
description: "Specifies a pattern to match the 'info name' of devices as reported by `smartctl --scan --json`."
default_value: "*"
required: false
examples:
folding:
title: Config
enabled: true
list:
- name: Custom devices poll interval
description: Allows you to override the default devices poll interval (data collection).
config: |
jobs:
- name: smartctl
devices_poll_interval: 60 # Collect S.M.A.R.T statistics every 60 seconds
troubleshooting:
problems:
list: []
alerts: []
metrics:
folding:
title: Metrics
enabled: false
description: ""
availability: []
scopes:
- name: controller
description: These metrics refer to the Storage Device.
labels:
- name: device_name
description: Device name
- name: device_type
description: Device type
- name: model_name
description: Model name
- name: serial_number
description: Serial number
metrics:
- name: smartctl.device_smart_status
description: Device smart status
unit: status
chart_type: line
dimensions:
- name: passed
- name: failed
- name: smartctl.device_ata_smart_error_log_count
description: Device ATA smart error log count
unit: logs
chart_type: line
dimensions:
- name: error_log
- name: smartctl.device_power_on_time
description: Device power on time
unit: seconds
chart_type: line
dimensions:
- name: power_on_time
- name: smartctl.device_temperature
description: Device temperature
unit: Celsius
chart_type: line
dimensions:
- name: temperature
- name: smartctl.device_power_cycles_count
description: Device power cycles
unit: cycles
chart_type: line
dimensions:
- name: power
- name: smartctl.device_smart_attr_{attribute_name}
description: Device smart attribute {attribute_name}
unit: '{attribute_unit}'
chart_type: line
dimensions:
- name: '{attribute_name}'
- name: smartctl.device_smart_attr_{attribute_name}_normalized
description: Device smart attribute {attribute_name} normalized
unit: value
chart_type: line
dimensions:
- name: '{attribute_name}'