LibreNMS mit Nagios-Plugins

Das von mir geschätze LibreNMS verrichtet immer noch problemlos seinen Dienst. Nur von der Dienstüberwachung mit Icinga2 bin ich mittlerweile abgerückt. Dieses erledigt mittlerweile auch LibreNMS. Kein großes Hexenwerk. Hierfür müssen im Prinzip nur die Nagios-Plugins nachinstalliert werden, in der Config darauf verlinken und aktivieren.
In dem von mir als Unterbau genutzten Debian geschieht die Installation mit
apt install monitoring-plugins
In der config.php (üblicherweise unter opt/librenms) noch
$config['show_services'] = 1;
$config['nagios_plugins'] = "/usr/lib/nagios/plugins";

einfügen und im Prinzip ist das damit schon erledigt.
Services können nun im Webinterface unter dem neuen Menüpunkt “Service” -> Add Service” hinzugefügt und konfiguriert werden. Die Bekanntesten wie Ping, DNS, DHCP, SSH sind per Dropdown-Liste auszuwählen.

Es ist aber trotzdem möglich von dem Standard abweichende Ports gezielt zu überwachen.
Synologys DSM ist per Default unter https/5001 zu erreichen.
Unter “Parameters” muß demzufolge -p 5001 -S angegeben werden.
Mit dem “-p” wird der zur Überwachung festgelegte Port angegeben und mit der Option “-S” definiert man eine https-Verbindung.
Für meine Services der Syno DS1019+ sieht das zum Beispiel so aus

Update von OSMC

Die letzten Tage hat mich ein kleines aber störendes Problem beschäftigt. Mein Mediencenter OSMC welches auf einem Vero4K läuft lies sich nicht mehr aktualisieren. Bei einem Patchstand von 2020.6.1 doch mal wieder angebracht. Weder über die eingebaute Funktion in der GUI noch manuell über SSH hat es funktioniert. Die Oberfläche meldet bei dem Versuch spontan nur “Error” ohne weitere Informationen. Mit SSH konnte ich dem Ding wenigstens ein paar ein paar Fehlermeldungen entlocken.

E: Failed to fetch http://ftp.fau.de/osmc/osmc/apt/pool/main/a/armv7-lirc-osmc/armv7-lirc-osmc_0.9.4-6_armhf.deb  Hash Sum mismatch

E: Failed to fetch http://ftp.fau.de/osmc/osmc/apt/pool/main/v/vero3-wifi-osmc/vero3-wifi-osmc_1.3.0-1_armhf.deb  Writing more data than expected (14104 > 3732)

Der Versuch mit wget http://ftp.fau.de/osmc/osmc/apt/pool/main/v/vero3-wifi-osmc/vero3-wifi-osmc_1.3.0-1_armhf.deb die Datei runterzuladen und über dpkg manuell installieren hat funktioniert. War aber aufgrund der Anzahl der als fehlerhaft deklarierten Pakete nicht praktikabel.

Ein Bekannter hat mir dann den entscheidenden Tipp gegeben.

sudo apt -o Acquire::https::No-Cache=True -o Acquire::http::No-Cache=True update
sudo apt-get dist-upgrade

Damit greift er auf die Original-Datei aus dem Repository durch Umgehung eines etwaigen Cache zu. Zum Schluß noch ein wenig aufräumen:

sudo rm -rf *.deb
sudo apt-get clean
sudo apt-get autoremove

Nach einem Reboot ist OSMC auf Patchlevel 2020.11.1
Mal sehen, ob zukünftige Udates wieder über die GUI möglich sind…

Bye Bye Nextcloud

Ich habe die Entscheidung mehrere Wochen aufgeschoben. Fakt ist, daß ich meine Nextcloud in letzter Zeit nicht sehr häufig benutzt habe. Für Card,-CalDAV nutze ich die Synology-Eigenen Dienste, die Nutzerdaten liegen auch auf der Synology. Warum also nicht auf ein System – welches gewartet und gepflegt werden will – verzichten. Am Anfang war das ja ganz neu, toll und ambitioniert. Ich habe mir extra nochmal die Mühe gemacht, die jüngste Version 20.0.1 auf einem Debian 10.6 frisch zu installieren. Spaßeshalber habe ich mal die “Empfohlenen Apps” mitinstallieren lassen. Die Installation des “Collabora online – built-in Code server” hat nicht geklappt. Es hätte mich wirklich überrascht wenn alles auf Anhieb funktioniert hätte.

