Skip to content

checkmk - Rest-Server überwachen

Verschoben checkmk
  • 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.

    2d0d3cbc-1e68-42ff-80ed-b9ebcf5d5db8-image.png

    Also die Dokumentation von checkmk durchsuchen.... Die ist übrigens vorbildlich! Nach einiger Zeit war klar, ich brauche lokale Checks (Scripte) dafür.

    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.

    07856181-1120-4c83-93cc-7f70d274d52c-image.png

    Das dritte Icon von links bringt uns zur Übersicht der Services.

    c32208e4-76b3-4340-bcb4-43b7a63a3a39-image.png

    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!

  • FrankMF FrankM verschob dieses Thema von Linux am

  • KDE neon Unstable Edition

    Linux
    6
    0 Stimmen
    6 Beiträge
    295 Aufrufe
    FrankMF

    Heute Morgen beim ☕ mal die Testinstallation aktualisiert. 484 Pakete 😳

    Screenshot_20231125_092126.png

    Nach dem Klicken auf Alle aktualisieren, startete der Rechner neu und installierte dann die Updates!? Holy Fuck, das erinnert mich an M$. Aber gut, KDE Neon soll ja auch nicht mein Hauptsystem werden.

  • FrOSCon 18

    Linux
    1
    0 Stimmen
    1 Beiträge
    78 Aufrufe
    Niemand hat geantwortet
  • Debian Bookworm 12 - Btrfs Installation

    Linux
    3
    0 Stimmen
    3 Beiträge
    2k Aufrufe
    FrankMF

    Das mit den Namen der btrfs Subvolumes ist bekannt bei Timeshift. Im Readme steht dazu folgendes.

    BTRFS volumes

    BTRFS volumes must have an Ubuntu-type layout with @ and @home subvolumes. Other layouts are not supported. Systems having the @ subvolume and having /home on a non-BTRFS partition are also supported.

    Text file busy / btrfs returned an error: 256 / Failed to create snapshot can occur if you have a Linux swapfile mounted within the @ or @home subvolumes which prevents snapshot from succeeding. Relocate the swapfile out of @ or *@home, for example into it's own subvolume like @swap.

  • Portainer - NodeBB Container erstellen

    Linux
    1
    0 Stimmen
    1 Beiträge
    320 Aufrufe
    Niemand hat geantwortet
  • ROCKPro64 - Projekt Wireguard Server

    Verschoben ROCKPro64
    2
    0 Stimmen
    2 Beiträge
    489 Aufrufe
    FrankMF

    Hat ein wenig Nerven gekostet und der Artikel ist auch was länger geworden 🙂 Viel Spaß beim Lesen und testen!

  • NGINX - Installation

    NGINX
    1
    0 Stimmen
    1 Beiträge
    312 Aufrufe
    Niemand hat geantwortet
  • VS Code - entferntes Verzeichnis einbinden

    Linux
    2
    0 Stimmen
    2 Beiträge
    394 Aufrufe
    FrankMF

    Mein kleines Projekt liegt auch noch auf gitlab.com. Man kann prima die beiden Dienste (VSCode & gitlab.com) verknüpfen.

    Eine Änderung, ein commit und dann

    git push origin master

    Und die Änderungen sind oben. Aber, ich stecke da noch ganz am Anfang der Lernkurve 😉

  • Restic - Einen ROCKPro64 als Datengrab benutzen

    Verschoben Restic
    2
    0 Stimmen
    2 Beiträge
    828 Aufrufe
    FrankMF

    So, dann mal das Ganze testen wenn man seinen Haupt-PC neu installiert hat und ein paar Daten braucht.

    0_1534692578537_IMG_20180819_090116_ergebnis.jpg

    Also, mal Restic installiert.

    sudo apt-get install restic

    Nach erfolgter Installation ein Test

    frank@frank-MS-7A34:~/restic$ restic version restic 0.8.3 compiled with go1.10 on linux/amd64

    Geht so weit.

    Snapshots auflisten. restic -r sftp:rock64@IP:/home/rock64/backup snapshots

    Sieht dann so aus.

    frank@frank-MS-7A34:~$ sudo restic -r sftp:rock64@192.168.3.207:/home/rock64/backup snapshots [sudo] Passwort für frank: rock64@192.168.3.207's password: enter password for repository: password is correct ID Date Host Tags Directory ---------------------------------------------------------------------- 7e2eddcb 2018-08-18 10:10:40 frank-MS-7A34 /home/frank/Bilder 073b7cb4 2018-08-18 14:21:17 frank-MS-7A34 /home/frank 6bc9b21b 2018-08-18 16:11:19 frank-MS-7A34 /home/frank ---------------------------------------------------------------------- 3 snapshots Snapshot wiederherstellen sudo restic -r sftp:rock64@IP:/home/rock64/backup restore latest --target /tmp/backup

    Hiermit stellen wir das Backup im temporären Ordner /tmp/backup wieder her. Hat ewig gedauert, aber ging !?!?!?