1

I wrote a php daemon using system daemon pear class.

How do I use monit to restart it when it fails?

I have the following code in my monit config file:

check process merge with pidfile /var/www/merge/merge.pid
group 1000
start program = "/etc/init.d/merge start"
stop program = "/etc/init.d/merge stop"
IF CHANGED PID then restart

My goal is solely if the daemon fails (stops running because of an error), I want monit to make it start running again.

Chris Hansen
  • 139
  • 1
  • 1
  • 4
  • So, your config, if the process restarts, the PID changes, then monit sees the PID change, then it restarts it.... :) – cjc Apr 04 '12 at 11:17

1 Answers1

2

I'd do this and change ANYTHING_IN_CAPS to your information:

set daemon 120
set logfile syslog facility log_daemon
set mailserver YOUR_MAIL_SERVER
set alert YOUR_EMAIL_ADDRESS


mail-format {
   from: EMAIL_FROM
   reply-to: EMAIL_FROM
   subject: $SERVICE $EVENT at $DATE
   message: Monit $ACTION $SERVICE at $DATE on $HOST: $DESCRIPTION.
      Your watch guard,
      monit
}

set httpd port 2812 and
    use address localhost
    allow localhost

check process merge 
   with pidfile /var/www/merge/merge.pid
   start program = "/etc/init.d/merge start"
   stop program = "/etc/init.d/merge stop"

This will also allow you to issue monit commands such as:

monit summary

You can then see your current status, and you'll be able to receive emails when a restart occurs.