Я пытаюсь использовать monit для мониторинга процесса backgroundrb (который иногда убивается), но мне кажется, что команды запуска или остановки не работают (я просто получаю сообщение «сбой выполнения») - хотя они отлично работают из команды Подсказка.
Я не делаю ничего особо сложного:
check process backgroundrb_11006
with pidfile "/home/user/site/tmp/pids/backgroundrb_11006.pid"
start = "/usr/bin/ruby /home/user/site/script/backgroundrb start"
stop = "/usr/bin/ruby /home/user/site/script/backgroundrb stop"
if cpu > 90% for 2 cycles then restart
if totalmem > 512 MB for 2 cycles then restart
if 4 restarts within 4 cycles then timeout
group backgroundrb
У меня есть настраиваемое местоположение для некоторых моих драгоценных камней, таких как пакет (/home/user/.gem/ruby/1.8/bin), и я подозреваю, что часть проблемы заключается в том, что monit использует спартанский PATH (цитирую http://mmonit.com/monit/documentation/monit.html - PATH = / bin: / usr / bin: / sbin: / usr / sbin), что делает эти драгоценные камни недоступными. Кроме того, у меня нет ошибок в журнале отладки backgroundrb.
Я хотел бы услышать от всех, кто знает, как я могу настроить backgroundrb (или мои команды запуска / остановки), чтобы заставить эту работу работать.
Привет, Воган.
Вы можете создать собственные сценарии запуска / остановки с указанием правильного пути, а затем использовать эти сценарии с monit.
Очень простой стартовый скрипт (backgroundrb_monit_start)
#!/bin/sh
PATH=/bin:/usr/bin:/sbin:/usr/sbin:/add/your/other/paths
GEM_HOME=/home/mygemrepository
/usr/bin/ruby /home/user/site/script/backgroundrb start
И отслеживаем конфиг:
start = "/usr/bin/ruby /home/user/site/script/backgroundrb_monit_start"