Status der Synology DS per Script auslesen?

Hallo @Bayaro

die SystemUpTime die zeit in msec nach dem letzten booting der NAS.

Warum manchmal einzelne Daten nicht richtig ausgelesen werden und bein nächsten Abfragen wieder richtig weiß ich auch noch nicht.

Gruß
hardlog

Uptime kenne ich :slight_smile:

Ich meinte warum das bei mir so aussieht „SystemUpTime: 18.05 h 05 min 37 sec“. Genauer das „18.05 h“?! Sollte vmtl. „1805 h“ sein!? Muss ich mir zu Hause mal in Ruhe anschauen.

Aber ansonsten wunderbar! Muss mir nur mal die MIB zu meinem NAS anschauen, was es da noch schönes gibt :slight_smile:

Grüße,
Chris

@PeterChrisben

Danke für die Vorlage. Bin schon dran.

Werde mal beobachten, wie sich eine zyklische Abfrage auswirkt.

Abend Wolgang!

SNMP kann in sehr kurzen zyklischen Raten abgefragt werden. In der Firma frage ich teilweise Switche jede Sekunde ab. Auch bei einem NAS ist eine minütliche Abfrage oder kürzer kein Problem!

Wenn du bedenken hast, dann frag einfach mal alle 5 Sekunden über SNMP ab und beobachte die CPU/RAM Auslastung deines NAS. Du wirst merken, das NAS sieht das ganz entspannt :slight_smile: Du solltest nur nicht die Skript-Laufzeit unterschreiten. Wenn du also kurze Zyklen willst, dann solltest du dafür sorgen, dass das Skript nur einmal ausgeführt werden kann und nicht mehrmals gleichzeitig.

Bei mir liegt die SNMP-Abfrage Skriptlaufzeit bei 3-4 Sekunden. Geschuldet dem Aufruf der externen EXE usw…

Grüße,
Chris

So,

die PlattenKapazitätsParameter kann ich jetzt auch auslesen:

$HDUnit=snmp(".1.3.6.1.2.1.25.2.3.1.4.38");
$HDTotal=snmp(".1.3.6.1.2.1.25.2.3.1.5.38");
$HDUsed=snmp(".1.3.6.1.2.1.25.2.3.1.6.38");
$HDFree=round((($HDTotal - $HDUsed) * $HDUnit / 1024 / 1024 / 1024 ));
echo "Totaler Speicher: ".round($HDTotal*$HDUnit/1024/1024/1024). "GB
";
echo "Genutzter Speicher: ".round($HDUsed*$HDUnit/ 1024 / 1024/1024,2). "GB
";
echo "Freier Speicher: ".$HDFree. "GB
";

hardlog

Moin… schon Erkenntnisse zum Sleep Modus des NAS gesammelt?

@Bayaro

Werde mal beobachten, wie sich eine zyklische Abfrage auswirkt.

Damit hatte ich auf Peters Anmerkung angespielt, dass dann

die Festplatten nicht mehr in den Ruhestand gefahren sind

Beim drüber nachdenken hab ich bemerkt, dass die bei mir eh nicht in den Ruhezustand fahren, weil darauf meine MySQL läuft auf die ich permanent logge.

Über CPU-Last hätt ich mir erst mal keine Gedanke gemacht.

@all

Hier gibts den original Synology_DiskStation_MIB_Guide.pdf (Stand 2013). Die die ich ausprobiert habe funktionieren.

Hallo allerseits!

Funktioniert bei euch, mit der aktuellen DSM Version, die Abfrage der Volume-Infos noch?

$HDUnit=snmp(".1.3.6.1.2.1.25.2.3.1.4.38");
$HDTotal=snmp(".1.3.6.1.2.1.25.2.3.1.5.38");
$HDUsed=snmp(".1.3.6.1.2.1.25.2.3.1.6.38");
$HDFree=round((($HDTotal - $HDUsed) * $HDUnit / 1024 / 1024 / 1024 ));
echo "$HDUnit // $HDTotal // $HDUsed // $HDFree"."
";
echo "Totaler Speicher: ".round($HDTotal*$HDUnit/1024/1024/1024). "GB
";
echo "Genutzter Speicher: ".round($HDUsed*$HDUnit/ 1024 / 1024/1024,2). "GB
";
echo "Freier Speicher: ".$HDFree."GB
";

Ergibt bei mir:

 //  //  // 0
Totaler Speicher: 0GB
Genutzter Speicher: 0GB
Freier Speicher: 0GB

War glaube ich schon seit der vorletzten DSM Version :confused:

Bevor ich aber groß auf Fehlersuche gehe, wollte ich bei euch mal nachfragen, damit ich die Fehlerquelle eingrenzen kann.

