Monit ist ein Open-Source-Dienstprogramm, das mehrere Systemüberwachungsfunktionen bietet, die für Systemadministratoren äußerst hilfreich sind. Dieser Artikel enthält eine Kurzanleitung zur Installation und Konfiguration von Monit. Wir diskutieren auch ein konkretes Beispiel im Zusammenhang mit der Prozessüberwachung.
1. Monitor installieren
Auf Fedora, openSUSE, Debian installieren Sie monit als Paket aus dem Distributions-Repository. Installieren Sie zum Beispiel unter Debian (und Ubuntu) monit mit apt-get wie unten gezeigt.
# apt-get install monit
Wenn Ihre Distribution das Monit-Paket nicht enthält, laden Sie die Monit-Quelle herunter und installieren Sie sie.
2. Monitor konfigurieren
Ein Beispieleintrag für die Prozessüberwachung in der Monit-Konfigurationsdatei /etc/monit/monitrc sieht wie folgt aus.
check process PROCESSNAME with pidfile PIDFILENAME-WITHABSOLUTE-PATH start = STARTUP-SCRIPT stop = STOP-SCRIPT
Um beispielsweise den Cron-Daemon zu überwachen, hängen Sie die folgenden Zeilen an die Datei "monitrc" an.
# vim /etc/monit/monitrc check process crond with pidfile /var/run/crond.pid start = "/etc/init.d/cron start" stop = "/etc/init.d/cron stop"
Weitere Konfigurationen (z. B. das Neustarten eines Prozesses, wenn er eine Speicher- oder Prozessgrenze überschreitet) finden Sie im Abschnitt ÜBERWACHUNG in „man monit“.
Aktivieren Sie außerdem Syslog, indem Sie die folgende Zeile in /etc/monit/monitrc.
auskommentieren# vim /etc/monit/monitrc set logfile syslog facility log_daemon
3. Starten von Monit zulassen
Bearbeiten Sie die Datei /etc/default/monit und aktivieren Sie das Start-Flag, das sicherstellt, dass die Konfiguration abgeschlossen ist, damit monit starten kann.
# vim /etc/default/monit startup=1
4. Überwachung starten
# /etc/init.d/monit start Starting daemon monitor: monit
5. Monit-Funktionalität prüfen
Um dies zu testen, beenden wir den laufenden Cron-Daemon wie unten gezeigt.
# ps -ef | grep cron root 2886 1 0 10:18 ? 00:00:00 /usr/sbin/cron # pkill -9 cron
Im nächsten Intervall startet monit automatisch den Cron-Daemon ohne Administratoreingriff, wie in den Syslog-Meldungen unten gezeigt.
Dec 5 13:06:55 (none) monit[2968]: 'crond' process is not running Dec 5 13:06:55 (none) monit[2968]: 'crond' trying to restart Dec 5 13:06:55 (none) monit[2968]: 'crond' start: /etc/init.d/cron
Führen Sie ein ps -ef aus, um sicherzustellen, dass der Cron-Job automatisch von Monit gestartet wird, wenn Sie ihn beenden.
# ps -ef | grep cron root 19728 1 0 13:06 ? 00:00:00 /usr/sbin/cron