3 von 3 Kunden fanden die folgende Rezension hilfreich
Stephen E. Fritz
- Veröffentlicht auf Amazon.com
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.
Learning Nagios 4 has an ambitious scope. Kocjan has the experience to deliver a thorough and well-organized book. The expertise is apparent from his recommendations for organized definitions and the logic flow of the presentation. The book is detailed enough for a new Nagios administrator to learn the application quickly. There is enough detail for seasoned administrators to learn about advanced features and how they are implemented. Even experts can benefit from a top to bottom review of the milestone Nagios 4 release.
3 von 3 Kunden fanden die folgende Rezension hilfreich
Richard J Breiten
- Veröffentlicht auf Amazon.com
Format: Kindle Edition
As a 12-year veteran of system administration and systems engineering, system and network monitoring has always been one of those areas that could be improved. While Nagios has led the way in many ways with system monitoring, the newest Nagios 4 version leapfrogs ahead of where they were.
This book by Wojciech Kocjan, a sys admin and programmer with 10 years experience, weighs in at 345 pages and is the second edition. I found the book well-written and contained good technical information, both for the novice and experienced user alike.
Chapters 1/2 - The book begins by introducing the reader to Nagios and provides excellent explanations on how and why Nagios works as it does. The overview, while brief, still does a great job at explaining the terminology and provides some familiarity to the way Nagios handles events and monitoring. The book also provides a ground-up approach to installing Nagios and steps the reader through the same steps which would be required for an administrator in the real-world. The author goes to great lengths to aid the reader in being able to set up their own Nagios environment using Ubuntu, from downloading the source to installation, all the way to installing assorted plugins and setting up Nagios as a service. Extensive explanations on setting up monitoring hosts and hostgroups are also detailed, with diagrams and sample code explaining the steps a user would take. A particularly helpful portion of Chapter 2 in particular surrounds discussing notifications and how they are triggered within the environment - a topic which I, personally, would have poured over reading when I first began tinkering with Nagios.
Chapter 3 - The book continues into discussing the setup and configuration of the web interface, as well as managing downtimes, services, and systems. Additionally, a brief exploration of third-party Nagios web interfaces is discussed towards the end of the chapter in the event the user prefers a different UI.
Chapter 4 - Following setup and configuration of Nagios as well as the web interface, the author then takes the reader through explaining plugins and how they report status. Various scenarios for monitoring different system types is explored, including database and email systems, storage space, resources such as system load, etc, which the reader could find particularly helpful. The chapter finishes up with an exploration of third-party plugins and how to create their commands for different checks.
Chapter 5 - One thing I appreciate the author delved into, however briefly, is advanced topics, including creating templates for hosts and custom variables. While this is still an introductory book, this topic can go a long way in helping a harried and frazzled system admin (because, honestly, who isn't these days?) in setting these up in their environment. In addition, some time is devoted to describing to the read what "flapping" is and its implications in the Nagios environment - a topic which, to date, I don't think has been explained quite as succinctly.
Chapter 6 - This is devoted to discussing notifications and events, which ends up taking Nagios to 10. Being able to monitor and quantify your systems and network is great, but what good is it if you can't include notifications like instant messaging when you're offsite? Discussion of setting up notifications and escalations lends the reader to understanding how to be able to up their game by allowing Nagios to provide the information to the reader and team. Spending more time up front on setting up proper alerting and reporting will go far in keeping the reader's team from being inundated by emails, as in the author's example.
Chapter 7 - Passive checks and utilization of NCSA (Nagios Service Check Acceptor) rounds out Chapter 7 with an explanation on understanding and setting up passive checks. Again, generic code, graphs, and examples are provided so the reader can follow along in their own Ubuntu VM (you are creating snapshots as you go along, right?). NCSA is a daemon specifically for sending check results back to Nagios securely. Speaking from experience, setting this up can be time-consuming and frustrating, but the author lends himself to explaining the intricacies well, hopefully keeping the reader from experiencing these pains.
Chapter 8 - This holds almost a treasure trove full of information on using SSH and NRPE (Nagios Remote Plugin Executor) for monitoring and securely sending check results back to Nagios Core. NRPE lends itself to the same powerful execution as SSH without the overhead of connections back to the host. Discussion and examples of setting up the SSH and NRPE connections is provided, allowing the reader to be able to follow along in setting up their own connections.
Chapter 9 - SNMP and monitoring are discussed in Chapter 9 with particular attention given to understanding Object Identifiers (OIDs) and how to leverage them in the environment. Delving into SNMP a bit with MIB and using various checks within Nagios to perform checks and alerts, as well as providing the reader a graphical way to understand and view SNMP data is provided. This can be particularly helpful for the admin not well-versed in using the command-line for parsing and understanding the readout from SNMP. Again, as in the rest of the text, graphs and illustrations are provided which explain and layout the information for the reader to hopefully set up their own SNMP agents and receive traps and data back into Nagios.
Chapter 10 - More advanced topics are briefly discussed in Chapter 10, including distributed monitoring and specifically monitoring Windows hosts with NSClient++. I have had the most experience thus far in monitoring Windows clients, so it was refreshing to see the author spend some time in discussing setup and configuration of NSClient++ for the reader. Distributed monitoring can become cumbersome in setting up, but the author does a decent job in discussing obsessive notifications with additional sample code and diagrams for the reader to get their feet wet on the topic. Pulling from a previous chapter, some additional time is spent on utilizing templates for distributed environments, something that is invaluable in the Nagios ecosystem.
Chapter 11/12 - The remainder of the book centers around discussing programming and customizing Nagios to the reader's heart's desire. Different Nagios file parsers are discussed, with links to the different language parsers, as well as an upper-level overview of utilizing libnagios for programming in C. A discussion on creating custom active checks with sample code, as well as discussion on writing the reader's own plugins the correct way is reviewed. A brief mention of monitoring VMware and AWS (Amazon Web Services) is provided, with some additional sample code to get the reader started. An introduction and explanation on the preferred way of using query handlers is discussed with attention to communicating with it programmatically.
In conclusion, this is well-written and constructed, and definitely worth a read for any sysadmin or sysengineer looking to get started with using Nagios and setting up an outstanding (free!) monitoring solution. The addition of plugins extends Nagios usability and allows a flexibility and strength that puts it over to the top. While I've had experience in using and administering systems with Nagios before, this is a fantastic introduction and even intemediary book with enough meat to keep the reader following along with examples and sample code to construct their own monitoring environment, whether at home or in a large-scale production network at the office. Well worth the read and outstanding effort from Wojciech Kocjan, definitely a job well done. For additional information on the book, visit <a href=http://www.packtpub.com/learning-nagios-4/book>PacktPub</a>.
Please note, I was provided a free copy of the book to review; however, this in no way detracts from the excellent job Wojciech has done in the formulation of this text nor the fantastic format and samples contained.
2 von 2 Kunden fanden die folgende Rezension hilfreich
- Veröffentlicht auf Amazon.com
As a longtime user of GroundWork, I've always had an abstraction layer between me and Nagios. I'd always thought that having a better understanding of the internals of GroundWork would make it easier for me to use, but I didn't take the opportunity to learn about Nagios until now.
The book, Learning Nagios 4, by Wojciech Kocjan, weighs in at 400 pages and is the second edition. I found the book to be very well written, and it contained a lot of good technical information that I thought was interesting and beneficial.
Chapter 1 introduces Nagios to the unfamiliar user, and Wojciech gives good examples that ensure system administrators that Nagios is suitable for them. can provide IT staff with a very good system to check infrastructure and software to ensure it's working correctly.
Chapter 2 runs through installing and configuring Nagios. I was very pleased to see a book providing instructions on installing software from source, as it's rather unusual in my experience to find books that don't just provide installation by package manager. Going through common Nagios configurations was also interesting, as I learnt a few quirks about templates and precedence.
Chapter 3 is all about the web interface that compliments Nagios. As a user of Nagios by proxy through GroundWork I was a little shocked at the Web GUI and how different it was to the interface I was used to, but it is nice to see Nagios 4 has implemented PHP support so there's a bigger avenue for theme customisation.
Chapter 4 talks about the basic plugins that are provided with Nagios. If you're a follower of my blog you would've seen my Nagios plugins for OS X Server, some of which were co-authored with/by my friend Jedda Wignall. I learnt quite a bit about the inbuilt plugins that come with Nagios, including the plugins that can schedule package manager checks - very cool!
Chapter 5 discusses advanced configuration details, mainly about templates and the nuances to inheritance, along with describing what flapping actually is. I thought the section on using multiple configurations (like OS type, location etc) to generate a configuration for a specific machine was quite interesting, and would allow the user to create advanced host settings with relative ease.
Chapter 6 was a chapter that I found very interesting as it focused on alerts and contacts. As a former member of a very small team we were inundated by emails every day and it became hard to keep track of what was coming in. The authors example of constant email flooding was exactly what happened to us. It's worth spending a bit more time setting up proper alerts to make sure the right information reaches the right people, rather than spamming everyone constantly.
Chapter 7 talks about passive checks, and how they compare to the normal active checks. NCSA, or the Nagios Service Check Acceptor is also discussed, which is a daemon on the client end that can send check results back to the monitoring service securely. I've not used either types of passive checks, so learning about them was quite interesting. I'm looking forward to putting them into good use some time.
Chapter 8 contains a ton of great information and detail about the remote server checks performed by SSH, and the Nagios Remote Plugin Executor (NRPE). The author provides good arguments for choosing either of the services, depending on your requirements. I hadn't actually heard of NRPE before, but it looks to be quite powerful without the overhead of SSH connections by the host.
Chapter 9 is all about SNMP and how it can interact with Nagios. In past experience I've only ever had bash scripts to process SNMP responses, but now I know how to implement it properly into Nagios without having a conduit processing script. I also never really knew much about SNMP, so it was good to learn about what SNMP actually is, not just how to interact with it, which can be an issue in some technical books where interacting is explained, but the source/destination isn't.
Chapter 10 starts off by covering getting Nagios working with Windows clients, which to me isn't very applicable as I'm purely a Linux/Unix/OS X man myself so my eyes glazed over as I pushed through that section. Having said that, it's good to know Nagios monitoring is fully supported in Windows with the appropriate software installed. Another concept that is looked at in Chapter 10 is the setup and configuration of a multi-server master/slave setup with multiple Nagios servers. Now, unfortunately (or fortunately, depending on which way you look at it) I've not been in a position where I've needed to have multiple Nagios servers performing checks, but it's useful to know that it's possible, and to have some instructions on getting it set up.
Chapter 11 is probably my favourite chapter of the book because it's all about programming Nagios plugins. The book has a multitude of examples written in different languages. I've always done my scripts in Bash, but had never even thought of writing plugins in PHP, which is my strongest language. Having seen code for a few languages (like Tcl) that I've heard of but not used, this book has encouraged me to try other languages for Nagios plugins, and not limit myself to Bash.
Chapter 12, the final chapter, talks about the query handler which is used for two-way communications with Nagios. There's also a section on Nagios Event Radio Dispatcher (or NERD) which can be used for a real-time notification system for alerts.
Overall, I would highly recommend this book to any sysadmins looking to implement an excellent monitoring solution that is easy to set up, yet powerful enough through its extensive plugin collection and flexibility. After reading this book I've come away with a stronger knowledge of Nagios that will benefit my work in the future.
Note: I was provided with a free eBook to review this book, however, this review is 100% genuine and contains my true thoughts about the book.