Mist, jetzt habe ich auch noch Streamlit gefunden. Jetzt geht mir langsam die Zeit aus...
checkmk - Rest-Server überwachen
-
Mail Problem
So Hobby Admins stoßen immer mal wieder auf neue Probleme, vor allen Dingen wenn man Lösungen mit irgendwelchen Anbietern umsetzt. Ich verschicke seit fast zwei Jahren Mails von meinem NAS oder auch von meinen Servern an einen EMail-Dienst.
https://forum.frank-mankel.org/topic/705/mail-vom-nas-verschicken
Das funktioniert seit ein paar Tagen nicht mehr, da die Mails als SPAM geflaggt werden. Vieles versucht, Umleitung rausgenommen, anderen Dienst als Ziel usw. Problem blieb aber für mich nicht lösbar. Anders ausgedrückt, ich war unzufrieden.
Der Plan stand, es musste eine andere Lösung her. Ich brauchte den Rat von einem Profi und Nico meinte ganz trocken - mit checkmk
Rest-Server
Worum geht es denn? Ich benutze einen Rest-Server zur Sicherung von Backups mit dem Tool Restic. Dieser Server hat dann früher die Mails verschickt. Ok, das soll jetzt ersetzt werden mit checkmk.
checkmk läuft auf meinem Haupt-PC in einem Docker Container. Dort soll das jetzt überwacht werden. Da schaue ich regelmäßig rein, so das ich dann auch zeitnah mitbekomme, wenn es mal irgendwo klemmt.
Da der Rest-Server sowieso mit checkmk überwacht wird, sollte das relativ einfach umzusetzen sein. Ok, das war etwas optimistisch, es hat was länger gedauert bis ich alles verstanden hatte.
Lösung
Ich hatte erst ein wenig mit den Plugins rum gespielt. Da bekam ich aber nicht wirklich was ans Laufen.
Also die Dokumentation von checkmk durchsuchen.... Die ist übrigens vorbildlich! Nach einiger Zeit war klar, ich brauche lokale Checks (Scripte) dafür.
Lokale Checks
Checkmk kann auch ohne große Programmierkenntnis sehr einfach erweitert werden. Erfahren Sie hier, wie Sie dem Agenten ein eigenes Skript übergeben.
Checkmk Docs (docs.checkmk.com)
Das mit den Plugins hätte ich auch direkt lassen können, wenn ich die Nachricht vom Nico vernünftig gelesen und verstanden hätte
Ins checkmk integrieren über einen selbstgeschriebenen Check
Ok, wir müssen auf dem Server Scripte erstellen, die das entsprechend überwachen und dann eine Meldung erzeugen, die der checkmk Agent lesen kann und dann am checkmk Server angezeigt wird.
Die Scripte kommen nach
/usr/lib/check_mk_agent/local
Dann spielt man ein wenig mit dem Beispielscript der Dokumentation, bis man es angezeigt bekommt.
#!/bin/sh echo "0 myservice - OK: This is my custom output"
Auf der checkmk Instanz muss man jetzt folgendes machen.
Das dritte Icon von links bringt uns zur Übersicht der Services.
Der Service erscheint hier nach einem Automatic refresh, wenn er nicht schon erkannt wurde. Dann kann man ihn ins Monitoring übernehmen - fertig.
Ok, was sehen wir auf dem Screenshot? Der erste Dienst hat eine Warnung, weil kein File in den letzten 24 Stunden erstellt wurde. Also ein Problem, wir müssen nachsehen! War in diesem Fall einfach, ich hatte gestern den Crontab abgeschaltet
Bei den anderen Diensten ist der Check noch nicht integriert, die geben mir nur die Daten vom letzten Backup aus. Und hier das Script, so als erste Version.
#!/bin/sh dir=/mnt/HC_Volume_XXXXXX/rest-server/forum/snapshots cd $dir # Letztes File ermitteln file=`ls -t1 | head -n 1` # Stat ausgeben stat=`stat -c %y $file` # Wir checken ob ein File in den letzten 24 Stunden geändert wurde if find * -type f -mtime 0 | grep -q . then # wenn ja, ein File wurde in den letzten 24 Std. geändert, dann echo.... echo "0 Backup_Forum - Backup Forum - ${stat}" else # wenn kein File in den letzten 24 Std. geändert wurde, geben wir eine Warnung aus. echo "1 Backup_Forum - Backup Forum" fi
Update: Das Script muss natürlich ausführbar sein, also
chmod +x script.sh
Danke Nico!!
Mehr denn je, man muss Lösungen mit eigenen Mitteln erstellen!
-