Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I'm totally new to this site monitoring thing, so please bear with me.

I'm looking for a good monitoring service for my website. What I'm trying do is make sure the site is running and working not just running (ie. responsive and working, not just responsive). For example, the database could be down, so the site is responsive but not working, this means with every request you will get an error page instead of the page you want. How do you normally handle this?

In my app, I have something like a fatal error mode, if something goes wrong that the app can't recover from (like when the database is down for example), then the app is set to fatal error mode and will always transfer to a page that says something like 'We're having some technical problem and will be back online soon' (this is done to avoid returning errors with every request, which is not pleasant for the user experience, and also to avoid logging tons of errors which are all basically the same).

I'm thinking about writing a webservice that the monitoring service should call. The webservice should return a boolean value, so, if it returns true then the site is working but if it returns false, then this means that something is wrong. Is it possible to find a monitoring service that can check the value returned from the webservice and notify me if it's not the expected value?

Sorry for the long question and thanks for any suggestions

share|improve this question
    
serverfault.com/questions/76600/… –  warren Oct 21 '09 at 5:43
add comment

6 Answers

Here's a link to a similar question you might find useful:

http://serverfault.com/questions/1014/can-anyone-recommend-a-website-monitoring-service

share|improve this answer
add comment

You could craft a suitable URL, fetch it with wget and check what you get back. Run it periodically via cron or task scheduler and have it email you if there's a problem.

share|improve this answer
    
And what is the problem also affects the task scheduler? I think the OP wants a suggestion that is completely independent from the system itself. –  Alexandre H. Tremblay Sep 10 '12 at 18:48
    
@Alexandre, this process can run on a different machine entirely. It does not, and indeed should not, be run on the machine being monitored. Therefore I don't understand you objection to it. As for what the OP wants, we can only tell that from what he wrote, as we are not mind readers. –  John Gardeniers Sep 10 '12 at 22:59
    
Its only safe if its under a different roof and management. What if the error is in the emailing system. –  Alexandre H. Tremblay Sep 11 '12 at 0:24
    
@Alexandre, let me spell it out for you. The monitoring system can be anywhere in the world. Nobody said anything about it being under the same roof. That's just your very narrow interpretation of something that I never said. As an example, I use this method to monitor a web site and run it from two different locations, each with a different ISP. Is there anything else you want me to explain to you about such a simple and rather obvious system? –  John Gardeniers Sep 11 '12 at 1:38
add comment

will always transfer to a page that says something like 'We're having some technical problem and will be back online soon'

So you will need a service with a keyword check (alertsite, alertfox and most others have this)

share|improve this answer
add comment

Setting up Nagios just for this one task would be overkill but I have my Nagios machine doing exactly what you said. It queries certain web pages which are coded to provide an error page. I look for specific text on the error page and if I see it, I raise an alarm.

I do the same thing with web services.

The bonus with doing it with Nagios is I automatically get performance statistics of how long it takes to load the pages in normal use.

share|improve this answer
add comment

I use SiteUptime to monitor my servers. They offer different packages to monitor HTTP, DNS, SMTP, and several other services. Their base packages only offer the ability to see if a service is responsive - not responsive and working like you want.

However, if your error page offers a 503 error code or if you don't mind spending $5 / month per monitor, they can do Page Content Monitoring. This service will monitor a web page or URL to make sure a word or a set of words is displayed on the page. If the word(s) aren't on the page, it will count the service as unavailable. They also support 503 errors (Service Unavailable) if you want to use that instead by implementing your error handler to display the 503 header.

More information:

http://siteuptime.com

FAQ: What is Page Content Monitoring?

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.