Herzlich willkommen auf dem Blog der exensio GmbH

exensio ist ein unabhängiges Software-Unternehmen von erfahrenen IT Beratern und Architekten. Zu unseren Kunden zählen namhafte deutsche Großunternehmen.

exensio verbessert das Kommunikations- und Informationsmanagement von Unternehmen. Auf Basis sinnvoller und zweckmäßiger Technologien erarbeiten wir flexible und übergreifende Lösungen für webbasierte Informationssysteme. Abhängig von den Kundenanforderungen realisieren wir Web Applikationen sowie Lösungen auf Basis von Web Content Management- und Portalsystemen. Integrativ, wirtschaftlich und anwenderfreundlich!

Hier gelangen Sie zur exensio GmbH.

Dienstag, 15. Dezember 2015

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] http://blog.exensio.de/2015/07/lancom-router-per-snmp-uberwachen.html

Keine Kommentare:

Kommentar veröffentlichen