Monit installieren: Unterschied zwischen den Versionen
K (→Start eigener Daemons beim Start des Servers: rm monit.pid) |
(Anwendung für Managed Server) |
||
Zeile 1: | Zeile 1: | ||
[[Kategorie:Installationsanleitungen]] | [[Kategorie:Installationsanleitungen]] | ||
[[Kategorie:eigene Daemons]] | [[Kategorie:eigene Daemons]] | ||
[[Kategorie:Managed Server]] | |||
Monit ist ein resourcensparendes Programm zur Überwachung | Monit ist ein resourcensparendes Programm zur Überwachung eines Server oder von [[Daemon|Diensten ("Daemons")]] auf einem Server. | ||
Es fragt regelmäßig den Zustand des zu überwachenden Prozesses ab und kann bei einem Absturz den Prozess selbstständig neu starten. Für Betriebssystem-Resourcen, wie Festplatten-Kapazität oder CPU- und RAM-Auslastung, können Schwellwerte angegeben werden, bei deren Überschreitung Monit per E-Mail alarmiert und in eine Log-Datei protokolliert. | |||
In dieser Beschreibung wird der Start des Servers und von Monit durch den Paketadmin angenommen. Sollte ein davon verschiedener Domain-Admin der "Befehlshaber" sein, so müssen die Pfade entsprechend korrigiert werden. Von "/home/pacs/xyz00" zu "/home/pacs/xyz00/users/xyz00-user". | In dieser Beschreibung wird der Start des Servers und von Monit durch den Paketadmin angenommen. Sollte ein davon verschiedener Domain-Admin der "Befehlshaber" sein, so müssen die Pfade entsprechend korrigiert werden. Von "/home/pacs/xyz00" zu "/home/pacs/xyz00/users/xyz00-user". |
Version vom 28. April 2016, 12:51 Uhr
Monit ist ein resourcensparendes Programm zur Überwachung eines Server oder von Diensten ("Daemons") auf einem Server.
Es fragt regelmäßig den Zustand des zu überwachenden Prozesses ab und kann bei einem Absturz den Prozess selbstständig neu starten. Für Betriebssystem-Resourcen, wie Festplatten-Kapazität oder CPU- und RAM-Auslastung, können Schwellwerte angegeben werden, bei deren Überschreitung Monit per E-Mail alarmiert und in eine Log-Datei protokolliert.
In dieser Beschreibung wird der Start des Servers und von Monit durch den Paketadmin angenommen. Sollte ein davon verschiedener Domain-Admin der "Befehlshaber" sein, so müssen die Pfade entsprechend korrigiert werden. Von "/home/pacs/xyz00" zu "/home/pacs/xyz00/users/xyz00-user".
Konfiguration
Monit sucht seine Konfiguration beim Start beim Start zuerst in der Datei ~/.monitrc im Homeverzeichnis des Users, der monit startet.
Wir erstellen also diese Datei im Hauptverzeichnis des Users und sorgen dafür, dass sie nur von diesem gelesen und beschrieben werden kann:
xyz00@hxx:~$ cd xyz00@hxx:~$ touch .monitrc xyz00@hxx:~$ chmod 0600 .monitrc xyz00@hxx:~$ edit .monitrc
Und füllen sie mit folgendem Inhalt:
set daemon 600 set logfile /home/pacs/xyz00/var/monit.log set mailserver localhost set alert admin@example.tld check process apache2 with pidfile /home/pacs/xyz00/etc/apache2/run/apache2.pid start program "/home/pacs/xyz00/etc/apache2/apache2_start" stop program "/home/pacs/xyz00/etc/apache2/apache2_stop" if failed host example.tld port 8080 with timeout 60 seconds then restart
Achtung: Dieses Beispiel geht davon aus, dass die entsprechenden Start- und Stopskripte existieren und der Pfad zum pidfile des Apachen stimmt.
Monit Starten und Stoppen
Start: monit
Stop: monit quit
Start eigener Daemons beim Start des Servers
In die eigene crontab folgenden Eintrag:
@reboot rm -f $HOME/.monit.pid && /usr/bin/monit -c "/home/pacs/xyz00/.monitrc"
Logfiles kontrollieren
Monit loggt entsprechend der Konfiguration seine "Taten" in ~/var/monit.log
Damit das Logfile nicht zu groß wird, benutzen wir logrotate, das von cron aufgerufen, einmal pro Woche das Logfile komprimiert und zwei alte Versionen hält. Dazu erstellen wir die Konfigdatei .logrotate im Hauptverzeichnis des Users:
touch .logrotate
Darin schreiben wir:
compress /home/pacs/xyz00/var/monit.log { rotate 2 weekly }
Nun brauchen wir noch einen Aufruf von logrotate durch cron. Bitte beachten, logrotate merkt sich den letzten Zustand der Logdatei in einem Statusfile. Das muss in der crontab mit angegeben werden. Wir editieren die crontab und schreiben:
27 7 * * 5 logrotate -s /home/pacs/xyz00/.logrotate_state /home/pacs/xyz00/.logrotate
Damit wird jeden Freitag um 7:27 Uhr das monit.log "rotiert". Achtung: bitte einen andern Tag und eine andere Uhrzeit wählen, damit nicht alle logrotates zur gleichen Zeit starten.