large system monitoring
pj: While working as a web developer at a Fortune 500, we had these same sort of issues.  Web sites would go down and we'd get a call from someone trying to use it.  This was 10 years ago...To learn about and fix these problems before the customer, some interns built a scheduled web site poller that would check the response for error codes and timeouts, push the status to a database and send an email to subscribers.They built it, knowing very little about programming or anything, in just a few weeks and reduced our customer calls dramatically.  We were aware of the problem and resolved it reducing customer complaints substantially!Anyway, that kind of thing is very easy to build, just go do it.  Monitor at the application level for failures, most errors at the infrastructure level bubble up anyway so you can catch them at the end point.Now, if you want to do scalability projections or monitoring of non-web apps, this won't help...