# Scrutiny — Smart Hard Drive Monitoring with S.M.A.R.T. Data > A web-based hard drive health dashboard that collects S.M.A.R.T. metrics, tracks trends, and sends failure alerts so you can replace drives before data loss. ## Install Save as a script file and run: # Scrutiny — Smart Hard Drive Monitoring with S.M.A.R.T. Data ## Quick Use ```bash docker run -d --name scrutiny --cap-add SYS_RAWIO --device /dev/sda -p 8080:8080 -v scrutiny-data:/opt/scrutiny/config ghcr.io/analogj/scrutiny:master-omnibus # Open http://localhost:8080 ``` ## Introduction Scrutiny is a self-hosted hard drive monitoring tool that presents S.M.A.R.T. data in a clean web dashboard. It goes beyond raw attribute numbers by applying vendor-specific failure thresholds and historical trend analysis, helping homelab and server operators catch failing drives before they lose data. ## What Scrutiny Does - Collects S.M.A.R.T. attributes from HDDs, SSDs, and NVMe drives on a schedule - Displays drive health status with pass, warn, and fail indicators per attribute - Tracks historical trends for critical metrics like reallocated sectors and temperature - Sends notifications via email, Discord, Slack, Gotify, and 30+ other services - Supports multiple hosts by running lightweight collectors that report to a central hub ## Architecture Overview Scrutiny has two components: a collector agent and a web server. The collector runs smartctl on each host and posts JSON results to the web API. The web server is a Go binary that stores metrics in an InfluxDB time-series database and serves the Angular dashboard. The omnibus Docker image bundles both components and InfluxDB for single-host setups. ## Self-Hosting & Configuration - Deploy the omnibus Docker image for single-host setups with all components bundled - For multi-host monitoring, run the collector image on each machine and point it to the central hub - Map physical drives into the container with `--device` flags and add `SYS_RAWIO` capability - Configure notification endpoints in `scrutiny.yaml` using the Shoutrrr URL format - Adjust scan schedules via cron expressions in the configuration file ## Key Features - Vendor-specific S.M.A.R.T. threshold analysis for more accurate failure prediction - Historical charts showing attribute trends over weeks and months - Hub-and-spoke architecture for monitoring drives across multiple servers - Notification support for 30+ services via the Shoutrrr library - NVMe support alongside traditional SATA and SAS drives ## Comparison with Similar Tools - **Netdata** — general infrastructure monitoring; Scrutiny specializes in drive health with deeper S.M.A.R.T. analysis - **smartmontools alone** — CLI-only with no dashboard or history; Scrutiny adds visualization and alerting - **Disk Utility (GNOME)** — shows current S.M.A.R.T. status but has no trend tracking or remote monitoring - **Hard Disk Sentinel** — commercial Windows tool; Scrutiny is free and runs on Linux servers ## FAQ **Q: What drives does Scrutiny support?** A: SATA HDDs, SATA SSDs, SAS drives, and NVMe devices. Any drive supported by smartctl should work. **Q: Can I monitor drives on multiple servers?** A: Yes. Run the lightweight collector container on each host and configure it to report to a central Scrutiny web instance. **Q: How often are drives scanned?** A: By default every 24 hours. You can adjust the cron schedule in the configuration to scan more or less frequently. **Q: Does Scrutiny require InfluxDB?** A: The omnibus image bundles InfluxDB automatically. For split deployments, you point the web component at an external InfluxDB instance. ## Sources - https://github.com/AnalogJ/scrutiny - https://github.com/AnalogJ/scrutiny/blob/master/docs/INSTALL_DOCKER.md --- Source: https://tokrepo.com/en/workflows/1dd02a52-3e03-11f1-9bc6-00163e2b0d79 Author: Script Depot