
Jeder kennt bestimmt aus dem Linux-Bereich die Smartmontools, die die sogenannten SMART-Werte von Festplatten auslesen und so frühzeitig vor möglichen Problemen beziehungsweise Ausfällen einer Festplatte warnen können. Dieses Tool wird mittlerweile fast standardmäßig in jeder Linux-Distribution installiert.
Heute soll es aber um ein Tool gehen, das sich dieser SMART-Tools bedient, die Festplattenwerte einerseits über einen längeren Zeitraum überwacht und somit nicht nur eine Momentaufnahme macht, sondern die Werte zusätzlich sehr übersichtlich in einer Weboberfläche darstellen kann. Die Rede ist von Scrutiny.
Scrutiny wird üblicherweise über Docker installiert. Das geht mit wenigen Befehlen, die den entsprechenden Container einrichten. Anschließend ist die Weboberfläche über den gewählten Port auf dem Localhost oder eben auch über die entsprechende IP-Adresse erreichbar.

Dort werden die im jeweiligen System verfügbaren Festplatten aufgelistet. Neben einer allgemeinen Übersicht der wichtigsten Parameter, insbesondere derjenigen Werte, die gegebenenfalls als kritisch einzustufen sind, kann man sich auch sämtliche SMART-Parameter anzeigen lassen.
Und in dem obigen Screenshot sehen wir auch schon den ersten Warnhinweis auf einen Fehler bei einer Festplatte.
Bei der Übersicht werden die wichtigsten Parameter wie Lesefehler, Uncorrectable Errors und so weiter herausgepickt. Andere Daten, etwa die Laufzeit der Festplatte, werden eher nebenher dargestellt.

Da Scrutiny schnell installiert ist und relativ wenig Ressourcen verbraucht, sollte man das eigentlich auf jedem System einrichten.
Das einzige Problem, das ich bei der Installation hatte, war, dass trotz der dokumentierten Umgebungsvariablen eine Benachrichtigung, beispielsweise per E-Mail oder über andere Benachrichtigungsdienste, tatsächlich nicht funktioniert hat.
Es gibt aber auch noch eine zweite Möglichkeit, Scrutiny zu installieren, nämlich sozusagen zweigeteilt. Das ist besonders dann interessant, wenn man an einem zentralen Ort die Weboberfläche und die Datenbank haben möchte, aber gleichzeitig mehrere Systeme überwachen will.

Hier wird übrigens InfluxDB als Datenbank verwendet. Auf den anderen Systemen kann man einen kleinen Client installieren, der als fertige Binary praktisch auf jedem Linux-System installiert werden kann. Dieser liest die SMART-Daten aus und meldet sie zentral über eine API-Schnittstelle an die Weboberfläche.

Die einzelnen Systeme werden über eine ID auseinandergehalten, die man in der entsprechenden Konfiguration definieren kann. Dadurch enthält die Weboberfläche später die Daten aller überwachten Systeme und der jeweils darin verbauten Festplatten.
Das kann insbesondere dann von Vorteil sein, wenn man aufgrund der Docker-Installation die eigentliche Weboberfläche in einem Docker-Container betreibt, beispielsweise auf einem für diesen Zweck vorbereiteten Host unter Proxmox.
Für den direkten Zugriff auf die Festplattendaten würde man dort entweder einen privilegierten Container benötigen, was aus Sicherheitsgründen nicht unbedingt anzuraten ist. Alternativ müsste man das Auslesen der SMART-Daten direkt auf dem Proxmox-Host durchführen. Genau dafür kann man diesen kleinen Client verwenden.
Das habe ich ebenfalls installiert und bin dabei mithilfe der KI nur auf ein Problem gestoßen: Die Installation einer bestimmten Client-Version, nämlich größer als 0.8.6, führt im Regelfall nicht dazu, dass die entsprechenden Daten in der Weboberfläche angezeigt werden.

Außerdem gab es bei Proxmox ein ganz besonderes Problem: Scrutiny meldete immer, dass die betreffenden Festplatten, die hier verwendet wurden, keine UUID hatten und insofern ein Auslesen nicht möglich war.
Hier kann man sich dann in der Konfigurationsdatei für den Collector damit behelfen, dass man die entsprechenden Daten aus dem Verzeichnis /dev/disk/by-id heraussucht und dort entsprechend hinterlegt.
Das Tool Scutiny gehört gür mich auf jeden Server, damit man die Samrt Werte der Festplatten im Auge behalten kann.
ciao tuxoche
