Hi,

I'm not sure if this would be better for the monit list -- but this
seems specifically a monit+mongrel_cluster problem, so I'm hoping
someone here may have seen this before. I'm having problems getting
monit to start up my mongrel_cluster processes. When I start a mongrel
(using --only with mongrel_rails)  from the cmdline, monit detects it
and monitors it just fine, I can see it at as 'Status running' at
http://localhost:2812. If I kill it, monit successfully restarts it.
However, if no mongrels are started and I just do
monit -g mongrel start all
==> /var/log/messages shows `trying to restart` and then `failed to start`.

The cmdline is exactly the same as the 'start program' value in monitrc.

Is this as expected? Do I need to start up my mongrels with explicit
mongrel_rails calls, and thereafter have monit restart them if they
fail? I'd hoped I could get to manage initial startup through monit as
well, keep config as DRY as possible with just a mongrel_cluster.yml and
a monitrc. Is this possible?

Or should I be getting the pack running initially with
/etc/init.d/mongrel_cluster and /etc/mongrel_cluster/* symlinks, and
then letting monit take over?

And then I can start on getting a script/spin that'll work with cap 
deploy:start ...

Thanks for your attention - any feedback welcome.

-- Thomas.
 


==== /etc/monitrc ====
set daemon 20
set logfile syslog facility log_daemon
# FIXME! set alert [EMAIL PROTECTED]
set mailserver localhost
set mail-format { from: [EMAIL PROTECTED] }
set httpd port 2812 and use address localhost
    allow localhost   # Allow localhost to connect
    allow admin:foo # Allow Basic Auth
include /etc/monit.d/*.monitrc


==== /etc/monit.d/mongrel_5000.monitrc -- from Ezra Zygmuntowicz'
excellent version [ez-monitrc][] ====

check process mongrel_harvest_5000
   with pidfile /var/run/mongrel_cluster/mongrel_harvest.5000.pid
   start program = "/usr/bin/mongrel_rails cluster::start --only 5000
--clean -C /var/www/rails/harvest/current/config/cluster_harvest.yml"
   stop program = "/usr/bin/mongrel_rails cluster::stop --only 5000
--clean -C /var/www/rails/harvest/current/config/cluster_harvest.yml"
   if totalmem is greater than 110.0 MB for 4 cycles then
restart       # eating up memory?
   if cpu is greater than 50% for 2 cycles then
alert                  # send an email to admin
   if cpu is greater than 80% for 3 cycles then
restart                # hung process?
   if loadavg(5min) greater than 10 for 8 cycles then
restart          # bad, bad, bad
   if 20 restarts within 20 cycles then
timeout                         # something is wrong, call the sys-admin
   if failed port 5000 protocol http                   # check for response
        with timeout 10 seconds
        for 2 cycles
        then restart
   group mongrel


[ez-monitrc]:
http://www.mail-archive.com/[EMAIL PROTECTED]/msg03321.html


==== cluster_harvest.yml ====

---
user: mongrel
log_file: /var/log/mongrel/production_harvest.log
port: "5000"
environment: production
group: mongrel
address: 127.0.0.1
pid_file: /var/run/mongrel_cluster/mongrel_harvest.pid
servers: 3



--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Deploying Rails" group.
To post to this group, send email to rubyonrails-deployment@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-deployment?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to