状态不可用 - monit守护程序未运行。当我使用命令monit quit
时,我得到No daemon process found
。这适用于在AWS上运行的Rails应用程序。
堆栈:
在Root中:
set pidfile /tmp/monit.pid
set idfile /tmp/.monit.id
set statefile /tmp/.monit.state
set logfile /var/log/monit.log
set mailserver smtp.sendgrid.net
port <Sendgrid Port>
username <Sendgrid Username>
password <Our Sendgrid Account Password>
with timeout 30 seconds
set mail-format {from: <Our Sendgrid Account>}
set alert <Dev Email>
set alert <Dev Email>
set httpd port <Our Monit Port>
use address <Our IP Address>
allow <Our NAT IP Address>
allow admin:<Monit Password>
check process crond with pidfile /var/run/crond.pid
start "/etc/init.d/cron start"
stop "/etc/init.d/cron stop"
group system
check process nginx with pidfile /run/nginx.pid
start "/etc/init.d/nginx start"
stop "/etc/init.d/nginx stop"
group system
check device rootfs with path /
if SPACE usage > 80% then alert
check device ebs_storage with path /mnt/ebs_storage
if SPACE usage > 80% then alert
include /var/www/*/current/config/monit.conf
在部署monit.conf中:
check process <Our App>_unicorn with pidfile /var/www/<Our App>/current/tmp/pids/unicorn.pid`
start "/etc/init.d/<Our App>_unicorn start"`
stop "/etc/init.d/<Our App>_unicorn stop"`
group <Our App>`
check process <Our App>_delayed_job with pidfile /var/www/<Our App>/current/tmp/pids/delayed_job.pid`
start program = "/etc/init.d/<Our App>_delayed_job start"`
stop program = "/etc/init.d/<Our App>_delayed_job stop"`
if mem is greater than 300.0 MB for 1 cycles then restart`
if cpu is greater than 50% for 2 cycles then alert`
if cpu is greater than 80% for 3 cycles then restart`
group <Our App>
原始开发人员直接从二进制文件设置Monit并且没有使用'apt'来安装它。它出现在/usr/local/bin/monit
中的root用户和部署用户中。 Rails应用程序运行正常,Monit直到大约一周前。现在它不会重启进程或提醒我们。我意识到这是因为守护程序没有运行,但无法让它重新启动。 root和deploy中的Monit -t
返回Control file syntax ok
。
首先,我没有设置它,也没有设置monit,所以我有点迷失。 Monit是由二进制文件安装到前一个开发人员的/usr/local/bin/monit
而不是使用apt。 Rails应用程序运行正常,但由于其要求中的一些怪癖,我们无法控制的事情可能导致应用程序崩溃。 Monit在重启一切方面做得很好。突然间,它停止了工作。我们的VPC当时正在改变一些事情,所以可能就是这样。我不明白的是,无论我做什么,我都无法让守护进程重启。当我在部署中执行sudo monit -t
或在根目录中执行monit -t
时,我会获得控制文件语法。监视器似乎在正确的位置。
我从来没有设立Monit所以我有点失落。我似乎无法让它重新启动,无法弄清楚它是否是配置问题或其他问题。非常感谢任何指导。