Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do you monitor the availability of multiple websites

I need to ensure that any number of websites and services haven't bitten the dust. At the moment I rely on a simple 5 minute cronjob which uses curl and a file of urls to check that all the responses are correct (200 or rarely 301).

It all works on a basic level, I'm interested in more sophisticated open-source tools (statistics, response times, pretty graphs) - what do you use?

like image 856
Ken Avatar asked Oct 18 '08 09:10

Ken


People also ask

How is website monitoring done?

Automated Website Monitoring uses a network of computers located near the site's end users. This network of computer checkpoints interacts with a website or service to verify that the service works as expected.

How do I set up website monitoring?

Web page URL: Type the URL which needs to be monitored. Check frequency: Choose the required polling frequency. The frequency can be set from 30 seconds to 1 day. 30 secs can be configured if you're using Enterprise, Enterprise Web, Enterprise Plus Web, Elite and Elite Web Packs.

What is website uptime monitoring?

Website uptime is the time that a website or web service is available to users in a given period. Represented as a ratio of the time available divided by the total time, the ratio is calculated in monthly or yearly increments. Although 100% uptime is the goal, the industry considers 99.999% uptime as high availability.


4 Answers

I haven't used it myself, but I'm pretty sure I've heard Nagios spoken of in fairly glowing terms. Worth a try?

like image 177
Jon Skeet Avatar answered Nov 11 '22 00:11

Jon Skeet


In my experience nagios works pretty well but seems to be hard to take care of at times. If you want to have stats and everything else on top of what nagios gives you then add cacti. If you want it all in one package you should look into OpenNMS. To get the full benefit of all of these you should be using SNMP too so you can see the details of memory, cpu, disk use as well.

like image 40
carson Avatar answered Nov 11 '22 00:11

carson


Speaking from experience, I'd double the suggestion of using Nagios. I don't think I have found a better open source tool than Nagios that achieves the same stuff.

like image 32
ayaz Avatar answered Nov 11 '22 01:11

ayaz


I would recommend the ManageEngine from AdventNet (http://manageengine.adventnet.com/). It is free for up to 5 monitored resources iirc. Outside the free version it is rather cheap.

Out of the box It knows how to monitor webservices, webservers (of varying types, such as IIS, Tomcat, Websphere (5 and 6), and a host of other things such as natively pulling performance data from MSSQL and DB2. Webservices can be monitored just by "http-are-you-there" but you can also specify actual content to send from the wsdl specification, so you know that not only does the other side respond, but it is able to process records as well. (ofcourse this requires you to have a way of deleting these keep-alive data records afterwards but thats a different issue).

For each of the monitored systems you can setup thresholds to the alert, so it has to come 5 times in a row before triggering an SMS alert or automatically restart the service.

As an added bonus it has the best SNMP support I have seen anywhere.

Link to free download : http://manageengine.adventnet.com/products/applications_manager/download-free.html

Linkg to demo: http://demo.appmanager.com/LoginPage.do

(Note: i'm not affiliated with the company)

like image 31
Soraz Avatar answered Nov 11 '22 00:11

Soraz