[Mongrel] monit vs mongrel cluster

Kevin Williams kevwil at gmail.com
Tue Apr 3 17:55:04 EDT 2007


I do pretty much the same thing with monit, except I don't use
mongrel_cluster. Because monit needs to handle each instance of
mongrel separately, I didn't see the point in using a clustering tool
to handle single instances. It's a minor difference, really -
specifying the mongrel_rails options in the monitrc file vs. the
config/mongrel_cluster.yml file. Either way, I use monit to restart a
mongrel cluster (or "group" as monit calls it).

I'd say monit offers _more_ than mongrel_cluster, but I'm no expert.


On 4/3/07, Ezra Zygmuntowicz <ezmobius at gmail.com> wrote:
>
> On Apr 3, 2007, at 1:39 PM, snacktime wrote:
>
> > Is there anything mongrel cluster gives you that monit doesn't?  I'll
> > be using monit to monitor a number of other services anyways, so it
> > seems logical to just use it for everything including mongrel.
> >
> > Chris
> >
>
> Chris-
>
>         WHen you use monit you can still use mongrel_cluster to manage it.
> You need the latest pre release of mongrel_cluster. This is the best
> configuration I've been able to come up with for 64Bit systems. If
> your on 32bit system then you can lower the memory limits by about
> 20-30%
>
> check process mongrel_<%= @username %>_5000
>    with pidfile /data/<%= @username %>/shared/log/mongrel.5000.pid
>    start program = "/usr/bin/mongrel_rails cluster::start -C /data/<%
> = @username %>/current/config/mongrel_cluster.yml --clean --only 5000"
>    stop program = "/usr/bin/mongrel_rails cluster::stop -C /data/<%=
> @username %>/current/config/mongrel_cluster.yml --clean --only 5000"
>    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
>    group mongrel
>
> check process mongrel_<%= @username %>_5001
>    with pidfile /data/<%= @username %>/shared/log/mongrel.5001.pid
>    start program = "/usr/bin/mongrel_rails cluster::start -C /data/<%
> = @username %>/current/config/mongrel_cluster.yml --clean --only 5001"
>    stop program = "/usr/bin/mongrel_rails cluster::stop -C /data/<%=
> @username %>/current/config/mongrel_cluster.yml --clean --only 5001"
>    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
>    group mongrel
>
> check process mongrel_<%= @username %>_5002
>    with pidfile /data/<%= @username %>/shared/log/mongrel.5002.pid
>    start program = "/usr/bin/mongrel_rails cluster::start -C /data/<%
> = @username %>/current/config/mongrel_cluster.yml --clean --only 5002"
>    stop program = "/usr/bin/mongrel_rails cluster::stop -C /data/<%=
> @username %>/current/config/mongrel_cluster.yml --clean --only 5002"
>    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
>    group mongrel
>
>
>         I wen't for a while using my own scripts to start and stop mongrel
> without using mongrel_cluster. But it works more reliably when I use
> mongrel_cluster and monit together.
>
> Cheers-
> -- Ezra Zygmuntowicz
> -- Lead Rails Evangelist
> -- ez at engineyard.com
> -- Engine Yard, Serious Rails Hosting
> -- (866) 518-YARD (9273)
>
>
> _______________________________________________
> Mongrel-users mailing list
> Mongrel-users at rubyforge.org
> http://rubyforge.org/mailman/listinfo/mongrel-users
>


-- 
Cheers,

Kevin Williams
http://www.almostserio.us/

"Any sufficiently advanced technology is indistinguishable from
Magic." - Arthur C. Clarke


More information about the Mongrel-users mailing list