Inhaltsverzeichnis

Monit

Monit 🇬🇧 ist ein rasch eingerichtetes, einfach zu bedienendes aber effektives Programm zur Überwachung von Serverdiensten. Es kann auch wichtige Basisdaten wie CPU-Nutzung, Festplattenbelegung und mehr einbeziehen. Falls ein Serverdienst ausfällt, kann er automatisch neu gestartet werden. Bei Problemen werden ein oder mehrere Empfänger per E-Mail informiert. Zusätzlich gibt es eine übersichtliche Status-Webseite.

Ursprünglich für einen einzelnen Server gedacht, gibt es mit M/Monit 🇬🇧 auch eine kommerzielle Variante, die mehrere Server gleichzeitig (unter einer Oberfläche) überwachen kann.

Installation

sudo apt-get install monit 
 
# Konfiguration
sudo mc /etc/monit
 
# Start Stop über systemctl
sudo systemctl start monit.service
sudo systemctl status monit.service
sudo systemctl stop monit.service
sudo systemctl restart monit.service
 
# Check der Konfiguration
sudo monit -t

Einrichtung

Die Hauptkonfiguration liegt in /etc/monit/monitrc

Standardmäßig wird auch noch das Verzeichnis /etc/monit/conf.d/ mit durchsucht.

Überwachungen

Es können Server Dienste, Hardware Infos oder auch Dateien überwacht werden.

Einzelne Überwachungen liegen im Ordner

/etc/monit/conf-available/

und müssen zur Aktivierung wie bei Apache mit einem symbolischen Link ins Verzeichnis

/etc/monit/conf-enabled/
sudo ln -s /etc/monit/conf-available/check-cups-file /etc/monit/conf-enabled/
sudo systemctl restart monit

Benachrichtigungen

Für Benachrichtigungen muss in der Hauptkonfiguration ein SMTP Zugang eingerichtet werden:

set mailserver smtp.strato.com
 port 465
 username "station@megadruck24.de"
 password "abcd"
 using SSL
 with timeout 30 seconds

Code Beispiele

Datei überwachen -> Service starten

Datei anlegen in /etc/monit/conf-available/ und enable it.
 
<code conf>
# /etc/monit/conf-available/check-cups-file
check file cup_marker with path /path/to/marker.file
    if not exist then exec "/bin/systemctl restart cups.service"
    # optional: alert on success (Monit >= 5.XX uses alert)
    else if succeeded then alert

Webserver einrichten

sudo vim /etc/monit/conf.d/httpd 
## HTTP interface
 
set httpd
      port 2812
      use address localhost                #Den Zugriff nur für localhost erlauben
      allow BENUTZERNANE:SICHERES_PASSWORT #Erlaubt den Zugriff nur mit dieser Authentifizierung

Aliase

Bei Nutzung nach .bash_aliases kopieren

# monit
alias monit_log="tail -f  /var/log/monit.log"
alias monit_check_config="sudo monit -t"
alias monit_restart="sudo systemctl restart monit.service"
alias monit_status="sudo systemctl status monit"
alias monit_stop="sudo systemctl stop monit"
alias monit_config="sudo mc /etc/monit/ /etc/monit/"
alias mcmonit="sudo mc /etc/monit/ /etc/monit/"