====== 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.
* Dokumentation auf Ubuntu https://wiki.ubuntuusers.de/Monit/
* Webseite https://mmonit.com/monit/
* Konfiguration Beispiele https://mmonit.com/wiki/Monit/ConfigurationExamples
* Erste Schritte https://linux-de.com/?p=14427
===== 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.
# /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/"