SMART-Werte automatisiert auslesen und dokumentieren

Status
Für weitere Antworten geschlossen.

VV4rHe4d

Benutzer
Mitglied seit
07. Okt 2014
Beiträge
6
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich habe die DS214play und möchte den SMART-Wert "Power_On_Hours" bei jedem Aufwachvorgang der Festplatten aus dem Hibernation-Mode zusammen mit Datum und Uhrzeit auslesen und in einem extra Text-File dokumentieren. Letztlich möchte ich mir dadurch eine Übersicht zur Festplattenaktivität schaffen da aus dem Protokollcenter ja nur ersichtlich ist wann eine Festplatte aufwacht und nicht wie lange diese zuvor aktiv war. Ist es möglich soetwas ein Form eines/einer Skripts/App zu programmieren? Wenn ja, könnt ihr mir einen Tipp geben (Websites mit Tutorials, Bücher etc.) wo ich mir das nötige KnowHow hierzu aneignen kann? Bin was programmieren betrifft eher ein Laie, verfüge aber über die nötige Motivation :).

Viele Grüße
VV4rHe4d
 
Zuletzt bearbeitet von einem Moderator:

VV4rHe4d

Benutzer
Mitglied seit
07. Okt 2014
Beiträge
6
Punkte für Reaktionen
0
Punkte
0
Irgendwelche Tipps zur Machbarkeit oder den nötigen Grundlagen?
 

ctrlaltdelete

Benutzer
Contributor
Sehr erfahren
Maintainer
Mitglied seit
30. Dez 2012
Beiträge
13.648
Punkte für Reaktionen
5.820
Punkte
524
Tipp: Ändere die Überschrift des Themas, sonst wird hier keiner reinschauenl, z.B. Smart-Wert automatisch auslesen und speichern.
 

VV4rHe4d

Benutzer
Mitglied seit
07. Okt 2014
Beiträge
6
Punkte für Reaktionen
0
Punkte
0
Hallo ctrlaltdelete,

ich hab nach dieser Option gesucht aber nichts dazu geufnden. Könnte also höchstens einen neuen Thread eröffnen da der Beitrag auch nicht gelöscht werden kann...
 
Zuletzt bearbeitet:

ctrlaltdelete

Benutzer
Contributor
Sehr erfahren
Maintainer
Mitglied seit
30. Dez 2012
Beiträge
13.648
Punkte für Reaktionen
5.820
Punkte
524

Merthos

Benutzer
Mitglied seit
01. Mai 2010
Beiträge
2.709
Punkte für Reaktionen
2
Punkte
84
Mit ist kein Trigger bekannt, an den man sich dafür hängen könnte.

Die Werte kriegst Du z.B. mit smartctl.
 

VV4rHe4d

Benutzer
Mitglied seit
07. Okt 2014
Beiträge
6
Punkte für Reaktionen
0
Punkte
0
Hallo ctrlaltdelete, hallo Merthos,

danke für die Tipps!

@ctrlaltdelete
Werde ich versuchen

@Merthos
Sei mir nicht böse aber ich kann mit diesen Infos noch nicht viel anfangen. Mit Trigger meinst du den Auslöser der die NAS zum Aufwecken bringt und damit zur Ausführung der von mir genannten Funktion dienen könnte? Ist smartctl ein Befehl den ich nutzen kann um die SMART-Werte auszulesen oder ist das gar ein Tool das zusätzlich über die Funktion ausgeführt werden muss? Sorry, aber wie oben erwähnt stecke ich noch nicht so tief im Thema drin und bin auch "noch" kein Hobby-Programmierer :).

Viele Grüße
VV4rHe4d
 

Merthos

Benutzer
Mitglied seit
01. Mai 2010
Beiträge
2.709
Punkte für Reaktionen
2
Punkte
84
Trigger: Der "Einstiegspunkt", wo Du Dein Skript dranhängen kannst. Für's Aufwachen gibt es da afaik nichts.