Überdrüssig bin ich auch der Beseitungen der ganzen Einrichtungswarnungen nach der Installation bzgl. Cache, Uploadlimit, SSL und so weiter gewesen. Mein Nutzerverhalten hat sich nicht großartig geändert, aber die Erwartungen an einen Dienst. Ich erwarte keine “One-Click”-Einrichtung aber unter “Benutzerfreundlich” verstehe ich was anderes. Vermutlich bin aber ich auch nicht die anvisierte Zielgruppe und das ist auch völlig in Ordnung. Positiv angetan war ich von dem neuen Dashboard welches so richtig gut und modern aussieht. Die Ernüchterung kam dann aber wieder bei den Standardsachen wie Files und Kalender. Sieht immer noch genauso alt aus.

Ich finde Nextcloud hat sich seiner ursprünglichen Intention etwas abgewandt. Es setzt meines Erachtens zu sehr auf Quantität als auf Qualität. Meine Ansicht deckt sich ein wenig mit Karsten, welcher in seinem Blog zu Nextcloud treffend schrieb:

Es zieht sich schon länger durch meinen Blog, aber ich will es doch noch einmal schreiben: die zunehmende Funktionsvielfalt halte ich für ein Problem. Ich denke nicht, dass ich die nunmehr integrierte Bearbeitungsfunktion von Officedokumenten tatsächlich nutzen werde. Das erledigen lokale Installationen besser (und schneller!). Interessant wohl ohnehin nur für Firmen und entsprechend große Umgebungen …

Ich werde das Projekt weiterverfolgen, evtl. mal die ein oder andere Installation mitmachen aber für produktive Sachen nehme ich zukünftig überwiegend die Dienste meiner Synology in Anspruch.

Versuche mit Icinga Web 2

Neben LibreNMS für die Langzeitüberwachung ist die Tage eine weitere Instanz für das Monitoring hinzugekommen. Neben dem Wunsch auch gezielt Ports oder Dienste zu überwachen war Neugierde ein weiterer Beweggrund. Gerät einschalten und es geht oder geht nicht ist halt mittlerweile nicht mehr so einfach. Dazwischen gibt es immer mehr mögliche Fehlerquellen oder Ursachen welche den regulären Betrieb in Teilen einschränken oder gar unbenutzbar werden lassen. Nun betreibe ich kein Rechenzentrum oder stelle Hochverfügbarkeitsdienste zur Verfügung. Es ist aber trotzdem ein beruhigendes Gefühl zu wissen, daß alles reibungslos funktioniert. Nach etwas Überlegungen meinerseits und intensiven Austausch mit einem Bekannten haben wir uns für Icinga Web 2 entschieden. Schon während der Installation mekt man, daß sowas nicht “mal eben” gemacht wird. Ich als relativ GUI-verwöhnter Mensch musste mich auch erst damit anfreunden, daß nicht alles über eine hübsche Oberfläche machbar ist. Auch bei dem ersten Anlegen eines Hosts bleibt es textlastig. Geräte, Dienste oder Anwendungen welche man gezielt überwachen möchte werden unter /etc/icinga2/conf.d/hosts/ als *.conf – Dateien angelegt. Exemplarisch die Konfigurationsdatei meiner Synology DS415+

object Host "Synology DS415+"{
	import "generic-host"
	address = "10.1.1.14"
	}
	
	object Service "SSH"{
		host_name = "Synology DS415+"
			check_command = "ssh"
			}
			
	object Service "DSM SSL"{
		host_name = "Synology DS415+"
		check_command = "http"
		vars.http_ssl = "1"
		vars.http_port = "5001"
		}
		
	object Service "DSM PLAIN"{
		host_name = "Synology DS415+"
		check_command = "http"
		vars.http_port = "5000"
		}
		
	object Service "RSYNC"{
		host_name = "Synology DS415+"
		check_command = "tcp"
		vars.tcp_port = "873"
		}
		
	object Service "HyperBackup"{
		host_name = "Synology DS415+"
		check_command = "tcp"
		vars.tcp_port = "6281"
		}
		
	object Service "Freigabe NetBackup"{
		host_name = "Synology DS415+"
		check_command = "disk_smb"
			vars.disk_smb_port = "445"
			vars.disk_smb_hostname = "DS415"
			vars.disk_smb_share = "NetBackup"
			vars.disk_smb_username = "user"
			vars.disk_smb_password = "password"
			vars.disk_smb_wused = "85"
			vars.disk_smb_cused = "95"	
		}

Hier werden die “üblichen” Dienste in das Monitoring aufgenommen. Der erste Block inkludiert auch die Abfrage über Ping. Für den zweiten Block SSH sind keine weiteren Parameter nötig. Interessant ist der dritte Block. Eine Abfrage per HTTP (wir wollen wissen ob DSM erreichbar ist), das es sich um eine SSL-Verschlüsselte Verbindung (vars.http_ssl = “1”) und einen abweichenden Port -nämlich 5001- handelt. Analog das ganze für DSM ohne Verschlüsselung. Die Objekte RSYNC und HyperBackup überwachen die Ports welche von den Diensten genutzt werden. Im letzten Block wird definiert ob eine Freigabe erreichbar ist. Unter vars.disk_smb_username und vars.disk_smb_password müsst ihr natürlich einen User/PW eingeben welcher das Recht hat um auf die Freigabe zugreifen zu dürfen.

