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 running several web proxy servers running on CentOS, and I'm looking for a simple way of constantly monitoring the health of the servers (how quickly they respond to web requests, how quickly web pages load, etc.)

I was thinking of possibly something with a web interface (PHP script maybe?), or possibly using tools from a bash prompt. What's an easy way of doing this? Thanks!

share|improve this question

9 Answers 9

up vote 10 down vote accepted

Nagios works really well

share|improve this answer
    
Yep, and it scales very well if that's a concern. It's also more flexible and versatile than any of the alternatives I've tried. –  John Gardeniers Jul 10 '09 at 0:04

Nagios is great for small to medium networks.

OpenNMS is supposed to be the gold standard free monitoring for large infrastructure (thousands of hosts)

share|improve this answer

One of the most common tools used to do this is Nagios, its opensource and has a wide array of monitoring plugins, and if you don't like any of them its able to run any bash script you might like and handle the response. It displays all data through a web interface.

The configuration of nagios can be quite complicated and take a while to get used, but once your there its a fantastic tool. There are also a number of tools to help in its configuration such as nagiosconfig.

share|improve this answer

I generally think of health as fans, power, temperature, etc. If you are using dell servers, open manage can help with that. Nagios allows you to write your own plugins in whatever language, it just uses the exit status of the script. It is possible to tie open manage in with Nagios as well.

Nagios does have a web interface, and there are web interfaces that allow you to configure Nagios. But Nagios set up is not all that easy in general.

share|improve this answer

I recommend Zenoss Core (free). They have ZenPacks to pull custom information that needs to be tracked. Works great in my Linux/Windows environment.

share|improve this answer

Everyone has mentioned Nagios - which is great, but may not give you everything you need.

A better option for what you are looking for might be OpsView - which is just a wrapper around nagios really, but adds graphs of services over time - so you can see what your servers have been doing over the past day, week, month or year.

Both Nagios and OpsView take some time to set up however.

One very useful and extremely easy-to-install answer is munin. The default install of munin gives you a simple web-page with graphs of all sorts of low-level server metrics, such as how much of your memory is used for cache or actively by apps. How many inodes your filesystem is using,disk i/o speed, CPU activity -broken down by type - etc. It will even monitor apache or mysql for you - how many processes are doing what at any given instant. The only thing I don't think it will do is check the actual response time of your web pages - but even that wouldn't be too hard to set up.

share|improve this answer
1  
"but may not give you everything you need." Perhaps not with a default install but it's not too hard to add pretty much anything you want to it. –  John Gardeniers Jul 10 '09 at 0:06

I run Nagios & Cacti, both polling through SNMP, and there has yet to be anything i cant monitor, sometimes i have to write my own php/perl module to do it, but nothing has been "unmonitorable."

Even with PHP+CURL i was able to monitor the logging in of our Exchange server's OWA portal, check that its actually logged in & can view the inbox, and if there is a failure anywhere in the path, notify an engineer.

share|improve this answer

As mentioned earlier, I like Nagios, Cacti and Munin. One more to look at that hasn't been mentioned is Monit

share|improve this answer
    
+1 Thanks for the reference to Monit. Simple and gets the job done. –  Lin Aug 24 '09 at 1:37

Another free and open source alternative that has agent based monitoring is Zabbix.

share|improve this answer

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.