Nagios: Total Network Visibility

Constant monitoring of your entire network components can help in detecting different problems at an early stage especially that today all machines are critical and can’t afford even minimal downtime. Redundancy will give you time to recover a failure before having angry users trying to knock down your door, but it doesn’t free us from the responsibility to detect and solve problems.

Nagios is an Open Source system and network monitoring application. It watches hosts and services that you specify, alerting you when things go bad and when they get allows to monitor SMTP, POP3, IMAP, SSH, Telnet, FTP, HTTP, DNS, and many others.

Nagios specializes in real-time reporting of error conditions. It includes scores of scripts for monitoring services of all shapes and sizes, along with extensive SNMP monitoring capabilities. Perhaps its greatest strength is its modular, heavily customizable configuration system that allows custom scripts to be written to monitor any conceivable metric.

Nagios also can be used to monitor server resources usage: memory usage, CPU load, disk usage, service states, running processes etc, all this not only in UNIX based system but also other operating systems such as Windows servers with NRPE_NT.

To install Nagios you can use any UNIX based system for example OpenBSD the operating system install procedure is documented and can be found at ( Next you can check all Nagios installing requirements, and you should add the following packages:

  • libiconv-x.x.x.tgz
  • gettext-x.x.x.tgz
  • pcre-x.x.tgz
  • glib2-x.x.x.tgz
  • libltdl-x.x.tgz
  • nagios-plugins-x.x.tgz
  • nagios-x.x-chroot.tgz
  • nagios-web-x.x-chroot.tgz

During the Installation a user and a group will be created that allows monitoring the daemon. First you start by defining and modifying the following files:

1. main configuration file : /var/www/etc/nagios/nagios.cfg

2. Time definition: /var/www/etc/nagios/timeperiods.cfg

3. List of contacts: /var/www/etc/nagios/contacts.cfg

4. Allow you to display the hosts in groups: /var/www/etc/nagios/hosts/hostgroups.cfg

5. Defining or customizing services: /var/www/etc/nagios/services/services.cfg

6. Securing Apache by adding SSL and authentication measures:   /var/www/conf/httpd.conf

Next you verify the sample Nagios configuration files:

[php]# /usr/local/sbin/nagios -v /var/www/etc/nagios/nagios.cfg [/php]

If there are no errors, start Nagios:
[php]# apachectl startssl
/usr/sbin/apachectl startssl: httpd started

# install -d -o _nagios /var/run/nagios
# /usr/local/sbin/nagios -d /var/www/etc/nagios/nagios.cfg [/php]

You can check if everything is working fine by visiting the web interface https://localhost/nagios/

Once you get Nagios installed and running properly, you’ll no doubt want to start monitoring more than just your local machine. Check out the following docs for how to go about monitoring other things…

  • Monitoring Windows machines
  • Monitoring Linux/Unix machines
  • Monitoring Netware servers
  • Monitoring routers/switches
  • Monitoring network printers
  • Monitoring publicly available services (HTTP, FTP, SSH, etc.)

There are the following quickstart guides that you can use for other Linux Systems (Fedora Quickstart , openSUSE Quickstart , Ubuntu Quickstart ).

For SMB’s Nagios works very well as network less than thousand hosts and devices. It is easy to customize and extend, and it includes powerful features such as redundancy, remote monitoring, and escalation of notifications. If you cannot afford a commercial network management tool, you should strongly consider Nagios.


make sure you subscribe to my RSS feed!