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