Nagios is a great solution for monitoring hosts, networks, and services on one or more networks. Nagios will monitor as many services as needed per device and then will send an alarm if one or more services has an issue. By default Nagios monitors a bunch of services such as ICMP, HTTP, etc. but can easily be expanded by the use of plugins and other community based open source development projects where code is developed for a specific need and then shared with the development community.
Two packages that should be installed with any Nagios configuration that will be monitoring servers are the Nagios Plugins package, which is currently released to version 1.4.13, and the NRPE package, which is currently released to version 2.12, and can both be located easily on the Nagios web site. Nagios Plugins, including RADIUS, HTTP, ICMP, and more, offers an initial group of plugins to start testing and learn the basic configuration. NRPE allows the Nagios host machine to remotely execute nagios plugins which will allow for tracking and monitoring items such as disk usage, CPU load, number of logged in users, process information, etc.
Here is a screen capture of the Services Details page which includes a couple CentOS Linux servers being monitored by Nagios.
A great side benefit to Nagios is having the historical reference of server/service availability. Having this type of information is really valuable when battling with service providers regarding network up time.
There are extra plugins for almost anything you can think of including PostgreSQL, MySQL, Apache, rsync, LDAP, Java, Asterisk, SIP, IPSec, etc. A lot of plugins can be found at the Nagios Exchange. It is fairly easy to also create your own plugins or modify an existing plugin to accomplish a different goal.
One thing that can get complicated very quickly is the management of configuration files. Not to worry though there are numerous solutions to this problem I have tested a variety of GUI based configuration management tools and in my opinion Monarch comes out on top. Monarch is a piece of Groundwork which uses a combination of Nagios and Cacti for server monitoring and performance analysis. My preference to accomplish the same goals as Groundwork is to have separate installations of Nagios and Cacti.
Below is an image of modifying a Nagios host template.
Initially Monarch is a bit overwhelming however once configured and through the first config file commit you will thank yourself for going through the initial setup. If you have 10 or more hosts/devices that you will be monitoring I highly recommend Monarch to manage your Nagios config files. Monarch can be downloaded here and the documentation can be viewed here. Install instruction come with the package.