What this book covers
Chapter 1, Introducing Nagios, talks about Nagios and system monitoring in general. It shows the benefits of using system-monitoring software and the advantages of Nagios in particular. It also introduces the basic concepts of Nagios.
Chapter 2, Installing Nagios 4, covers the installation of Nagios, from source code and using system packages such as rpm and deb. Installation from source code uses a fully automated script to set up Nagios that works on most Linux distributions; the process is explained in detail.
Chapter 3, Configuring Nagios, describes the process of configuring Nagios. Details on how to configure users, hosts, and services as well as information on how Nagios sends notifications to users are given in this chapter.
Chapter 4, Using the Built-in Web Interface, talks about how to use the Nagios web interface. It describes the basic views for hosts and services and provides detailed information about each item. It also introduces some features such as adding comments, scheduled downtimes, viewing detailed information, and generating reports.
Chapter 5, Using Additional Interfaces, mentions additional web interfaces that can be used to check the status of Nagios. The chapter mentions dashboards showing status, complete replacements for Nagios UI, as well as mobile applications that allow checking host and service status.
Chapter 6, Using the Nagios Plugins, goes through the standard set of Nagios plugins that allow you to perform checks of various services. It shows how you can check for standard services such as e-mail, Web, file, and database servers. It also describes how to monitor resources such as CPU usage, storage, and memory usage.
Chapter 7, Advanced Configuration, focuses on the efficient management of large configurations and the use of templates. It shows how dependencies between hosts and services can be defined and discusses custom variables and adaptive monitoring. It also introduces the concept of flapping and how it detects services that start and stop frequently.
Chapter 8, Notifications and Events, describes the notification system in more detail. It focuses on effective ways of communicating problems to users and how to set up problem escalations. It also describes how events work in Nagios and how they can be used to perform the automatic recovery of services.
Chapter 9, Passive Checks and NRDP, focuses on cases where external processes send results to Nagios. It introduces the concept of the passive check, which is not scheduled and run by Nagios, and gives practical examples of when and how it can be used. It also shows how to use the Nagios Remote Data Processor (NRDP) protocol to send notifications.
Chapter 10, Monitoring Remote Hosts, covers how Nagios checks can be run on remote machines. It walks through the details of deploying checks remotely over SSH using public key authentication. It also shows how Nagios Remote Plugin Executor (NRPE) can be used for deploying plugins remotely.
Chapter 11, Monitoring Using SNMP, describes how the Simple Network Management Protocol (SNMP) can be used from Nagios. It provides an overview of SNMP and its versions. It explains reading SNMP values from SNMP-aware devices and covers how that can then be used to perform checks from Nagios.
Chapter 12, Advanced Monitoring, focuses on how Nagios can be set up on multiple hosts and how that information could be gathered on a central server. It also covers how to monitor computers that run Windows.
Chapter 13, Programming Nagios, shows how to extend Nagios. It explains how to write custom check commands, how to create custom ways of notifying users, and how passive checks and NRDP can be used to integrate your solutions with Nagios. The chapter uses on JavaScript the programming language, but because of how Nagios works, the example can be implemented in any programming language.