супервайзер как сторожевой пес для различных служб

супервайзер как сторожевой пес для различных служб

Я пробовал настроить supervisordкак watchdog для tomcat, redisи некоторых других служб. Цель — автоматический перезапуск, если службы зависли или остановились.

Вот моя конфигурация для Redis и Tomat

[program:redis]
command=sudo /etc/init.d/redis-server start
autostart=true
autorestart=true
stderr_logfile=/var/log/supervisour_redis.err.log
stdout_logfile=/var/log/supervisour_redis.out.log
logfile_maxbytes=10MB

[program:tomcat]
command=sudo /root/apache-tomcat-7.0.75/bin/startup.sh
autostart=true
autorestart=true
stderr_logfile=/var/log/supervisour_tomcat.err.log
stdout_logfile=/var/log/supervisour_tomcat.out.log
logfile_maxbytes=10MB

Но я не могу полностью контролировать службы. После перезапуска supervisorя вижу

root@test:~/apache-tomcat-7.0.75/bin# supervisorctl 
redis                            BACKOFF    Exited too quickly (process log may have details)
tomcat                           BACKOFF    Exited too quickly (process log may have details) 

Если я начну tomcatс супервизора, он покажет ошибку

supervisor> start tomcat
tomcat: ERROR (abnormal termination)

но tomcat запускается (я проверил с ps aux | grep tomcat). Но я не могу ОСТАНОВИТЬ tomcat. В redisслучае, если супервайзер скажет, что служба остановлена, но это не так!

Связанный контент