monit und MIMEDefang
Liebe Leute,
ich habe ein Problem monit mit MIMEDefang zu verwenden. Leider ist es
so, dass manchmal mimedefang stirbt, nicht aber der
mimedefang-multiplexor.
Mit der Trivialkonfiguration
check process mimedefang-milter with pidfile /var/spool/MIMEDefang/mimedefang.pid
start = "/etc/init.d/mimedefang start"
stop = "/etc/init.d/mimedefang stop"
oder
check process mimedefang-milter with pidfile /var/spool/MIMEDefang/mimedefang.pid
start = "/etc/init.d/mimedefang start"
stop = "/etc/init.d/mimedefang stop"
if failed unix /var/spool/MIMEDefang/mimedefang.sock then start
funktioniert es leider nicht.
Soweit ich verstanden habe, versucht monit zuerst ein
/etc/init.d/mimedefang stop
und danach ein
/etc/init.d/mimedefang stop
Ich eahme mal an, dass Problem liegt daran, dass im Start-/Stopskript
beide Prozesse also mimedefang und mimedefang-multiplexer behandelt
werden und damit vielleicht irgendwelche Rückgabewerte für monit nicht
stimmen, oder die Ausgabe beim parsen auf falsche Werte trifft, wie
auch immer das monit macht.
Logeinträge:
Aug 7 19:25:46 e1 monit[9355]: 'mimedefang-milter' process is not running
Aug 7 19:25:46 e1 monit[9355]: 'mimedefang-milter' trying to restart
Aug 7 19:25:46 e1 monit[9355]: 'mimedefang-milter' start: /etc/init.d/mimedefang
Aug 7 19:25:46 e1 monit[9355]: 'mimedefang-milter' failed to start
Zweite Idee wäre auf den Socket /var/spool/MIMEDefang/mimedefang.sock
zu überprüfen und dann ein exec "/usr/sbin/invoke-rc.d mimedefang
restart" zu machen. Leider sind dafür die Abfragemöglichkeiten in
monit zu beschränkt (auf sockets kann mit einem "check" in der
monit-Konfig nicht überprüft werden). Also so ähnlich, wie:
check file mimedefang.sock with PATH /var/spool/MIMEDefang
if changed timestamp then exec "/etc/monit/scripts/mimedefang-restart"
Logeinträge:
Aug 7 18:50:47 e1 monit[9119]: 'mimedefang.sock' is not regular file
Aug 7 18:50:47 e1 monit[9119]: 'mimedefang.sock' trying to restart
Das Skript /etc/monit/scripts/mimedefang-restart beinhaltete
verschiedene Versuche mit "invoke-rc.d mimedefang restart" oder
"... start" und auch more enhanced mit dem Versucht vorher den
multiplexor zu stoppen m dann beide über das Init-Skript zu starten.
Hat vielleicht noch jemand eine Idee ohne das man das
Start-/Stopskript auseinandernehmen muß oder ein Konfigschnipsel einer
bereits existierenden Überwachung von MIMEDefang mit monit?
Achja, läuft bei mir auf Debian lenny am letzten Stand.
Grund für den Einsatz von monit:
Ca. 1x die Woche stürzen bei mir spamassassin, clamav und mimedefang
ohne erkennbaren Grund und ohne weiteren Einträge in den Logs
einfach ab. Spamassassin und clamav lassen sich ohne Probleme mit
monit wiederstarten (dort wird auch nur 1 Prozess in den jeweiligen
Start-/Stopskripts gestartet).
Weitere Konfigs in monit:
check process clamav-milter with pidfile /var/run/clamav/clamav-milter.pid
start program = "/etc/init.d/clamav-milter start"
stop program = "/etc/init.d/clamav-milter stop"
if failed unix /var/run/clamav/clamd then start
check process spammass-milter with pidfile /var/run/spamass/spamass.pid
start program = "/etc/init.d/spamass-milter start"
stop program = "/etc/init.d/spamass-milter stop"
if failed unix /var/run/spamass/spamass.sock then start
Danke
Christian
Reply to: