[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: