Learning Nagios 3.0 - Book Review


Title: Learning Nagios 3.0
Publisher: Packt Publishing
Author: Wojciech Kocjan
ISBN-10: 1847195180
ISBN-13: 978-1847195180

Nagios is a powerful and popular network monitoring software. I contacted PackT and asked for a review copy of the book.

Read the full table of contents on the publisher's site.

The topic being system administration, I could read the book from cover to cover in three days.

Like many other technical books, introductory pages of Learning Nagios 3.0 sells you Nagios. The first chapter convinces you why you should use Nagios to make your life easier by setting up automated monitoring of your servers.

The second chapter is dedicated to installation of Nagios and basic setup. The book suggests you to compile Nagios. The Nagios quick start guide also suggests compiling Nagios. I'd recommend to you install Nagios packages provided by your Linux distribution unless you have a compelling reason to compile and maintain it yourself. What's the point of packaging anyway? After providing instructions to go through the usual steps of make, make all and make install, the author congratulate you for successfully installing Nagios. When I followed the steps provided in the book, it wasn't the case. I could not successfully install Nagios. Thus I wrote the tutorial on how to install Nagios and configure a basic working setup. This chapter could have provided the valuable information of debugging nagios configuration by running nagios -v <path to confilg file>.

I tried to follow the instructions provided in the book to install and configure Nagios. I was confused where to put up the files. The exact location of the configuration files were not mentioned. That is something I had to do on my own.

The book makes a serious error in formatting the configuration objects. Throughout the book, you will find Nagios configuration objects like:

define host
{
  host_name  somemachine
  address 10.0.0.1
  check_command check-host-alive
}

If you copy and paste the configuration, it will not work. Nagios uses BSD style indentation. However, the example files provided by the author are correct. Here's the correct snippet:

define host {
  host_name  somemachine
  address 10.0.0.1
  check_command check-host-alive
}

The opening brace starts on first line of configuration object.

Chapter 3 describes the Nagios web interface. I will dare to say that the Nagios web interface isn't very intuitive. The book does a good job of explaining what tools are available in the web interface and how you can use it. Like many other chapters, this is also short and to the point. I like when authors avoid bloat.

Chapter 4 provides overview of Nagios plugins. This is where things get interesting for a first time Nagios user. Using the instructions provided in this chapter, I could configure monitoring of email, web servers, host availability, FTP, MySQL and other services. I was impressed when the system was working well and it notified me via email whenever there were problems.

Chapter 5 walks you through the nitty gritties of the Nagios configuration files. The author gives you advice on how to create manageable configuration directory structure. The book also explains how to take advantage of configuration templates.

Chapter 6 is dedicated to notifications and events. It goes into the details of configuring notification escalations, running external commands, event handlers and adaptive monitoring. Knowing how Nagios events work is essential. So, you don't want to skip this chapter. The next chapter deals with two other features of Nagios - passive checks and NSCA.

Chaoter 8 explains what options are available to monitor hosts remotely. It discusses remote monitoring over SSH and NRPE. The next chapter is dedicated to SNMP. If you want to monitor many hosts, you will invariably require a mechanism to run checks on those machines remotely. These chapters discuss the various options available for remote monitoring.

Chapter 10 talks about monitoring Windows Hosts, NSClient++, examples of passive checks using NCSA.

The last chapter deals with extending Nagios. The author provides sample code with explanation of writing plugins in various languages - Python, Tcl, Perl and PHP. Nagios plugin system is programming language agnostic. The book makes this point clear with ample examples.

Do I Need This Book?

While learning new open source software, I often ask myself, do I require a book dedicated to the topic. In many cases, online documentation isn't enough. Nagios has many websites and it can be quite confusing. I'd recommend you to buy a Nagios book and use it along with the online official documentation.

Review Conclusion

The good parts

  • Coverage of Nagios topics
  • Brief and to the point chapters
  • Plugin examples in many different programming languages

Scope for improvement

  • Grammatical errors. PackT has become notorious for poor proof reading and editing. This book has many grammatical errors. To quote an example, on page 286 of the book, I found this statement - "The of the email will be kept in separate files". I hope PackT pays more attention to this in the future. I heard that PackT is looking for native English speakers to proof read its books. I hope it works out for PackT.
  • Lack of accurate instructions in some examples. While defining the contact object, I found that the service notification command 'notify-by-email' specified for contact 'nagiosadmin' was not defined anywhere.
  • There are some technical points mentioned in the book to which I strongly disagree. With regards to CGI interface offered by Nagios, the author states - "The web interface uses CGI mechanisms to work, as this is the most-commonly offered way to run applications". Is CGI the most commonly offered way to run applications? I thought this is the year 2010. Examples of SMTP, POP, IMAP monitoring would have been better. For these examples, the book only provides command argument details like a reference manual.

Overall rating: 3 out of 5.

Buy Learning Nagios 3.0 On Amazon

Taxonomy upgrade extras: 

Add new comment

Filtered HTML

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
By submitting this form, you accept the Mollom privacy policy.