尝试重启Monit

时间:2015-11-16 22:05:34

标签: ruby-on-rails linux amazon-web-services ubuntu-14.04 monit

状态不可用 - monit守护程序未运行。当我使用命令monit quit时,我得到No daemon process found。这适用于在AWS上运行的Rails应用程序。

堆栈:

  • AWS - Ubuntu 14.04.3 LTS
  • 架构 - x86_64
  • 的nginx / 1.4.6
  • Rails 4.1.12
  • 独角兽-4.9.0
  • mysql2-0.3.18

在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所以我有点失落。我似乎无法让它重新启动,无法弄清楚它是否是配置问题或其他问题。非常感谢任何指导。

0 个答案:

没有答案