Estimated reading time: 10 minutes
Scrutiny ist ein spezialisiertes Monitoring-Tool für Festplatten, das dir ein zentrales Web-Dashboard, historische S.M.A.R.T.-Trends, temperaturbasierte Überwachung und flexible Alarmierung per Webhooks bietet. Damit erkennst du schleichende Festplattenprobleme frühzeitig und reduzierst das Risiko eines plötzlichen Datenverlusts in deinem Home- oder Lab-Setup deutlich.
For detailed instructions and explanations of all configuration options, I recommend watching the YouTube video linked below. This video goes into detail about each individual setting, providing you with comprehensive instructions on how to set everything up correctly. Any code from the video can be found in this article, so you can use it directly without having to type it out.
This blog post, including video, is part of a series in which we build and set up our own home server. We start with the basics, such as installing Ubuntu VM with Docker, and then move on to configuring our own domain, security measures, and, above all, lots of cool and useful self-hosted services. Whether it's media servers like Plex or Jellyfin or document management like Paperless-NGX, we'll work together to build the setup you want to see. We'll even tackle topics like single sign-on (SSO) together.
Was ist Scrutiny?
Scrutiny ist eine Weboberfläche für die S.M.A.R.T.-Überwachung von Festplatten, die auf dem bestehenden smartd-Ökosystem aufsetzt. Es kombiniert Hersteller-S.M.A.R.T.-Daten mit realen Ausfallraten, um dir eine praxisnahe Einschätzung des Zustands deiner HDDs und SSDs zu geben.
- Fokus auf kritische Kennzahlen wie Reallocated Sectors, Pending Sectors und Temperatur.
- Offene, MIT-lizenzierte Software, geschrieben in Go und für den Selbsthost-Einsatz optimiert.