smartctl: Programm zum Auslesen der Smart-Werte, siehe z.B. http://smartmontools.sourceforge.net/man/smartctl.8.html

Dazu brauchst Du noch ein bissel grep / awk um die Ausgabe zu filtern (sollten sich ein paar Beispiele im Forum finden). Aber wie gesagt ohne passenden Trigger bleibt da nur ein zeitgesteuerter Lauf (cron / Aufgabenplaner).
 

g202e

Benutzer
Mitglied seit
07. Jun 2009
Beiträge
2.293
Punkte für Reaktionen
0
Punkte
82
Vielleicht magst du ja mal was zum Hintergrund sagen? Was bezweckst du mit diesem Wunsch?(Vielleicht gibt's ja ne bessere Lösung...)
 

Matthieu

Benutzer
Mitglied seit
03. Nov 2008
Beiträge
13.222
Punkte für Reaktionen
88
Punkte
344
Name des Threads ist geändert.

Ich sehe das allerdings wie merthos: Man müsste das Skript ja irgendwie starten und da fällt mir nichts ein wie man der DS das verklickern könnte. Zeitgesteuert ist kein Problem, aber für derartige "Events" gibt es IMHO nix.

MfG Matthieu
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
30.694
Punkte für Reaktionen
2.103
Punkte
829
Es ginge schon, indem man z.B. /var/log/messages regelmäßig auf neue wakeup-Einträge überprüft. Aber derartiges Polling ist eine furchtbare Ressourcenvergeudung, da wäre mir ein cronjob wesentlich lieber. Eine andere Möglichkeit wäre ein konfigurierbarer syslogd, den man dann so einrichtet, dass er für die wakeup-Events ein separates Logfile schreibt. Dann kommt man mit einer mtime-Abfrage aus, aber schön ist es immer noch nicht.
 

VV4rHe4d

Benutzer
Mitglied seit
07. Okt 2014
Beiträge
6
Punkte für Reaktionen
0
Punkte
0
Danke an alle!

@Merthos
Werde mir smartctl mal zu Gemüte führen.

@g202e
Grundsätzlich geht es mir darum einen Überblick über die "Wach"-Zeiten der NAS zu bekommen. Wenn ich die Ruhezustandsprotokollierung aktiviere bekomme ich ja nur die Infos wann die Platten aus dem Hibernate-Modus aufwachen aber nicht wann diese in diesen wechseln. Der Grund hierfür ist folgender. Als ich mir die NAS im Oktober letzten Jahres gekauft und aufgesetzt habe ist diese am Tag ca. 12h durchgelaufen obwohl ich (meines Wissens nach) alle relevanten Dienste welche den Hibernate-Modus betreffen deaktiviert habe. Nach einem Update auf die neueste DS-Version und einem kompletten Zurücksetzen der NAS konnte ich bei gleichen Einstellungen und gleicher Nutzung die "Wach"-Zeit auf ca. 3-4h reduzieren. Um jetzt eine komfortable Möglichkeit zu haben das "Wach"-Verhalten bei zukünftigen Updates und Änderungen an den Einstellungen zu überwachen wollte ich die genannten Daten protokollieren, auswerten und nach Möglichkeit grafisch (wenn auch extern aufbereitet) ausgeben (Aktivität/Inaktivität über Tageszeit). Vielleicht gibt es da ja etwas was ich nicht berücksichtigt habe aber ich stelle mir schon die Frage warum es so etwas nicht schon standardmäßig im Protokollcenter/Ressourcenmonitor gibt. Fände ich zumindest ganz nützlich.

@Matthieu
Danke für die Umbenennung!
Verstehe. Dann werde ich wohl um eine zeitgesteuerte Funktion nicht rum kommen. Wollte eigentlich vermeiden, dass die Funktion selbst ein Aufwachen der Festplatten triggert. Oder kann man das unterbinden und die Ausführung nur dann anstoßen wenn die Bedingung "Uhrzeit XX:XX" und "Festplatten aktiv" zutrifft? Dann könnte ich ja mehrere Uhrzeiten angeben und dann im Nachhinein nur den letzten Wert am Tag auswerten. Würde dann zwar nur noch zulassen die Aktivzeit pro Tag auszuwerten aber das würde auch schon ausreichen.

@dil88
Klingt interessant. Was meinst du mit Ressourcenvergeudung? Ist hier Prozessorlast oder Speicherplatz gemeint? Mit mtime wird dann wohl die Zeit ausgelesen an dem das File geschrieben wurde. Dürfte doch, wenn das File immer wieder überschrieben wird, ja nicht das große Problem sein oder?


Nochmals Danke für Eure Unterstützung!

Grüße
VV4rHe4d
 

Frogman

Benutzer
Mitglied seit
01. Sep 2012
Beiträge
17.485
Punkte für Reaktionen
8
Punkte
414
...Verstehe. Dann werde ich wohl um eine zeitgesteuerte Funktion nicht rum kommen. Wollte eigentlich vermeiden, dass die Funktion selbst ein Aufwachen der Festplatten triggert.
Ich nehme stark an, dass das Auslesen der SMART-Informationen eine Platte ohnehin immer aufwecken wird.
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
30.694
Punkte für Reaktionen
2.103
Punkte
829
Klingt interessant. Was meinst du mit Ressourcenvergeudung? Ist hier Prozessorlast oder Speicherplatz gemeint? Mit mtime wird dann wohl die Zeit ausgelesen an dem das File geschrieben wurde. Dürfte doch, wenn das File immer wieder überschrieben wird, ja nicht das große Problem sein oder?

/var/log/messages ist üblicherweise eine große Datei. Wenn man die jede Sekunde parsen möchte, um die wakeup-Zeilen in Kombination mit einem Timestamp zu filtern, dann ist das schon gruselig. Sicherlich kann man es seltener machen, aber eigentlich will man einen solchen Job nicht auf einem NAS haben - es sei denn er läuft einmal am Tag bzw. besser in der Nacht per cron. Die zweite Variante mit dem Test auf die mtime ist da schon weitaus praktikabler. Bei dem Szenario ist das Problem, den init zu tauschen. Da das ein integraler Bestandteil des Linux-Betriebssystems ist (quasi der erste Prozess, den der Kernel startet), ist das schon ein gewisser Aufwand.
 

VV4rHe4d

Benutzer
Mitglied seit
07. Okt 2014
Beiträge
6
Punkte für Reaktionen
0
Punkte
0
Sorry für den Doppelpost.

@Frogman
Mein Plan war es ja auch diese Abfrage nur dann zu starten wenn die Festplatten durch einen anderen Trigger eh aufgeweckt werden. Dann hätte es die Möglichkeit gegeben durch Differenzbildung der Power_On_Hours den Zeitpunkt zu bestimmen an denen die Festplatten wieder in den Hibernate-Modus gewechselt haben.
 
Zuletzt bearbeitet:

Merthos

Benutzer
Mitglied seit
01. Mai 2010
Beiträge
2.709
Punkte für Reaktionen
2
Punkte
84
Wollte eigentlich vermeiden, dass die Funktion selbst ein Aufwachen der Festplatten triggert.
Als ich noch das Display an der DS hatte, sind die Platten trotz regelmäßigem Auslesen der Temperatur mit smartctl schlafen gegangen / geblieben. Von daher lesen ist nicht das Problem, ehr das Schreiben des Logs. Hier wäre ein USB-Stick als Ziel empfehlenswert.
 

Frogman

Benutzer
Mitglied seit
01. Sep 2012
Beiträge
17.485
Punkte für Reaktionen
8
Punkte
414
Als ich noch das Display an der DS hatte, sind die Platten trotz regelmäßigem Auslesen der Temperatur mit smartctl schlafen gegangen / geblieben..
Ok, das klingt gut - wenngleich die Frage bliebe, ob das für alle Parameter gilt.
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat