Skip to main content

monit startet einen überwachten Dienst nicht

Monit führt Programme, die in der Konfiguration als „start program“ oder „stop program“ angegeben sind, mit einem sehr reduzierten Environment aus. Dadurch können manche Programme und Services nicht automatisch wieder gestartet werden, da benötigte Umgebungsvariablen fehlen.

Lösung A wäre, die benötigten Variablen im Init-/ oder Wrapper-Script zu hinterlegen.

Lösung B ist das entsprechende Programm einfach aus einer Shell heraus aufzurufen, z.B. so:

check process meinprozess with pidfile /var/run/meinprozess.pid
  start program = "/bin/bash -c '/etc/init.d/meinprozess start'"
  stop program = "/bin/bash -c '/etc/init.d/meinprozess stop'"
  if failed host localhost port 7007 type tcp then restart
  if 5 restarts within 5 cycles then timeout