Grüße,
Chris

Monitore zwar nicht mit IPS aber kurz nach dem Update der DS war aus PRTG das volume auch weg.

Wie von Geisterhand war es einen Tag später wieder da.

Alles andere wird noch korrekt ausgelesen, aber die Volume Infos sind schon seit Wochen weg :frowning: Kam leider nichts von Geisterhand zurück. :confused:

Grüße,
Chris

Meine DSM Versionsnummer ist 5.2 5565 und das Auslesen der Volums der Platten funktioniert

Gruß
Hardlog

DSM 5.2-5565 Update 2

aber wie gesagt mit PRTG

Ich habe auch DSM 5.2-5565.

@hardlog: Du liest mit den von mir geposteten Daten aus? Also mit:

$HDUnit=snmp(".1.3.6.1.2.1.25.2.3.1.4.38");
$HDTotal=snmp(".1.3.6.1.2.1.25.2.3.1.5.38");
$HDUsed=snmp(".1.3.6.1.2.1.25.2.3.1.6.38");

Oder hast du da andere IDs?

Grüße,
Chris

Nee. Hab mir die selbst rausgesucht. Komme aber momentan nicht an meinem Server. Sobald ich dran komme schaue ich nach.

Gruß
Hardlog

Ich habe /volume1 auf .40
Schau mal mit dem MIB - Browser
Gruß
Hoep

Danke Hoep!!! Das war die richtige Zahl :slight_smile:

$HDUnit=snmp(".1.3.6.1.2.1.25.2.3.1.4.40");
$HDTotal=snmp(".1.3.6.1.2.1.25.2.3.1.5.40");
$HDUsed=snmp(".1.3.6.1.2.1.25.2.3.1.6.40");
$HDFree=round((($HDTotal - $HDUsed) * $HDUnit / 1024 / 1024 / 1024 ));
echo "Totaler Speicher: ".round($HDTotal*$HDUnit/1024/1024/1024). "GB
";
echo "Genutzter Speicher: ".round($HDUsed*$HDUnit/ 1024 / 1024/1024,2). "GB
";
echo "Freier Speicher: ".$HDFree."GB
";

Ausgabe:

Totaler Speicher: 13849GB
Genutzter Speicher: 11457.06GB
Freier Speicher: 2392GB

Danke und Gruß,
Chris

PS: Ich muss mal wieder mein NAS aufräumen :smiley:

Gerne Doch. Erfahrungsgemäß gibt es manchmal nach Updates Änderungen im Mib - der Mib-Browser hilft diese Änderungen aufzuspüren und die richtigen Adressen zu finden.
Gruß
Hoep

Dabei habe ich direkt noch eine Änderung in der Uptime des NAS gefunden:

$upTime=explode(":",(snmp (".1.3.6.1.2.1.25.1.1.0"))); //System UpTime
//var_dump($upTime);
$NasUptime = $upTime[0];
$NasUptime = explode(".", $NasUptime);
$NasUptime = $NasUptime[0];
SetValue($NAS_Uptime_ID, $NasUptime);

Ergibt die Uptime in Tagen in einer Variable :wink:

Erklärung:

string(19) "11.03:16:52.6700000"

11 Tage, 3 Stunden, 16 Minuten, 52 Sekunden, …

Grüße,
Chris

hat ein wenig gebraucht.
Der Fehler war Hier: Statt wie im Original mit \ habe ich nun / verwendet.

Seit dem geht’s so

 $binary = "C:/IP-Symcon/extensions/ssnmpq/ssnmpq.exe";

Gibt’s irgendwo eine Liste, in der alle OID aufgelistet sind? ich habe schon im Internet einiges gesucht. Aber so wirklich funktioniert da nix.

Auch wird der aktuelle Speicher bei mir nicht angezeigt

$HDUnit=snmp(".1.3.6.1.2.1.25.2.3.1.4.40");
$HDTotal=snmp(".1.3.6.1.2.1.25.2.3.1.5.40");
$HDUsed=snmp(".1.3.6.1.2.1.25.2.3.1.6.40");
$HDFree=round((($HDTotal - $HDUsed) * $HDUnit / 1024 / 1024 / 1024 ));
echo "Totaler Speicher: ".round($HDTotal*$HDUnit/1024/1024/1024). "GB
";
echo "Genutzter Speicher: ".round($HDUsed*$HDUnit/ 1024 / 1024/1024,2). "GB
";
echo "Freier Speicher: ".$HDFree."GB
";

andere Infos fuktionieren mal mehr mal weniger. Mal funktionierts, des andere mal wird wieder null angezeigt.