Being an avid Nagios user, and using it to monitor a number of machines both on my local network and remote ones that I am responsible for, I was pleased to get my hands on the book Learning NAGIOS 3.0 by Wojciech Kocjan (ISBN 978-1-84719-518-0, published by Packt Publishing). This book is all about Nagios: how to set it up, configure it, and use it.

The book is not overly large, weighing in at just under 300 pages and the font size is quite large, making it easy reading. While it might not be a book you read cover-to-cover, it makes a great reference book if you’re either starting with Nagios or want to learn more about how to get the most out of it.

Nagios has been the subject of a few prior tips, so to quickly recap, it is a monitoring service that is built on an extensible plugin architecture. With it, you have the central Nagios server, which executes various checks to determine whether defined services are in an OK state, a warning state (overloaded systems, slow services), or a critical state (services unavailable, too many resources used). It includes a Web console that can be used to view statistics and real-time monitoring output with the option of executing additional plugins (like sending an e-mail) on predefined criteria, such as a server being unavailable.

As a result, Nagios is quite highly recommended when monitoring multiple servers or services, but the learning curve can be quite steep. It is not the easiest piece of software to configure. This book takes a lot of the sting out of the process with easy-to-understand discourse on various configuration options and scenarios. It also includes many examples that make real-world configuration a snap.

The book carries you from the initial installation and configuration in the first two chapters, to a detailed discourse on using the Web interface and all the features available through it, such as scheduling downtime for hosts, obtaining information on services and hosts and, more importantly, how to use that data.

The next chapter goes into detail on the various Nagios plugins and how they are used. The three chapters after that go into more advanced configuration options such as how to properly structure configuration files to make them easy to manipulate and understand, as well as defining custom templates and variables. It discusses how to handle notifications and events and how to define handlers that deal with such events. Next it goes into how to set up passive checks and use NCSA, the Nagios Service Check Acceptor which can be used to send the results of local checks to a centralized Nagios server. This leads into the next chapter which discusses how to monitor remote hosts which may call for using passive checks. It also illustrates various scenarios using different technologies.

The ninth chapter discusses using Nagios to monitor devices using SNMP, and the chapter after that discusses more advanced monitoring scenarios. The final chapter discusses how to write your own plugins and further extend Nagios functionality.

All told, this book makes for great reference material with a few caveats. The technical information in the book is sound, and is quite useful for anyone interested in Nagios — from beginners to experienced Nagios users. The editing of the book, however, left a little to be desired and often drew a wry chuckle or a shaking head. Typos and poor grammar are present more than they should be; the back of the book alone contains three grammatical or typographical errors and may be enough to turn prospective readers off. If you are able to get past the grammatical and typographical errors, the spelling mistakes, and the odd misprint (i.e, referring to IMAP4 as POP4), the book can be a very useful resource.

Delivered each Tuesday, TechRepublic’s free Linux and Open Source newsletter provides tips, articles, and other resources to help you hone your Linux skills. Automatically sign up today!