[Seaside] Monit on Ubuntu / Debian to monitor Seaside images

Sebastian Sastre ssastre at seaswork.com
Thu Feb 7 13:16:09 UTC 2008


Well done,
 
    if you read the monit documentation you will figure out quickly how to
use it. And yes you have to set a name for each process/image which monit
only can discern by looking its pid file. That's why I've made those squeak
production images to make a pid file with the name of the service (only if
in unix like OS) and delete it when shutdown. And the script that is named
with the name of the service.
 
    I'm also using two scripts one is SERVICENAME and the other is
SERVICENAMEg. The second is to open the image with full display. This can be
done in the same script by a different command like startHeadfull instead of
start and that comand uses the headfull invocation of squeak.
 
    So the scripts to start and stop looks pretty much as those but I modify
them to allow me to pass as argument a configuration file (just a .st file
defining a dictionary of options). I think they will work for any linux. I
needed to make a directory under /var/run to store only pids of seaside
images to make things more simple.
 
    cheers,
 
Sebastian Sastre

 


  _____  

De: seaside-bounces at lists.squeakfoundation.org
[mailto:seaside-bounces at lists.squeakfoundation.org] En nombre de Rajeev
Lochan
Enviado el: Jueves, 07 de Febrero de 2008 10:34
Para: Seaside - general discussion
Asunto: Re: [Seaside] Monit on Ubuntu / Debian to monitor Seaside images


Hi Sebastian,
I am figuring out a bit of what you sent me in your reply. OJ7WRE is the
name of your Seaside service. I am now searching for init script for Squeak
image. Till now, this is the nearest things I have got

http://wiki.squeak.org/swiki/124     for RedHat Distro
http://wiki.squeak.org/swiki/123     for Solaris

Which one to go for ?, Is there any other thing much more specific to Debian
/ Ubuntu . 

Thanks for your help,
Rajeev


On Feb 7, 2008 2:28 AM, Sebastian Sastre <ssastre at seaswork.com> wrote:


Hi Rajeev,
 
    Monit its simple and yet powerful.
 
    This is how the monitrc file looks like to monitor a squeak image:
 
############################################################################
###
## Monitoring DEVELOPMENT Service OJ7WRE
############################################################################
###
 
 check process OJ7WRE with pidfile /var/run/services/OJ7WRE.pid
 group server
 start program = "/etc/init.d/OJ7WRE start"
 stop program = "/etc/init.d/OJ7WRE stop"
 
 if cpu > 60% for 2 cycles then alert
 if cpu > 80% for 5 cycles then restart
 if totalmem > 200.0 MB for 2 cycles then restart
 
 if loadavg(5min) greater than 10 for 8 cycles then restart
 if 5 restarts within 5 cycles then timeout
############################################################################
###
 
    the start and stop script is doing more or less what you are doing
manually. I send a kill -15 to close image gently. Also I needed to make the
pid file when the image starts and remove before image quits. I have an
object in the image dedicated to startup and shutdown production stuff
inside the image.
 
    For a "more monitored" services you can make monit to send you an email
to your cell phone if it reach some point (like a service restart or fail to
start or CPU 100% for more than 5 min or apache is down or whatever).
 
    cheers,
 
Sebastian Sastre






  _____  

De: seaside-bounces at lists.squeakfoundation.org
[mailto:seaside-bounces at lists.squeakfoundation.org] En nombre de Rajeev
Lochan
Enviado el: Miércoles, 06 de Febrero de 2008 17:36
Para: Seaside - general discussion
Asunto: [Seaside] Monit on Ubuntu / Debian to monitor Seaside images


Hi,
I have been working towards setting up a dedicated server (Ubuntu) to host
my Seaside app as per Ramon's Blog
http://onsmalltalk.com/programming/smalltalk/scaling-seaside-redux-enter-the
-penguin/

Till now, I have been successful in having Apache serve static content and
Load balance between 3 images of my Seaside App. Sticky sessions are working
and everything is going well so far. But I had a problem when installing
Daemontools (which Ramon has written in his blog and also Lukas has written
in Mailing lists), the recent versions of Ubuntu, dont support Daemontools
out of the box. 

In one of the comments to Ramon's post, I could learn that some of the
seasiders have used Monit to do much more than want Daemontools does. Could
you please guide me how to go about.

I came across a blog on Rails using Monit
http://www.igvita.com/2006/11/07/monit-makes-mongrel-play-nice/
In that, what is the equivalent code to Seaside of the following code ?


start program = "/usr/local/bin/ruby /usr/local/bin/mongrel_rails start -d
-e production -p 8010 -a 127.0.0.1 -P
/home/user/current/log/mongrel.8010.pid -c /home/user/rails/current"




    stop program  = "/usr/local/bin/ruby /usr/local/bin/mongrel_rails stop
-P /home/user/current/log/mongrel.8010.pid"
Till now, I have been starting the images manually by 
/seaside$ squeakvm  -nodisplay seasidedemo "" port 9090 &

and to kill it, i use $ pkill squeakvm    or $ kill [PID of SqueakVM]

I suppose, we will also have to change the following code

if totalmem is greater than 60.0 MB for 5 cycles then restart






When an image is running on my server (Pentium Dual Core 2.8 GHz with 1 GB
RAM), it shows almost 3-4% CPU and 3-4% RAM , should we shift the memory cap
from 60 MB to 100 MB / image ?


Is there any other options we have ? 

Thanks for the help,
 
Rajeev 

Co-founder, AR-CAD.com

http://www.ar-cad.com
+91 9243468076 (Bangalore)
080 65355873 


_______________________________________________
seaside mailing list
seaside at lists.squeakfoundation.org
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside






-- 
Rajeev Lochan

Co-founder, AR-CAD.com

http://www.ar-cad.com
+91 9243468076 (Bangalore)
080 65355873 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20080207/7995b515/attachment-0001.htm


More information about the seaside mailing list