====== Server-Monitoring und Selbstheilung mit Monit ====== Mit [[http://www.tildeslash.com/monit/|Monit]] können Programme überwacht und bei Problemen automatisch neu gestartet werden. ===== Installation ===== * Paket einspielen: # apt-get install monit ===== Konfiguration ===== * Für jedes überwachte Programm wird in ''/etc/monit/conf.d'' eine eigene kleine Konfigurationsdatei angelegt. * Sonstige globale Optionen: * Intervall für Überprüfung auf 300 Sekunden setzen, vor dem ersten Start 3 Minuten warten, bis alles läuft. * Logging erfolgt per Syslog. * Absender der Monit-Mails ist ''monit@disorganized.de''. # vi /etc/monit/monitrc [...] set daemon 300 # check services at 5-minute intervals with start delay 180 # optional: delay the first check by 3-minutes (by # # default Monit check immediately after Monit start) [...] set logfile syslog facility log_daemon [...] set mail-format { from: monit@disorganized.de } [...] #include /etc/monit/conf.d/* include /etc/monit/conf.d/apache2 [weitere Konfigurationsdateien für überwachte Programme] * Überwachte Programme konfigurieren. Auf der Monit-Homepage gibt es viele [[http://www.tildeslash.com/monit/doc/examples.php|Beispiele]]. * Start von Monit als Daemon freischalten. # vi /etc/default/monit [...] startup=1 * Monit neu starten: # /etc/init.d/monit restart * Lauffähigkeit überprüfen: # ps -Naf | grep monit [...] /usr/sbin/monit [...] # less /var/log/syslog [...] monit[3009]: Starting monit daemon [...] monit[3011]: Monit started ===== Probleme ===== * Monit behält den Status auch zwischen Neustarts (per State-Datei, siehe Init-Skript). Damit der Zustand zumindest zwischen Reboots vergessen wird, die State-Datei im ''/tmp''-Verzeichnis ablegen (Pfad ist im Init-Skript fest eingetragen, obwohl es eine Variable in der Defaults-Datei gibt): # vi /etc/init.d/monit [...] ARGS="-c $CONFIG -s /tmp/monit.state"