Zumindest die Anzeige der Parameter und Zustände kann man sich grafisch auf einer einfachen übersichtlichen Weboberfläche angucken.

Icinga2 ist unheimlich mächtig, aber deswegen auch erstmal schwer zu verstehen. Ich bin froh wenn ich die mir wichtigsten Dienste und Anwendungen überprüfen kann, ohne gleich 2 Semester Icinga studieren zu müssen. Der Vorteil liegt aber deutlich auf der Hand. Man sieht mehr zwischen “Geht” und “Geht nicht”. Als Unterbau dient mir ein minimales Debian 10.4 welches sehr Ressourcenschonend ist. Die VM läuft auf einer Synology DS1019+ mit 256MB RAM sehr vernünftig. Nachteil: fällt die DS1019+ aus, ist auch Essig mit Monitoring. 🙂

Das ganze könnte man jetzt noch wunderbar beispielsweise mit InfluxDB verknüpfen und mit Prometheus oder Grafana grafisch visualisiert aufbereiten. Erste Versuche sind aber gescheitert, weil ich der DB keine vernünftigen und vor allen Dingen vergleichbaren Metriken entlocken konnte. Jeder angelegte Host hatte unterschiedliche Werte auf der Zeit,- als auch Datenachse. Sieht zwar schön aus, aber ein direkter Vergleich zwischen den Systemen kommt so nicht zustande.

Aber das ganze macht man auch nicht “mal eben”….

Umzug via Synologys Migrations Assistant

Seit meinem letzten Eintrag 4 Monate vergangen. Wie doch die Zeit vergeht.
Kurzum: Seit 3 Wochen wohnt eine DS1019+ bei mir. Diese ersetzt die DS415+ welches zukünftig mit bereits verbauten 2 x 14TB als Backup-Storage dient. Ich habe lange mit mir gehadert, wie ich die Migration machen sollte. Festplatten umstecken, manuell von A nach B kopieren, oder den neuen Migrations Assistant von Synology ausprobieren. Die HDDs wollte ich nicht umstecken weil diese ja weitehin für das Backup gebraucht werden. Der manuelle Umzug von rund 13 TB und der Aufwand diverse Apps wieder erneut zu konfigurieren war mir diesmal zu viel Arbeit. Klar hätte man die Konfig wieder einspielen können, aber das ersetzt trotzdem nicht die langwierigen Nacharbeiten. Zu der Zeit hatte ich privat viel um die Ohren und wenig Ressourcen übrig. Also habe ich mich entschlossen den Migrationassistant zu probieren. Ein valides und tragfähiges Backup der Daten vom Quellsystem (DS415+) war vorhanden. Der Assistant wird am Zielsystem (DS1019+) installiert, für das Quellsystem die IP-Adresse sowie das Passwort für einen User welcher Mitglied der Administratorengruppe ist eingetragen. Nach einer kurzen Überprüfung beginnt auch schon das kopieren. Der gesamte Vorgang wird über SSH durchgeführt.

Die Übertragunsrate schwanke stark zwischen 30 und 100MB/s. In meinem Fall hat das Kopieren rund 4 Tage gedauert. Es war während der gesamten Zeit keinerlei Interaktion notwendig. Auf das Quell,- sowie Zielsystem konnte weiterhin zugegriffen werden. Nach der Migration manuell den VMM installiert, das System hat die VMs der “alten” Maschine nahtlos importiert. Einzig die Netzwerkverbindung für die VMs musste händisch nachgezogen werden. Das steht aber auch so in der oben verlinkten Anleitung. Auf Wunsch werden die Dienste und Anwendungen auf dem Quellsystem gestoppt. Ich habe der DS1019+ die ursprüngliche IP der DS415+ gegeben. Nach einem obligatorischen Neustart waren sämtliche Freigaben, Benutzer, Dienste, Anwendungen, Daten, Mails, Kalender, Datenbanken und die Homepage vollständig migriert. Sogar die eingerichteten Jobs von HyperBackup waren vorhanden und funktionierten auf Anhieb. Einzig den Job zu Google Drive musste ich erneut verknüpfen. Mein innig geliebtes OSCM greift problemlos auf die Datenbank welche nun auf der DS1019+ liegt zu.

Um die Integrität und Konsistenz der Daten zu wahren, habe ich vor der Migration sämtliche Zugriffe auf das Quellsystem unterbunden. Nach Abschluß der Migration die Zugänge in der Sophos UTM auf das neue Ziel gelegt und aktiviert. So macht eine Migration echt Spaß. Ich wurde positiv überrascht, werde das Konzept weiterverfolgen und bei Bedarf vermutlich wieder so durchführen.