Chapter 13. Network Monitoring with Nagios

In this chapter, you'll learn how to install and configure Nagios to monitor network services, host processes, and hardware. Nagios is so flexible it would take a couple of books to detail everything it can do, so we're going to focus on the most common functions to build a good foundation that will let Nagios grow as your network grows.

In this chapter, you will learn how to:

Why Nagios, when the FOSS world offers a multitude of good network monitors? You could probably choose one with a coin toss and be happy with it. Nagios' strength is its modular design, which permits the greatest flexibility and room for growth. The grunt work is done with plug-ins. You may use or modify the official Nagios plug-ins, try some of the many third-party plug-ins, or write your own. Plug-ins make Nagions future-proof; for example, as more devices become SNMP-aware, you may wish to add or write SNMP plug-ins.

One caveat about plug-ins: Nagios is Free Software, licensed under GPL2. Third-party plug-ins are released under all manner of licenses, so you'll want to be careful and not assume they are also GPL.

Nagios sees your network as hosts or services. Host checks are simple pings. Service checks encompass everything, including the usual services such as HTTP, DNS, SSH, as well as processes such as numbers of users, CPU load, disk space, and logfiles. Host checks are done only as required—Nagios knows that as long as its services are running, the host is fine, so host checks are run only when services fail.

We'll install Nagios from source code because the Nagios packages in most Linux distributions are several releases behind. If you prefer a package installation, such as Aptitude or Yum, the recipes will still work; files will be in different places, and you shouldn't have to hassle with creating the Nagios user and group, or tweaking file ownership and permissions.