<table cellspacing="0" cellpadding="0" border="0" ><tr><td valign="top" style="font: inherit;">&gt; I was curious about how those of you who work with web aps deal with minimizing downtime ... checking the status of the various services on the server and<br><br>well, if that is your goal, you will need more than one server ;)<br><br>You need a&nbsp; load balancer (even a simple one) that handles incoming requests and sends them to your web servers based on availability. i.e. if a server is down, it won't get traffic :) Then as folks mentioned you can have Nagios running which will tell you the health of the servers (and can restart if necessary)<br><br>Here is a step-by-step guide:<br>http://www.howtoforge.com/high_availability_loadbalanced_apache_cluster<br><br><br>--- On <b>Tue, 2/24/09, Matt Barkovich <i>&lt;barko192@gmail.com&gt;</i></b> wrote:<br><blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; padding-left:
 5px;"><br>From: Matt Barkovich &lt;barko192@gmail.com&gt;<br>Subject: [sf-perl] Server downtime reporting and recovery<br>To: "San Francisco Perl Mongers User Group" &lt;sanfrancisco-pm@pm.org&gt;<br>Date: Tuesday, February 24, 2009, 8:13 PM<br><br><div class="plainMail">Hi all,<br><br>I was curious about how those of you who work with web aps deal with<br>minimizing downtime when a particular service dies for whatever<br>reason.&nbsp; I'm not a sysadmin by training, rather it is a responsibility<br>that no one else seemed willing to take.&nbsp; Right now I have a perl<br>script that runs as a cron job every five minutes, checking the status<br>of the various services on the server and restarting and reporting if<br>anything is amiss.<br><br>I've been told that my production schedule needs to be pushed forward<br>and five minutes of downtime will soon be unacceptable.&nbsp; Since I've<br>got a .NET app running in mono (which has not been kind to me) I
 need<br>to catch problems as quickly as possible and restart the service.<br>Most frequently the mono app will just hang indefinitely, not crash<br>outright.&nbsp; With the new schedule I don't have time to fix (read<br>replace) the problematic app before I go live.<br><br>So my question, what do you folks recommend as far as checking the<br>status of services more frequently than every 5 minutes?&nbsp; Would you<br>recommend sticking with perl, or this there some FOSS that would<br>better serve my purposes?&nbsp; In my research, I've found programs like<br>Nagios, but don't know much about them. I'd prefer not to add too much<br>the way of overhead, but I also don't want to reinvent the wheel.<br><br>Sorry if this is a little off topic.<br><br>Thanks,<br><br>Matt<br>_______________________________________________<br>SanFrancisco-pm mailing list<br><a ymailto="mailto:SanFrancisco-pm@pm.org"
 href="/mc/compose?to=SanFrancisco-pm@pm.org">SanFrancisco-pm@pm.org</a><br><a href="http://mail.pm.org/mailman/listinfo/sanfrancisco-pm" target="_blank">http://mail.pm.org/mailman/listinfo/sanfrancisco-pm</a><br></div></blockquote></td></tr></table>