Die Idee
Ursprünglich hat mich dieser Blog-Artikel auf die Idee gebracht, auf meinem Synology NAS den check_mk agent zu installieren, da das von Synology “mitgelieferte” SNMP-Monitoring zwar sehr performant ist, aber leider nur sehr rudimentäre Informationen zum Zustand des NAS liefert.
Da ich mich am Ende dann doch nur sehr grob an dem o.g. Artikel orientiert habe, habe ich beschlossen, selbst einen Artikel zum Thema zu schreiben, statt einen Kommentar im Blog zu hinterlassen.
Die Basis – ssh-Abfrage oder bootstrap mit xinetd?
Für ältere DSM-Versionen (4.x und 5.x) kommt man im Grunde nicht an einem bootstrap der Synology vorbei, da für eine sinnvolle Nutzung des check_mk agents noch einige zusätzliche Tools und Pakete benötigt werden, die bei älteren DSM-Versionen nicht mitgeliefert werden.
Ab DSM 6 läuft der check_mk linux agent aber auch ohne zusätzliche Software einwandfrei, da diese DSM-Version alle Voraussetzungen bereits mitbringt.
Wer sein NAS mit DSM 6 oder höher nicht ausschließlich dafür bootstrappen will, um anschließend den check_mk agent darauf laufen zu lassen, dem würde ich eher empfehlen, den Agent per ssh-Abfrage zu nutzen.
Die bootstrap-Variante ist für alle Nutzer interessant, die sowieso schon eine Paketverwaltung auf ihrem NAS installiert haben oder die nach einem guten Grund suchen, sich mit dem Thema auch für andere Anwendungsmöglichkeiten zu befassen.
Installation der Paketverwaltung (bootstrap)
In vielen bootstrap-Artikeln für Synology-Geräte wird die Installation von ipkg beschrieben. Da ipkg jedoch seit Jahren nicht mehr gepflegt wird und inzwischen (hoffnungslos) veraltet ist, würde ich immer eine der verfügbaren Paketverwaltung auf Basis von opkg vorziehen, sofern diese für für die Prozessor-Architektur des eigenen NAS verfügbar ist.
Vor allem die Besitzer von Synologys mit PowerPC-Prozessoren bleiben bei opkg jedoch leider außen vor. Zumindest ist mir bei mehreren Recherchen in den letzten Jahren keine opkg-Distribution für die PPC-Linie von Synology untergekommen.
Für ARM- und Intel-Architekturen kann ich die entware-ng Distribution empfehlen. Und um hier nicht alles doppelt zu schreiben, verweise ich für die eigentliche Installation auf den sehr guten Artikel dazu auf der entware-ng Seite:
Installation und Konfiguration des xinetd
Nach dem bootstrap wird mit dem Befehl
opkg install xinetd
der xinetd daemon installiert.
Anschließend wird /opt/etc/xinetd.conf editiert und am Ende der Datei die Konfiguration für den check_mk Service ergänzt:
service check_mk { type = UNLISTED port = 6556 socket_type = stream protocol = tcp wait = no user = root server = /opt/bin/check_mk_agent log_on_success = disable = no }
user=root server=/opt/bin/check_mk_agent
Installation des Check_MK Agents
scp root@nagios:/opt/omd/versions/default/share/check_mk/agents/check_mk_agent.linux /opt/bin/check_mk_agent
/opt/etc/init.d/S10xinetd start
Bonus: Nutzung lokaler Plugins und Konfigurationsdateien
[...] export MK_LIBDIR="/opt/usr/lib/check_mk_agent" export MK_CONFDIR="/opt/etc/check_mk" export MK_VARDIR="/opt/var/lib/check_mk_agent" [...]
Tipp: Falls eins oder mehrere der oben konfigurierten Verzeichnisse noch nicht existieren, können diese mit dem folgenden Befehl angelegt werden:
mkdir -p /opt/usr/lib/check_mk_agent /opt/etc/check_mk /opt/var/lib/check_mk_agent
/opt/usr/lib/check_mk_agent/plugins/
/opt/etc/check_mk/
Troubleshooting
/opt/bin/check_mk_agent
netstat -tulpen | grep 6556
tcp 0 0 0.0.0.0:6556 0.0.0.0:* LISTEN 0 29375177 25063/xinetd
opkg install netcat
netcat localhost 6556
cmk -d synology