Einleitung

Die systemeigenen Periodic Skripte sind als Wartungs- und Reportingskripte zu verstehen. Für die Überwachung der Vitalwerte des Systems in Echtzeit ist Monit sehr hilfreich und sehr flexibel. Dabei sind folgende Aspekte besonders interessant:

  • Die Auslastung der Prozessors (CPU)
  • Die Belegung des Hauptspeichers (RAM)
  • Die Belegung der Festplatten (HDD)

NEU: Für ganz ungeduldige habe ich einen Konsole only Abschnitt. Da gibts nur Befehle, keine Erklärungen.

Letzte Aktualisierung:

  • 24.11.2024: Initiales Dokument

Voraussetzungen

Monit

Monit ist eine gute und vor allem sehr verbreitete Überwachung, um allerlei Zustände im System zu erhalten und ist z.B. auch in OPNsense enthalten. Das Paket monit ist nach Anpassung der Paketquelle mit pkg install -y monit schnell installiert. Mit service monit enable wird der Dienst aktiviert und dann geht es mit ee /usr/local/etc/monitrc (viele weitere Beispiele sind in der /usr/local/etc/monitrc.sample.sample aufgeführt) ran an die Konfiguration.

Hier soll folgendes erreicht werden: "Beobachte alle am System erkannten Festplatten auf ihre Belegung, halte die CPU und RAM Auslastung im Auge und sende Warnungen per E-Mail, falls was klemmt."

Die Konfigurationsdatei /usr/local/etc/monitrc ist ein mehrere Abschnitte unterteilt

  • Grundkonfiguration
    set daemon 120 with start delay 60 # Alle 120 Sekunden erfolgt eine Prüfung, starte damit 60 Sekunden nach dem Systemstart
    set log syslog # Logging in Syslog
    set httpd unixsocket /var/run/monit.sock # Eingebauter Webserver ist nur lokal erreichbar
        allow localhost
  • E-Mail Server: Hier sind die Zugangsdaten für den Mailserver zu hinterlegen
    set mailserver MAILSERVER port 587 username "LOGIN" password "PASSWORT" using ssl with options { version: auto verify: enable }
    set alert TO-EMAIL mail-format { from: FROM-EMAIL } reminder on 10 cycles # Die E-Mail Adressen definieren
  • Überwachung von CPU, RAM und Dateisystemen
    check system $HOST
       if memory usage is greater than 75% then alert # Alarm wenn RAM mehr als 75% belegt ist
       if cpu usage is greater than 75% then alert    # Alarm wenn CPU Auslastung höher als 75%
       if loadavg (1min) is greater than 8 then alert
       if loadavg (5min) is greater than 6 then alert 
    check filesystem RootZFS with path "/"
       if space usage is greater than 75% then alert  # Alarm wenn / mehr als 75% belegt ist
    check filesystem DataZFS with path "/mnt/data"
       if space usage is greater than 75% then alert  # Alarm wenn /mnt/data mehr als 75% belegt ist
    check filesystem WorkZFS with path "/mnt/work"
       if space usage is greater than 75% then alert  # Alarm wenn /mnt/work mehr als 75% belegt ist

Abschließend wird die Konfiguration mit chmod 600 /usr/local/etc/monitrc vor unbefugten Augen geschützt und Monit mit service monit start gestartet. Mit ZFS lohnt sich dann noch diese Erweiterung.

Konsole

Voilá