I support a web app that crashes... too often. I can bring it back up in about five minutes, but a customer (physician) has to get whitepaged, and call me, before I know about it.
I've tried to monitor the webserver with an app that pings it, and e-mails me if the server is down, but the problem is that the server isn't actually down when it goes down.
I need something more specific: does the login page come up when you go to the URL? Or better yet, can you actually log in to the login screen?
Any (free) suggestions?
I don't suppose the web app is an executable (i.e. not Java)?
If so, you could replace that executable with a script that runs the real one and then emails you. You wouldn't need to poll at all.
Otherwise,
here's something that may work. I thought that some flavors of Unix had equivalent utilities, but I'm not sure.
What platform is this web app running on? If it's a version of Linux, you can try
daemontools (yes, Bernstein is
a bit of an ass), or gin up a one-off perl script to monitor the process id and restart it/email you if it dies.
If it's winblows, I got nuthin'.
If this is a Windows box, you can easily download wget and write a small script to parse the output from that command in perl or python.
Run the script as a scheduled job every 5 minutes.
If the app is down, run an "iisreset" command.
If it's Linux/UNIX, you may need to download wget (esp. if you run HP-UX or Solaris), and then write a small script that checks the error status, and if it fails, run an "apachectl restart" or whatever command your webserver needs to restart.
That should help you out :). There's even VbScript to do this on the Internet if you look closely enough.
Thanks,
Mitch
Yeah I've done that kind of thing with wget. Nagios will check the HTTP service built-in but that's probably overkill for just this one thing.
@All: Thanks. I think I'll play around with wget, see what I can cook up. Thanks again.