Summary
Learning Nagios 4 by Wojciech Kocjan documents the new Nagios 4 project, released in September, 2013. It is a practical guide written by an experienced Nagios administrator in a format more practical than the technical documentation provided by the project maintainers. It is useful not only for those new to Nagios, but as a comprehensive continuing education review of the Nagios 4 milestone release. Its structure begins with the basics and proceeds through the most important advanced and add-on features that make Nagios such a powerful systems monitoring tool.
Review
Learning Nagios 4 by Wojciech Kocjan is an ambitious project. Its preface sets out its goal: to be a practical guide for setting up Nagios 4. It begins with installation, describes the tools available and their configuration and concludes with more advanced topics such as programming service checks and using query handlers. In between, it systematically covers the most important tools available to the sysadmin and how to use them. If that scope sounds ambitious, its 400 page length presages the thoroughness of its content.
Although there is
abundant documentation available from the project maintainers, that
documentation is thorough, almost too much so. Equal weight is given
to the less-commonly used options in that documentation, and reading
it can become a burden. Kocjan's book, by selecting the most
important topics, is better focused for practical implementations.
The book thus achieves a practicality that only an experienced
professional can attain.
Nagios 4 -- a
September 2013 milestone release -- is a good point for experienced
administrators to review the application from the basics up.
Periodic continuing education is important and milestone releases are
an appropriate time to thoroughly review skills from the foundation
up. Yet the book is also written at a level appropriate to new
Nagios administrators. While a thorough knowledge of basic Linux
skills is necessary, even those unfamiliar with Nagios will be able
to build a monitoring system. While stating it is focused on Ubuntu,
there is adequate discussion of installations from source and
RPM-based distributions for administrators of other Linux
distributions to understand Nagios. However, there are likely
details specific to those other distributions that are not covered
and will require additional research on the administrators part.
Installation and Configuration
The book begins with
basic installation and configuration tasks. The author's experience
is evident. While some of the material looks like it is drawn
directly from the maintainer's documentation, the format is much more
practical. As opposed to the topic-based organization of the
maintainer's technical documentation, the author's format is
organized in an order that reflects a real-world implementation. For
instance, the author includes a concise discussion of topology
definitions with host definitions -- the point at which an
administrator would define topology. Descriptions of the web
interface and basic plugins follows. These are illustrated with
practical examples.
The author proceeds
with advanced topics, such as organizing definitions in a
maintainable manner with suggested sets of definitions and version
control. Indeed, troubleshooting a Nagios installation that is not
well organized will invariably add a great deal of time simply
searching for errors in a poorly organized system. That organization
is the foundation upon which more advanced definitions such as
dependencies and templates are built.
Having established a
well-defined framework, the author then addresses the whole point of
a monitoring system: events, notifications and escalations and event
handlers. These are also illustrated with practical examples. Event
handlers are often afforded only light coverage in Nagios manuals;
that is not the case here. Event handlers a a Nagios strength that
automate responses to events; the code required to restart a web
server serves as an example. Adaptive monitoring is also often
overlooked altogether, but is adequately described here.
Advanced Nagios 4 Configuration and Features
Establishing this
solid foundation is only half the book. The second half explores
much more advanced topics such as workload distribution, scalability
and extending Nagios to monitor additional platforms.
The Nagios Service
Check Acceptor (NSCA) is more difficult to understand and implement,
but the author does a good job explaining and providing an example.
So, too, is the description and illustration of load distribution
using ssh and the Nagios Remote Plugin Executor (NRPE), preferable to
ssh because it reduces Nagios server overhead. SNMP is a protocol
that, well-implemented, affords a great deal of availability and
performance data. However, it can be a bit difficult to learn and
understand. Here, the author's experience is evident as the text
provides a very practical, understandable and thorough description of
the protocol and its application.
Finally, the last
quarter of the book addresses the most advanced topics, such as
Windows, distributed monitoring, programming and query handlers.
Windows is
ubiquitous in the enterprise, but requires expertise to monitor using
Nagios. NSClient++ is the agent used and it provides NSCA, NRPE and
other functionality. It also acts as an "interpretor" for
Nagios to record Windows-specific data. Yet here, the author does
not explore deploying and maintaining NSClient++ using Active
Directory Group Policy Objects. Rather, the example provided is
limited to manual installation and configuration -- an onerous and
possibly impractical task for a Windows enterprise. However, the
descriptions and examples provided are otherwise thorough and
practical.
Distributed
monitoring is discussed only at a high level and examples are rather
basic. However, implementing a distributed Nagios implementation is
a complex task worthy of a book itself. This book lays out the
reasons and higher-level architecture of distributed Nagios well
enough for an administrator to recognize when it is required and with
the necessary architectural understanding to research and design it.
Programming, too, is
covered at a high level. Several languages may be used and the
author uses C for examples. Examples include web services, VMWare
and Amazon Web Services -- topics of current and practical interest.
The book ends with a
discussion of Query Handlers -- a feature new to Nagios 4. Think of
it as a Unix domain sockets communications implementation for Nagios.
Query Handlers, using tools such as the Nagios Event Radio
Dispatcher (NERD) and Google's open source Gource provide a framework
to receive real-time updates from Nagios.
No comments :
Post a Comment