Wie kann verhindert werden, dass der Monit-Daemon gestoppt wird?

Wie kann verhindert werden, dass der Monit-Daemon gestoppt wird?

Ich verwende Monit, um sicherzustellen, dass alles ordnungsgemäß läuft, aber der Monit-Daemon wurde auch gestoppt.

Ich weiß nicht, wie das sein kann und wie ich verhindern kann, dass der Monit-Daemon gestoppt wird?

Antwort1

Unter Ubuntu 9.10:/etc/inittabexistiert nicht, da Ubuntu verwendetEmporkömmlinganstatt/sbin/initUm dasselbe Ergebnis wie in Antwort Nr. 1 oben zu erzielen, benötigen wir ein Upstart-Skript:

# This is an event.d (upstart) script to keep monit running
# To install disable the old way of doing things:
#
#   /etc/init.d/monit stop && update-rc.d -f monit remove
#
# then put this script here: /etc/init/monit.conf
#
# You can manually start and stop monit like this:
# 
# start monit
# stop monit
#
# Karim Ratib (http://thereisamoduleforthat.com)
# 
# Based on monit.upstart (https://code.google.com/p/monit/source/browse/trunk/contrib/monit.upstart?r=132)
# by Michael Hale (http://halethegeek.com)

start on runlevel [2345]
stop on runlevel [06]

exec /usr/sbin/monit -Ic /etc/monit/monitrc
respawn

Antwort2

Die beste Option, die mir für etwas einfällt, das unbedingt ausgeführt werden muss und bei einem Absturz neu gestartet werden muss, ist, den Prozess aus init heraus auszuführen.

Sie geben einen Eintrag wie den folgenden ein in/etc/inittab:

Name:234:respawn:/usr/local/bin/daemon

Starten Sie init dann neu mit:

init q

Wenn Ihr Daemon nun stirbt, wird er automatisch „neu gespawnt“.

Edit: Ich bin nicht vertraut mit Monit, aber ich habe zufällig ihreFAQ-Seite, und sie haben dies speziell für Monit detailliert beschrieben.

Antwort3

Aus den Monit-Dokumenten entnommen:http://mmonit.com/wiki/Monit/FAQ#init

F: Wie kann ich monit von init aus ausführen, sodass es neu gestartet werden kann, falls monit unerwartet beendet wird?

A: Es wird empfohlen, Monit Version 5 oder höher zu verwenden, wenn Sie Monit von init aus ausführen.

Verwenden Sie entweder die Anweisung „set init“ in der Konfigurationsdatei von monit oder die Option -I in der Befehlszeile. Hier ist ein Beispiel für einen Eintrag in /etc/inittab für monit:

 # Run monit in standard runlevels
 mo:2345:respawn:/usr/local/sbin/monit -Ic /etc/monitrc

Nachdem Sie die Konfigurationsdatei von inits geändert haben, können Sie den folgenden Befehl ausführen, um den Runlevel erneut zu überprüfen und monit zu starten:

 telinit q

Sie sollten in Erwägung ziehen, Ihrem Szenario eine weitere Überwachungsebene wie Nagios/Icinga, Zabix oder Sensu hinzuzufügen, um den Überwachungsstatus zu prüfen.

Obwohl Monit bei Ableben neu gestartet werden kann, gibt es einige Fälle, in denen Monit nicht mehr funktioniert, der Daemon jedoch noch aktiv ist, sodass ein Respawn nie ausgelöst wird.

An diesem Punkt kann eine weitere Überwachungsebene so konfiguriert werden, dass Sie per E-Mail darüber informiert werden, dass der Überwachungsstatus nicht verfügbar ist. Anschließend können Sie das Problem beheben.

verwandte Informationen