plugin_name: python.d.plugin modules: - meta: plugin_name: python.d.plugin module_name: smartd_log monitored_instance: name: S.M.A.R.T. link: "https://linux.die.net/man/8/smartd" categories: - data-collection.hardware-devices-and-sensors icon_filename: "smart.png" related_resources: integrations: list: [] info_provided_to_referring_integrations: description: "" keywords: - smart - S.M.A.R.T. - SCSI devices - ATA devices most_popular: false overview: data_collection: metrics_description: | This collector monitors HDD/SSD S.M.A.R.T. metrics about drive health and performance. method_description: | It reads `smartd` log files to collect the metrics. supported_platforms: include: [] exclude: [] multi_instance: false additional_permissions: description: "" default_behavior: auto_detection: description: Upon satisfying the prerequisites, the collector will auto-detect metrics if written in either `/var/log/smartd/` or `/var/lib/smartmontools/`. limits: description: "" performance_impact: description: "" setup: prerequisites: list: - title: Configure `smartd` to write attribute information to files. description: | `smartd` must be running with `-A` option to write `smartd` attribute information to files. For this you need to set `smartd_opts` (or `SMARTD_ARGS`, check _smartd.service_ content) in `/etc/default/smartmontools`: ``` # dump smartd attrs info every 600 seconds smartd_opts="-A /var/log/smartd/ -i 600" ``` You may need to create the smartd directory before smartd will write to it: ```sh mkdir -p /var/log/smartd ``` Otherwise, all the smartd `.csv` files may get written to `/var/lib/smartmontools` (default location). See also for more info on the `-A --attributelog=PREFIX` command. `smartd` appends logs at every run. It's strongly recommended to use `logrotate` for smartd files. configuration: file: name: "python.d/smartd_log.conf" options: description: | This particular collector does not need further configuration to work if permissions are satisfied, but you can always customize it's data collection behavior. There are 2 sections: * Global variables * One or more JOBS that can define multiple different instances to monitor. The following options can be defined globally: priority, penalty, autodetection_retry, update_every, but can also be defined per JOB to override the global values. Additionally, the following collapsed table contains all the options that can be configured inside a JOB definition. Every configuration JOB starts with a `job_name` value which will appear in the dashboard, unless a `name` parameter is specified. folding: title: "Config options" enabled: true list: - name: log_path description: path to smartd log files. default_value: /var/log/smartd required: true - name: exclude_disks description: Space-separated patterns. If the pattern is in the drive name, the module will not collect data for it. default_value: "" required: false - name: age description: Time in minutes since the last dump to file. default_value: 30 required: false - name: update_every description: Sets the default data collection frequency. default_value: 1 required: false - name: priority description: Controls the order of charts at the netdata dashboard. default_value: 60000 required: false - name: autodetection_retry description: Sets the job re-check interval in seconds. default_value: 0 required: false - name: penalty description: Indicates whether to apply penalty to update_every in case of failures. default_value: yes required: false - name: name description: > Job name. This value will overwrite the `job_name` value. JOBS with the same name are mutually exclusive. Only one of them will be allowed running at any time. This allows autodetection to try several alternatives and pick the one that works. default_value: "" required: false examples: folding: enabled: true title: "Config" list: - name: Basic description: A basic configuration example. folding: enabled: false config: | custom: name: smartd_log log_path: '/var/log/smartd/' troubleshooting: problems: list: [] alerts: [] metrics: folding: title: Metrics enabled: false description: "The metrics listed below are split in terms of availability on device type, SCSI or ATA." availability: - "SCSI" - "ATA" scopes: - name: global description: "These metrics refer to the entire monitored application." labels: [] metrics: - name: smartd_log.read_error_rate description: Read Error Rate availability: - ATA unit: "value" chart_type: line dimensions: - name: a dimension per device - name: smartd_log.seek_error_rate description: Seek Error Rate availability: - ATA unit: "value" chart_type: line dimensions: - name: a dimension per device - name: smartd_log.soft_read_error_rate description: Soft Read Error Rate availability: - ATA unit: "errors" chart_type: line dimensions: - name: a dimension per device - name: smartd_log.write_error_rate description: Write Error Rate availability: - ATA unit: "value" chart_type: line dimensions: - name: a dimension per device - name: smartd_log.read_total_err_corrected description: Read Error Corrected availability: - SCSI unit: "errors" chart_type: line dimensions: - name: a dimension per device - name: smartd_log.read_total_unc_errors description: Read Error Uncorrected availability: - SCSI unit: "errors" chart_type: line dimensions: - name: a dimension per device - name: smartd_log.write_total_err_corrected description: Write Error Corrected availability: - SCSI unit: "errors" chart_type: line dimensions: - name: a dimension per device - name: smartd_log.write_total_unc_errors description: Write Error Uncorrected availability: - SCSI unit: "errors" chart_type: line dimensions: - name: a dimension per device - name: smartd_log.verify_total_err_corrected description: Verify Error Corrected availability: - SCSI unit: "errors" chart_type: line dimensions: - name: a dimension per device - name: smartd_log.verify_total_unc_errors description: Verify Error Uncorrected availability: - SCSI unit: "errors" chart_type: line dimensions: - name: a dimension per device - name: smartd_log.sata_interface_downshift description: SATA Interface Downshift availability: - ATA unit: "events" chart_type: line dimensions: - name: a dimension per device - name: smartd_log.udma_crc_error_count description: UDMA CRC Error Count availability: - ATA unit: "errors" chart_type: line dimensions: - name: a dimension per device - name: smartd_log.throughput_performance description: Throughput Performance availability: - ATA unit: "value" chart_type: line dimensions: - name: a dimension per device - name: smartd_log.seek_time_performance description: Seek Time Performance availability: - ATA unit: "value" chart_type: line dimensions: - name: a dimension per device - name: smartd_log.start_stop_count description: Start/Stop Count availability: - ATA unit: "events" chart_type: line dimensions: - name: a dimension per device - name: smartd_log.power_on_hours_count description: Power-On Hours Count availability: - ATA unit: "hours" chart_type: line dimensions: - name: a dimension per device - name: smartd_log.power_cycle_count description: Power Cycle Count availability: - ATA unit: "events" chart_type: line dimensions: - name: a dimension per device - name: smartd_log.unexpected_power_loss description: Unexpected Power Loss availability: - ATA unit: "events" chart_type: line dimensions: - name: a dimension per device - name: smartd_log.spin_up_time description: Spin-Up Time availability: - ATA unit: "ms" chart_type: line dimensions: - name: a dimension per device - name: smartd_log.spin_up_retries description: Spin-up Retries availability: - ATA unit: "retries" chart_type: line dimensions: - name: a dimension per device - name: smartd_log.calibration_retries description: Calibration Retries availability: - ATA unit: "retries" chart_type: line dimensions: - name: a dimension per device - name: smartd_log.airflow_temperature_celsius description: Airflow Temperature Celsius availability: - ATA unit: "celsius" chart_type: line dimensions: - name: a dimension per device - name: smartd_log.temperature_celsius description: Temperature availability: - SCSI - ATA unit: "celsius" chart_type: line dimensions: - name: a dimension per device - name: smartd_log.reallocated_sectors_count description: Reallocated Sectors Count availability: - ATA unit: "sectors" chart_type: line dimensions: - name: a dimension per device - name: smartd_log.reserved_block_count description: Reserved Block Count availability: - ATA unit: "percentage" chart_type: line dimensions: - name: a dimension per device - name: smartd_log.program_fail_count description: Program Fail Count availability: - ATA unit: "errors" chart_type: line dimensions: - name: a dimension per device - name: smartd_log.erase_fail_count description: Erase Fail Count availability: - ATA unit: "failures" chart_type: line dimensions: - name: a dimension per device - name: smartd_log.wear_leveller_worst_case_erase_count description: Wear Leveller Worst Case Erase Count availability: - ATA unit: "erases" chart_type: line dimensions: - name: a dimension per device - name: smartd_log.unused_reserved_nand_blocks description: Unused Reserved NAND Blocks availability: - ATA unit: "blocks" chart_type: line dimensions: - name: a dimension per device - name: smartd_log.reallocation_event_count description: Reallocation Event Count availability: - ATA unit: "events" chart_type: line dimensions: - name: a dimension per device - name: smartd_log.current_pending_sector_count description: Current Pending Sector Count availability: - ATA unit: "sectors" chart_type: line dimensions: - name: a dimension per device - name: smartd_log.offline_uncorrectable_sector_count description: Offline Uncorrectable Sector Count availability: - ATA unit: "sectors" chart_type: line dimensions: - name: a dimension per device - name: smartd_log.percent_lifetime_used description: Percent Lifetime Used availability: - ATA unit: "percentage" chart_type: line dimensions: - name: a dimension per device - name: smartd_log.media_wearout_indicator description: Media Wearout Indicator availability: - ATA unit: "percentage" chart_type: line dimensions: - name: a dimension per device - name: smartd_log.nand_writes_1gib description: NAND Writes availability: - ATA unit: "GiB" chart_type: line dimensions: - name: a dimension per device