S.M.A.R.T. kurz erklärt
S.M.A.R.T. steht für „Self-Monitoring, Analysis and Reporting Technology“ und ist in die meisten modernen Festplatten und SSDs integriert. Ziel ist es, die Zuverlässigkeit einer Platte zu überwachen und drohende Ausfälle möglichst früh zu erkennen.
- Typische Metriken sind z.B. Lesefehler, Reallocated Sectors, Temperatur und Start-/Stopp-Zyklen.
- smartd (aus dem smartmontools-Paket) ist der Daemon, der diese Werte ausliest; Scrutiny setzt genau darauf auf, anstatt das Rad neu zu erfinden.
Kernfunktionen von Scrutiny
Scrutiny konzentriert sich bewusst auf einige wenige, aber dafür sehr praxisrelevante Features.
- Web-Dashboard mit Fokus auf kritische S.M.A.R.T.-Metriken für alle angeschlossenen Laufwerke.
- Automatische Erkennung aller verbundenen Festplatten, inklusive mehrerer Controller oder Server.
- Historische Trendverfolgung für S.M.A.R.T.-Werte und Temperaturentwicklung über die Zeit.
- Individuelle Schwellwerte, die sich an realen Ausfallraten orientieren (z.B. Backblaze-Daten).
- Konfigurierbare Alarme und Benachrichtigungen via Webhooks, z.B. an Home-Assistant, Discord oder eigene Webhooks.
- Bereitstellung als Docker-Images (Web-UI und Collector getrennt), zusätzlich auch manuell installierbar.
Architektur: Web & Collector
Scrutiny besteht aus zwei Hauptkomponenten, die du flexibel aufteilen kannst.
- Web-Container (ghcr.io/analogj/scrutiny:master-web): Enthält Web UI und API, läuft typischerweise auf einem zentralen Server oder NAS.
- Collector-Container (ghcr.io/analogj/scrutiny:master-collector): Läuft auf jedem Host mit Festplatten, liest über smartctl die S.M.A.R.T.-Daten und sendet sie per HTTP an den Web-Container.
Damit eignet sich Scrutiny ideal für Umgebungen mit mehreren Hosts (z.B. Proxmox + Storage-Server + Backup-NAS), ohne dass du überall eigene Dashboards pflegen musst.
Web-Dashboard im Detail
Das Web-Dashboard ist das Herzstück von Scrutiny und konzentriert sich bewusst auf die Metriken, die im Alltag wirklich zählen.
- Übersichtsseite mit allen Platten inklusive Health-Status, Temperatur und Anzahl kritischer Attribute.
- Detailansichten pro Laufwerk, z.B. mit S.M.A.R.T.-Tabellen, Rohwerten und Verlauf einzelner Attribute.
- Historische Charts, um Trends zu erkennen, etwa langsam steigende Reallocated Sectors oder eine schleichend steigende Temperatur im Server.
Damit bekommst du ein klares Bild, ob eine Platte stabil läuft, grenzwertig wird oder bereits in einem kritischen Zustand ist.
Historische Trends & reale Ausfallschwellen
Ein Alleinstellungsmerkmal von Scrutiny ist die Kombination aus Herstellerangaben und echten Ausfallstatistiken.
- Scrutiny berücksichtigt für seine Schwellenwerte reale Failure-Daten, z.B. aus Backblaze-Ausfallstatistiken.
- Du siehst nicht nur „Rohdaten“, sondern bekommst eine Einschätzung, wie kritisch ein bestimmter Wert in der Praxis ist.
Diese Verknüpfung hilft dir, nicht bei jedem minimalen S.M.A.R.T.-Ausschlag in Panik zu geraten, aber gleichzeitig echte Warnsignale frühzeitig ernst zu nehmen.
Alarme & Webhook-Integration
Für automatisierte Umgebungen wie dein Homelab sind Alarme oft wichtiger als das reine Dashboard.
- Scrutiny kann bei Schwellwertüberschreitungen Webhooks aufrufen, z.B. an Home Assistant, Node-RED oder individuelle Automations-Endpoints.
- So kannst du z.B. bei kritischem Zustand einer Platte automatisch ein Backup-Playbook starten, Benachrichtigungen in Slack/Discord senden oder einen Proxmox-Knoten in einen Wartungsmodus versetzen.
Durch diese Integration wird Scrutiny Teil deiner gesamten Monitoring- und Alerting-Strategie, statt nur ein passives Dashboard zu sein.
Typisches Homelab-Szenario
Stell dir vor, du betreibst einen Proxmox-Host mit mehreren HDDs und SSDs für VMs und Container, dazu ein NAS für Backups.
- Auf jedem Host läuft ein Scrutiny-Collector-Container mit Zugriff auf die lokalen /dev-Devices.
- Alle Collector senden ihre S.M.A.R.T.-Daten an einen zentralen Scrutiny-Web-Container, der auf deinem NAS oder einem Management-Server läuft.
- Du hast damit ein einheitliches Dashboard über die gesamte Storage-Landschaft und erkennst Tendenzen wie „HDD im Backup-NAS wird langsam kritisch“ frühzeitig.
Gerade in Kombination mit ZFS oder RAID schützt dich das nicht vor allen Problemen, aber es gibt dir eine deutlich bessere Grundlage für Entscheidungen zum Plattentausch.
Beispiele für typische S.M.A.R.T.-Signale
Scrutiny hilft dir, typische Problem-Muster schnell zu identifizieren.
- Platten, bei denen die Anzahl „Reallocated Sectors“ über Wochen langsam steigt, werden im Dashboard auffällig und sollten zeitnah ersetzt werden.
- Auffällig hohe Temperaturen (z.B. dauerhaft > 50 °C) werden angezeigt, sodass du Kühlungsprobleme im Gehäuse oder Rack erkennen kannst.
- Wenn eine SSD plötzlich viele Lesefehler meldet, kannst du rechtzeitig Backups priorisieren und Workloads umziehen, bevor es kritisch wird.
Der Mehrwert liegt darin, Trends sichtbar zu machen, statt nur auf einen spontanen Totalausfall zu reagieren.
Betrieb auf NAS-Systemen (TrueNAS, Synology & Co.)
Viele Nutzer setzen Scrutiny direkt auf NAS-Systemen ein, um die internen und ggf. externen Laufwerke zentral zu überwachen.
- Auf TrueNAS Scale kannst du Scrutiny als Docker-Compose-Projekt in der Apps-/Projects-Sektion starten und Volumes für Config, Datenbank und /run/udev konfigurieren.
- Auf Synology NAS gibt es Anleitungen, wie du Scrutiny im Container Manager mit einem dedizierten Projektordner und den nötigen Device-Mounts betreibst.
So ergänzt Scrutiny die oft eher rudimentären, herstellerseitigen S.M.A.R.T.-Ansichten deiner NAS-Oberfläche um ein deutlich mächtigeres Dashboard.
Logging, Debugging & Feintuning
Für den produktiven Betrieb möchtest du Scrutiny in deine Log- und Monitoring-Strategie einbinden.
- Über Umgebungsvariablen wie
DEBUG=trueandSCRUTINY_LOG_FILEkannst du detailliertes Logging für das Web-Backend aktivieren. - Alternativ setzt du Log-Level und Log-Datei direkt in der scrutiny.yaml, z.B.
log.level: DEBUGandlog.file: '/tmp/web.log'.
Damit kannst du Probleme bei der Device-Erkennung, smartctl-Aufrufen oder Collector-Kommunikation zielgerichtet analysieren.
Sicherheit & Updates
Da Scrutiny direkt auf Block-Devices zugreift, ist eine saubere Container-Isolation wichtig.
- Gib den Containern nur die Devices frei, die sie wirklich benötigen, und begrenze Capabilities möglichst auf
SYS_RAWIO. - Aktualisiere regelmäßig auf neue Image-Tags aus der GitHub Container Registry (z.B. master-web, master-collector), um Bugfixes & Sicherheitsupdates zu erhalten.
Für produktive NAS-Umgebungen lohnt sich ein Testlauf in einer Staging- oder Lab-Instanz, bevor du ein Update flächendeckend ausrollst.
Installation with Docker
Der einfachste Weg führt über Docker bzw. Docker Compose, da die offiziellen Images alle benötigten Abhängigkeiten mitbringen.
- Scrutiny-Web startest du typischerweise mit Volume-Mount für die Konfiguration und einem Port-Mapping auf 8080.
- Der Collector benötigt Zugriff auf /run/udev (read-only), SYS_RAWIO-Capabilities und die einzelnen /dev/sdX-Devices, damit smartctl die Platten direkt lesen kann.
Create a file called docker-compose-scrutiny.yml. Here is a proven template based on the official repository:
services:
scrutiny:
image: ghcr.io/analogj/scrutiny:master-omnibus
container_name: scrutiny
restart: always
cap_add:
- SYS_RAWIO
networks:
- sascha
environment:
- TZ=Europe/Berlin
ports:
- "8080:8080"
volumes:
- /run/udev:/run/udev:ro
- /dev/disk:/dev/disk:ro
- /mnt/cache/appdata/monitoring/scrutiny/config/:/opt/scrutiny/config:rw
- /mnt/cache/appdata/monitoring/scrutiny/influxdb/:/opt/scrutiny/influxdb:rw
healthcheck:
test: ["CMD", "curl", "--fail", "http://localhost:8080/api/health"]
interval: 1m
timeout: 10s
retries: 3
networks:
sascha:
external: true
Open your terminal and you can then simply start the services with the following command (the name must of course be adapted):
docker compose -f "docker-compose-scrutiny.yml" up -d
After a few seconds you can click on https://:8080 auf dein Dashboard zugreifen.
Diese Docker-Compose-Datei konfiguriert Scrutiny, ein grafisches Dashboard zur Überwachung des Gesundheitszustands (S.M.A.R.T.-Werte) deiner Festplatten.
Der Dienst
Es wird die „Omnibus“-Variante von Scrutiny verwendet, die alle notwendigen Komponenten (Web-Interface, Datenbank und Sammler) in einem einzigen Container vereint. Der Container ist so eingestellt, dass er nach einem Neustart oder Absturz always automatisch wieder hochfährt.
Hardware-Zugriff und Sicherheit
Damit Scrutiny die Festplattenwerte überhaupt auslesen kann, erhält der Container erweiterte Systemrechte (SYS_RAWIO). Zudem wird dem Container Zugriff auf die Geräte-Informationen des Host-Systems (/dev/disk and /run/udev) gewährt, allerdings nur im Lesemodus, um die Sicherheit zu wahren.
Network and accessibility
- Network: Der Dienst tritt dem externen Netzwerk sasha bei.
- Port: Das Dashboard ist über den Port 8080 im Browser erreichbar.
- Health check: Einmal pro Minute prüft das System intern, ob die Programmschnittstelle (API) noch antwortet.
Data storage
Die Konfiguration und die gesammelten Festplattendaten (in einer InfluxDB) werden dauerhaft auf deinem Server im Verzeichnis /mnt/cache/appdata/monitoring/scrutiny/ gespeichert. So bleiben deine historischen Statistiken und Einstellungen auch bei einem Update des Containers erhalten.
Konfiguration: scrutiny.yaml & collector.yaml
Scrutiny sucht seine YAML-Konfiguration standardmäßig in /opt/scrutiny/config. Dort kannst du mit scrutiny.yaml (Web/API) und collector.yaml (Collector) das Verhalten sehr fein steuern.
- In
scrutiny.yamllegst du z.B. Log-Level, Log-Dateien, Datenbank-Backend und UI-spezifische Einstellungen fest. Dort legst du auch deine Benachrichtigungsdienste fest. Dazu nutzt Scrutiny das Tool shoutrrr. Schau im offiziellen Repository nach der Beispieldatei fürscrutiny.yaml. - In
collector.yamldefinierst du u. a. welche Devices überwacht werden, ob Auto-Discovery aktiv ist und wie oft S.M.A.R.T.-Werte erfasst werden.
Beide Dateien sind optional – ohne Config läuft Scrutiny mit sinnvollen Defaults, was den Einstieg erleichtert.
YouTube video implementation
Fazit: Warum du Scrutiny einsetzen solltest
Scrutiny bringt dir ein fokussiertes, aber extrem wirkungsvolles Tool an die Hand, um die Gesundheit deiner Festplatten und SSDs dauerhaft im Blick zu behalten. Durch das Zusammenspiel aus S.M.A.R.T.-Überwachung, historischen Trends, realitätsnahen Ausfallschwellen und flexibler Alarmierung wird deine Storage-Landschaft deutlich transparenter und planbarer.
Gerade im Homelab, bei Proxmox- oder NAS-Setups mit vielen Laufwerken, ist Scrutiny ein idealer Baustein, um Datenverlust vorzubeugen, rechtzeitig Platten zu ersetzen und Cooling- oder Vibrationsprobleme schnell zu erkennen. Mit den offiziellen Docker-Images, klaren Konfigurationsdateien und der smartd-Integration integriert sich das Tool gut in bestehende Umgebungen und bleibt trotz mächtiger Funktionen angenehm schlank.
Useful links at a glance
- Scrutiny GitHub-Repository (Code, Doku, Issues): https://github.com/AnalogJ/scrutiny
- Linux-Links-Artikel zu Scrutiny (Feature-Überblick): https://www.linuxlinks.com/scrutiny-webui-smartd-smart-monitoring/
- Anleitung Scrutiny unter TrueNAS Scale: https://spin.atomicobject.com/scrutiny-docker-truenas-scale/
- Anleitung Scrutiny auf Synology NAS (Container Manager): https://drfrankenstein.co.uk/scrutiny-in-container-manager-on-a-synology-nas/
- YunoHost-App-Seite zu Scrutiny (Featureliste): https://apps.yunohost.org/app/scrutiny
0 Comments