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.
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
Die Hauptkonfiguration liegt in /etc/monit/monitrc
Standardmäßig wird auch noch das Verzeichnis /etc/monit/conf.d/ mit durchsucht.
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
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
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
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
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/"