我正在尝试使用 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
我的一些 gem 有一个自定义位置,例如数据包 (/home/user/.gem/ruby/1.8/bin),我怀疑部分问题是 monit 使用了 spartan PATH (引用http:/ /mmonit.com/monit/documentation/monit.html - PATH=/bin:/usr/bin:/sbin:/usr/sbin),使这些 gem 无法访问。此外,我在 backgroundrb 调试日志中没有收到任何错误。
我很想听听任何知道如何调整 backgroundrb (或我的启动/停止命令)以使其工作的人。
干杯,沃恩。
您可以使用正确的路径设置自定义启动/停止脚本,然后将这些脚本与 monit 一起使用。
非常简单的启动脚本(backgroundrb_monit_start)
并监控配置: