Synology DiskStation per SNMP überwachen
In diesem Posting zeige ich, wie man ein DiskStation NAS von Synology mit einem Monitoring System überwachen kann.
Übersicht
Im Büro kommen einige DiskStation NAS von Synology als FileStore und zu Backup Zwecken zum Einsatz. Der Betrieb dieser Geräte geschieht weitgehend im Hintergrund, so dass Probleme mit den Geräten vermutlich erst bei deren Ausfall ans Licht treten würden. Die genannten Geräte sind 24 Stunden pro Tag in Betrieb. Die Aufgabe bestand deshalb darin, die DiskStations Geräte ins Monitoring einzubeziehen, so dass sich ankündigende Schwierigkeiten rechtzeitig erkannt werden können. Insbesondere soll frühzeitig informiert werden, wenn Plattenplatz knapp wird.
Lösung
Als einfachste Lösung erschien mir die Verwendung des Plugins check_snmp_synology [1] von Nicolas Ordonez, welches auf Nagios Exchange zur Verfügung steht. Das Plugin wurde in den vergangengen Monaten einigermaßen häufig aktualisiert und relativ gut bewertet.
Das Plugin ist speziell für DiskStation NAS des Herstellers Synology geschrieben worden und basiert auf SNMP-Abfragen an die Geräte. Zuerst muss deshalb die SNMP-Funktion im NAS, welche im Auslieferungszustand ausgeschaltet ist, aktiviert werden.
Bei genauerer Betrachtung des Plugins stellte sich heraus, dass es einige kleinere Nachteile aufwies. So prüft es beispielsweise standardmäßig, ob ein Update für die NAS Firmware zur Verfügung steht. Die Erfahrung mit Firmware Updates hat allerdings gezeigt, dass der Nutzen nicht in Relation zum Aufwand steht, so dass wir uns gegen Firmware Updates auf den Geräten entschieden haben. Diese Tatsache führte beim ursprünglichen Plugin allerdings immer zu einem kritischen Gerätezustand („CRITICAL“). Aus diesem Grund habe ich das Plugin dahingehend angepasst, dass die standardmäßige Firmware Update Prüfung in eine optionale Funktion ausgelagert wurde. Die zweite Anpassung betrifft die Ausgabe der Ergebnisse des Plugins. Hier lege ich Wert auf Performance-Angaben (PerfData) und habe deshalb den Parameter „-f“ implementiert. Damit gibt das Plugin Performance Werte zurück, die von Nagios entsprechend verarbeitet werden können. Mit diesen Änderungen stand einer Verwendung des Plugins nichts im Wege. Den Quellcode des angepassten Plugins habe ich auf GitHub zur Verfügung gestellt [2].
Wie oben erwähnt basiert das Plugin auf SNMP-Anfragen an die DiskStation Geräte. SNMP setzt auf die Verwendung einer gemeinsamen Management Information Base (MIB). Synology stellt für seine DiskStations eine eigene MIB zur Verfügung, wie im MIB Guide [3] beschrieben. Die MIB ist entsprechend in den DiskStations bereits hinterlegt. Im Monitoring System muss sie aber natürlich installiert werden. In einem früheren Posting [4] habe ich beschrieben, wie man MIBs unter Linux installiert und testet.
Sofern die MIB korrekt installiert wurde und SNMP auf dem NAS aktiviert ist, erfordert das Plugin keine weiteren Maßnahmen und kann direkt ausgeführt werden. Mein Kommando dafür sieht wie folgt aus:
define command {
command_name check_snmp_synology
command_line $USER2$/check_snmp_synology -2 public -v -h $HOSTADDRESS$ -f -W $ARG1$ -C $ARG2$ -w $ARG3$ -c $ARG4$
}
Und der Service für eines der Geräte sieht so aus:
define service {
service_description check_snmp_synology_demo
host_name demo_host
use check_mk_active
check_command check_snmp_synology!public!45!48!85!90
}
Durch die Verwendung des PerfData Parameters übermittelt das Plugin Rückgabewerte, die sich im Monitoring System in einer ansehnlichen Grafik präsentieren lassen:
Fazit
Mit dem vorgestellten Plugin lassen sich Synologys DiskStations mit geringem Aufwand in ein bestehendes Monitoring System einbinden. Auf diese Weise lässt sich einfach und schnell sicherstellen, dass drohende Ausfälle rechtzeitig erkannt werden. Dank Open-Source war es sogar möglich, das Plugin an die eigenen Bedürfnisse anzupassen. Der ursprüngliche Autor hat auf meine Anfragen leider nicht reagiert, so dass ich meine Änderungen leider nicht diskutieren konnte.
Links
[1] https://exchange.nagios.org/directory/Plugins/Network-and-Systems-Management/Others/Synology-status/details
[2] https://github.com/exensio/synology-nagios-plugin
[3] http://global.download.synology.com/download/Document/MIBGuide/Synology_DiskStation_MIB_Guide.pdf
[4] lancom router per snmp überwachen