Skip to content

checkmk - Rest-Server überwachen

Verschoben checkmk
1 1 727
  • 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
  • NodeBB - v4.2.0

    NodeBB nodebb linux
    1
    0 Stimmen
    1 Beiträge
    88 Aufrufe
    Niemand hat geantwortet
  • Restic - Kompression

    Restic restic
    2
    0 Stimmen
    2 Beiträge
    431 Aufrufe
    FrankMF
    Gestern Abend noch ein paar Tests gemacht, aber nicht wirklich Erfolg gehabt. Ok, dann heute noch mal von vorne und mit System. Als erstes muss man mal Daten finden, die man auch gut komprimieren kann, ich will ja auch ein deutliches Ergebnis sehen. Meine Wahl fiel auf einen openwrt Ordner, mit dem ich mal ein Image selber gebaut hatte. Schön viele kleine Dateien, sollte sich gut komprimieren lassen. Original [image: 1651846033957-547e3596-69df-48ac-9409-5173367afb85-grafik.png] Test mit 7z Rechtsklick, mit den Bordmittel und dann 7z gewählt. [image: 1651845865746-364b497f-cf59-408c-ba2b-cad70cc09529-grafik.png] Test mit Restic V1 Ich habe auf einer mechanischen 1TB Platte zwei Ordner angelegt, einmal Restic_V1, einmal Restic_V2. frank@frank-MS-7C37:~/Downloads$ restic version restic 0.13.1 compiled with go1.18 on linux/amd64 Init restic init -r /media/1TB/Restic_V1/ Backup frank@frank-MS-7C37:~/Downloads$ restic -r /media/1TB/Restic_V1/ backup /home/frank/openwrt/ enter password for repository: repository 731db857 opened successfully, password is correct created new cache in /home/frank/.cache/restic no parent snapshot found, will read all files Files: 407839 new, 0 changed, 0 unmodified Dirs: 41286 new, 0 changed, 0 unmodified Added to the repo: 7.851 GiB processed 407839 files, 11.061 GiB in 4:49 snapshot 24cd8ef4 saved Ergebnis [image: 1651846470644-799fa3ee-5bdf-48ba-a05e-8f7f24f1c41b-grafik.png] Test mit Restic V2 frank@frank-MS-7C37:~/Downloads$ ./restic_v0.13.0-126-g26c33332_linux_amd64 version restic 0.13.1-dev (compiled manually) compiled with go1.18 on linux/amd64 Init ./restic_v0.13.0-126-g26c33332_linux_amd64 init -r /media/1TB/Restic_V2/ --repository-version 2 Backup frank@frank-MS-7C37:~/Downloads$ ./restic_v0.13.0-126-g26c33332_linux_amd64 -r /media/1TB/Restic_V2/ backup /home/frank/openwrt/ enter password for repository: repository 33c5e24c opened (repo version 2) successfully, password is correct created new cache in /home/frank/.cache/restic no parent snapshot found, will read all files Files: 407839 new, 0 changed, 0 unmodified Dirs: 41286 new, 0 changed, 0 unmodified Added to the repo: 7.835 GiB processed 407839 files, 11.061 GiB in 2:47 snapshot 474d0376 saved Ergebnis [image: 1651846653769-caafd946-1285-4e1d-8873-a3ff4141a777-grafik.png] Fazit Fassen wir es mal ein wenig zusammen. Das Original hat 12,1GB ITool Dateigröße Zeit 7z 2,2GB ca. 11:59 Restic V1 8,5GB 4:49 Restic V2 2,9GB 2:47 Man kann auch noch etwas an der Kompression einstellen, ich habe es für diesen Test auf der Standardeinstellung(?) gelassen. You can set the desired compression level by passing it to --compression (e.g. restic backup --compression max), supported are auto, max and off. Das Ergebnis sieht sehr vielversprechend aus. Es könnte den Platzverbrauch stark begrenzen, sehr wichtig für mich wenn man seine Daten in einer Cloud speichert. (Stichwort: Kosten) Und was hier auch noch schön ins Auge fällt, es ist schneller Das möchte ich hier nicht versuchen zu erklären, da ich nicht genau woran es liegt. Vermutung, ich muss wesentlich weniger Daten "schreiben". Ich freue mich extrem, diese Version produktiv einzusetzen. Mal überlegen, ob ich die Version hier auf dem Haupt-PC mal testweise nutze, ich denke das wäre spannend. @Restic-Team: Vielen Dank für dieses tolle Feature!
  • ZFS - One Disk Pool -> Mirror Pool

    Linux linux zfs
    1
    0 Stimmen
    1 Beiträge
    212 Aufrufe
    Niemand hat geantwortet
  • Debian Buster 10.9 released

    Linux debian linux
    1
    0 Stimmen
    1 Beiträge
    236 Aufrufe
    Niemand hat geantwortet
  • Ubiquiti ER-X - Switch

    Verschoben OpenWRT & Ubiquiti ER-X openwrt linux er-x
    1
    1
    0 Stimmen
    1 Beiträge
    311 Aufrufe
    Niemand hat geantwortet
  • Kopia - HTTP/S Server

    Verschoben Kopia kopia linux
    3
    2
    0 Stimmen
    3 Beiträge
    2k Aufrufe
    FrankMF
    Ich hatte ein paar Probleme, die ich mir teilweise nicht erklären kann Ich möchte den Kopia Server gerne über systemd steuern. SystemD [Unit] Description=Kopia Server After=syslog.target After=network.target [Service] Type=simple User=kopia Group=kopia ExecStart=/usr/bin/kopia server --tls-cert-file /home/kopia-server/fullchain.pem --tls-key-file /home/kopia-server/privkey.pem --htpasswd-file /home/kopia-server/.htpasswd --address <IPv4>:51515 Restart=always RestartSec=5 [Install] WantedBy=multi-user.target Danach systemctl daemon-reload systemctl start kopia-server Mit systemctl status kopia-server kann man sich den Status anzeigen lassen. Client Rechner Auf dem Client, der das Backup zum Server schicken soll, machen wir dann folgendes. USER@HOSTNAME:~$ kopia repo connect server --url=https://<DOMAIN>:51515 --override-username=USER --override-hostname=HOSTNAME Enter password to open repository: Connected to repository API Server. NOTICE: Kopia will check for updates on GitHub every 7 days, starting 24 hours after first use. To disable this behavior, set environment variable KOPIA_CHECK_FOR_UPDATES=false Alternatively you can remove the file "/home/frank/.config/kopia/repository.config.update-info.json". Danach steht die Verbindung und wir können Backups hochschieben. kopia snapshot create $HOME Damit wird das Homeverzeichnis gesichert. Das initiale Backup, hat 30 Minuten gebraucht. created snapshot with root kb9e50ff5xxxxxxxxxx265d40a5d0861 and ID cda5c0ffxxxxxxxxxxxxxxa4cb4a367b in 30m28s Ein späteres Backup, sieht so aus. USER@HOSTNAME:~$ kopia snapshot create $HOME Snapshotting USER@HOSTNAME:/home/frank ... * 0 hashing, 51 hashed (324.8 MB), 8524 cached (6.6 GB), 0 uploaded (0 B), 0 errors 100.0% Created snapshot with root kc20a4xxxxxxxxxxxx745c6c7b37c and ID d7a96eaxxxxxxxxxxx0961018eacffa in 3m12s Nach 3 Minuten durch. Zu diesem Zeitpunkt hat sich aber auch nicht wirklich was geändert! Fazit Das Tool macht immer noch einen sehr guten Eindruck. Die Geschwindigkeit ist sehr gut. Die Anleitung ist leider unzureichend. Da gibt es so viele Möglichkeiten, da braucht es sehr lange, bis man da mal durchsteigt. Zum Glück, ist das was man normalerweise braucht, recht überschaubar. Bis zum produktiven Einsatz braucht das aber bei mir noch eine Menge mehr Tests. Was ich noch testen möchte Verzeichnis mounten Backup testweise wieder herstellen (zumindestens teilweise) Der Test läuft mit Standard Einstellungen, also z.B. ohne Kompression. Das sollte man dann auch mal testen.. Bitte achtet auf gleiche Versionen auf dem Clienten, wie auf dem Server. Ich meine da ein paar Probleme festgestellt zu haben...
  • Debian Buster 10 Release

    Linux linux nvidia
    3
    1
    0 Stimmen
    3 Beiträge
    475 Aufrufe
    FrankMF
    Da man ja beim Login auswählen kann, mit was die Session startet, war ich doch jetzt etwas neugierig was überhaupt läuft. [image: 1562484643462-img_20190707_092217.jpg] frank@debian:~$ echo $WAYLAND_DISPLAY frank@debian:~$ loginctl SESSION UID USER SEAT TTY 7 1000 frank seat0 tty2 c1 116 Debian-gdm seat0 tty1 2 sessions listed. frank@debian:~$ loginctl show-session c1 -p Type Type=x11 frank@debian:~$ loginctl show-session c1 Id=c1 User=116 Name=Debian-gdm Timestamp=Sat 2019-07-06 22:43:34 CEST TimestampMonotonic=30094837 VTNr=1 Seat=seat0 TTY=tty1 Remote=no Service=gdm-launch-environment Scope=session-c1.scope Leader=1015 Audit=4294967295 Type=x11 Class=greeter Active=no State=online IdleHint=yes IdleSinceHint=1562446130937731 IdleSinceHintMonotonic=346278596 LockedHint=yes Die Installation der Nvidia Treiber macht da wohl einen x11 Desktop raus. Aber auch nicht weiter schlimm, der Wayland lief ja hier überhaupt nicht. Würde mich aber über interessante Links zum Thema freuen
  • Kernel-Log 4.20

    Linux linux
    1
    0 Stimmen
    1 Beiträge
    351 Aufrufe
    Niemand hat geantwortet