Nagios is by far one of the best solutions for monitoring just about everything on a server, and it’s excellent API system means that anything it doesn’t include out of the box can be written in just about any programming language as long as the program output conforms to their standard. I’ve personally written dozens of modules for micro-managing network interfaces, disk IO and so on. I’ve even heard of elaborate schemes of detecting when system load is too high on web servers and launching more Amazon EC2 instances, or checking when load is low enough to terminate EC2 instances, all fully automated.

Read More