Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 无法使用monit监视puma服务器_Ruby On Rails_Monit - Fatal编程技术网

Ruby on rails 无法使用monit监视puma服务器

Ruby on rails 无法使用monit监视puma服务器,ruby-on-rails,monit,Ruby On Rails,Monit,我的IT配置文件: check process qifu with pidfile /var/www/qifu/tmp/pids/puma.pid start program = "/bin/bash -l -c 'cd /var/www/qifu && pumactl -F config/puma_production.rb start'" with timeout 60 seconds stop program = "/bin/bash -l -c 'c

我的IT配置文件:

  check process qifu with pidfile /var/www/qifu/tmp/pids/puma.pid
    start program = "/bin/bash -l -c 'cd /var/www/qifu && pumactl -F config/puma_production.rb start'" with timeout 60 seconds
    stop program  = "/bin/bash -l -c 'cd /var/www/qifu && pumactl -F config/puma_production.rb stop'"
    if cpu > 60% for 2 cycles then alert
    if cpu > 80% for 5 cycles then restart
    if 3 restarts within 5 cycles then timeout

当我直接从终端执行start和stop命令时,它工作,但它不工作。

您似乎需要切换用户。尝试将命令更改为以
/bin/su--c
开头,使代码变为:

check process qifu with pidfile /var/www/qifu/tmp/pids/puma.pid
    start program = "/bin/su - <user> -c 'cd /var/www/qifu && pumactl -F config/puma_production.rb start'" with timeout 60 seconds
    stop program  = "/bin/su - <user> -c 'cd /var/www/qifu && pumactl -F config/puma_production.rb stop'"
    if cpu > 60% for 2 cycles then alert
    if cpu > 80% for 5 cycles then restart
    if 3 restarts within 5 cycles then timeout
使用pidfile/var/www/qifu/tmp/pids/puma.pid检查流程qifu
启动程序=“/bin/su--c”cd/var/www/qifu&&pumactl-F config/puma_production.rb start'”,超时60秒
停止程序=“/bin/su--c”cd/var/www/qifu&&pumactl-F config/puma_production.rb stop”
如果cpu>60%持续2个周期,则发出警报
如果cpu>80%持续5个周期,则重新启动
如果3次在5个周期内重新启动,则超时

需要提及monit返回的错误。我认为这是一个特权错误,需要使用sudoers组的用户,或者类似的东西