Nagios System and Network Monitoring 116
David Martinjak writes "Nagios is an open source application for monitoring hosts, services, and conditions over a network. Availability of daemons and services can be tested, and specific statistics can be checked by Nagios to provide system and network administrators with vital information to help sustain uptime and prevent outages. Nagios: System and Network Monitoring is for everyone who has a network to run." Read on for the rest of the review.
Nagios: System and Network Monitoring | |
author | Wolfgang Barth |
pages | 464 |
publisher | No Starch Press |
rating | 9 |
reviewer | David Martinjak |
ISBN | 1593270704 |
summary | Covers installing, configuring, and deploying Nagios to monitor systems and services on a network. |
The book is authored by Wolfgang Barth and published by No Starch Press. The publisher hosts a Web page which contains an online copy of the table of contents, portions of reviews, links to purchase the electronic and print versions of the book, and a sample chapter ("Chapter 7: Testing Local Resources") in PDF format.
An amusing note to begin: this is one of the only books I have read where the introduction was actually worth reading closely. Many books seem to talk about background or history of the subject without providing much pertinent information, if any at all. In Nagios: System and Network Monitoring, Wolfgang Barth begins with a hypothetical anecdote to illustrate the usefulness of Nagios. The most important section in the introduction, however, is the explanation of states in Nagios. While monitoring a resource, Nagios will return of one of four states. OK indicates nominal status, WARNING shows a potentially problematic circumstance, CRITICAL signifies an emergency situation, and UNKNOWN usually means there is an operating error with Nagios or the corresponding plugin. The definitions for each of these states are determined by the person or team who administers Nagios so that relevant thresholds can be set for the WARNING and CRITICAL status levels.
The first chapter walks the reader through installing Nagios to the filesystem. All steps are shown, which proves to be very helpful if you are unfamiliar with unpacking archives or compiling from source. Users who are either new to Linux, or cannot install Nagios through a package manager, will appreciate the verbosity offered here. Fortunately, the level of detail is consistent through the book.
Chapter 2 explains the configuration structure of Nagios to the reader. This chapter may contain the most important material in the book as understanding the layout of Nagios is essential to a successful deployment in any environment. The book moves right into enumerating the uses and purposes of the config files, objects, groupings, and templates. All of this information is valuable and presented in a descriptive manner to help the reader set up a properly configured installation of Nagios. My biggest stumbling block in using Nagios was wrapping my brain around the relationships of the config files and objects. This chapter clears up all of the ambiguities I remember having to work out for myself. If only this book had been around a few years ago!
The sixth chapter dives into the details of plugins that are available for monitoring network services. This chapter explains using the check_icmp plugin to ping both a host and a specific service for verifying reachability. Additional examples include monitoring mail servers, LDAP, web servers, and DNS among others. There is even a section for testing TCP and UDP ports.
Next, the book covers checking the status of local resources on systems. At work, we have a system in production that could have been partitioned better. Unfortunately, /var is a bit smaller than it should be, and tends to fill up relatively frequently. Thankfully, Nagios can trigger a warning when there is a low amount of free space left on the partition. From there, we have Nagios execute a script that cleans out certain items in /var so we don't have to bother with it. We can also receive notification if the situation does not improve, and requires further attention. In addition to monitoring hard drive usage, the book includes examples for checking swap utilization, system load, number of logged-in users, and even Nagios itself.
Chapter 12 discusses the notification system in Nagios. You provide who, what, when, where, and how in the configs, and Nagios does the rest. The book does a fantastic job of explaining what exactly triggers a notification, and how to efficiently configure Nagios to ensure the proper parties are being informed of relevant issues at reasonable intervals. For example, the server team might be interested to know that /var is 90% full on one of the LDAP servers; however they don't need to be notified of this every thirty seconds. This chapter also covers an important aspect of Nagios known as flapping. Flapping occurs when a monitored resource quickly alternates between states. Nagios can be configured for a certain tolerance against rapid alternating changes in states. This means Nagios won't sound the alarm if the problem will resolve itself in a short period of time. Usually flapping is caused by an external factor temporarily influencing the results of the test from Nagios; and therefore has no long-term impact.
The last major chapter to mention here deals with essentially anything and everything about the Nagios Web interface. The main point of interaction between the administrator and Nagios is the fully featured Web interface. This chapter covers recognizing and working on problems, planning downtimes, making configuration changes, and more. I especially like that the book gives an overview of each of the individual CGI programs that the Web interface is composed of; as these files are important for UI customization.
The only aspect of this book that I did not care for was that the book reads like a reference manual at times. The first several chapters start out more conversational in tone with great explanations of the procedures and files; but later it sometimes feels like I am repeatedly reading an iterated piece-by-piece structure, filled in with the content for that chapter. That is not necessarily bad all together as it does provide consistency in the presentation of the information. Additionally, the level of detail is outstanding throughout the book. The explanations are never too short or too long. This is definitely a valuable book for administrators at all levels with fantastic breadth and depth of material. Administrators who are interested in proactive management of their systems and networks should be pleased with Nagios: System and Network Monitoring.
Nagios is licensed under the GNU General Public License Version 2, and can be downloaded from http://nagios.org.
David Martinjak is a programmer, GNU/Linux addict, and the director of 2600 in Cincinnati, Ohio. He can be reached at david.martinjak@gmail.com.
You can purchase Nagios: System and Network Monitoring from amazon.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
Missing Module (Score:2, Funny)
Re: (Score:2)
Re: (Score:2)
Er, you really don't know anything about Nagios do you?
Try doing a little Googling on Nagios and then see if you can make the FUD a little more subtle next time.
Re: (Score:2)
Well, yes, actually, I do believe that. Or if you did evaluate it you didn't get far enough to even understand how it works.
Do you really really think that major financial corporations would spend money on software and services that they could get for free?
Absolutely! I've been in this industry for twenty years and have consulted with many hundreds or organizations. That's hardly the stupidest move I've ever seen the IT dep
Re: (Score:2)
Re: (Score:1)
I've worked in large organisations that have ditched both BMC Patrol and HP OpenView in favour of Nagios, monitoring tens of thousands of services (many of them business critical) on thousands of servers, over geographically dispersed WANs. It was extremely reliable, easier and faster to set up, more flexible, much easier to implement custom service check plugins, required fewer hardware resources to run, and gave a massive dollar saving as well
Re: (Score:2)
I once worked for someone who insisted that you get what you pay for. Stable solutions must be paid for. Anything else wouldn't work.
Our expensive monitoring system was nice and all, but I wrote my own just for fun on my own personal time. I wrote it to do exactly what we needed, and not too much else.
We needed specific services monitored. They must be monitored once per minute. We needed audible notification immediately upon a problem (festival to do tts).
Old NetSaint and Nagios geek comments (Score:5, Informative)
I'm an *OLD* Netsaint and Nagios user, and have contributed to both. Guides are great, playing with it is great, and it does a lot of things very well. But what Nagios has never had is a way to publish the URL's of specific queries or reports in a way that can be bookmarked and sent to someone else for reference. It's a big, big, big flaw in the system, common to a lot of web-based projects.
The other huge, huge flaw of Nagios is configuring it. It shouldn't take a reference book from O'Reilly to do this efficiently, but I'm afraid it does. There are easily a dozen different configuration tools at www.nagiosexchange.org and sourceforge.net, and *every single one of them* has major problems that could be solvd with 10% of the time spent on Nagios itself. Most are abandonware, exciting but uncompleted projects that are never going to be completed. Others rely on hand-compiling Nagios itself with strange local modifications and local configurations that are very difficult to import a working Nagios to, or export from. Others have absolutely *no* security model, incapable of securing access to them or relying on locally stored plain-text password setups: others rely on non-privileged accounts to edit the Nagios configurations, including the password files for databases or proxy services, in semi-public repositories. Others rely on installing every file in a browseable web directory, permitting local unauthorized to poke the guts of and use the security flaws. (Yes, you perl idiots who execute random file and directory creation without checking if it's empty first or protecting it from being written into by other people before you copy its contents, I mean you!)
Other configuration tools have beautiful "artist conception" interfaces that will make your eyes bleed aft 20 minutesworking with it. Every last one of them listed at Sourceforge and NagiosExchange suffer from one or many more of the major open source GUI flaws Eric Raymond ranted about in hisi CUPS horror story, years ago.
It's unfortunately so bad that I've had to throw away weeks of work and switch to Altiris on a major project, which is fairly painful to switch to but at *LEAST* has a usable interface.
Re: (Score:1)
The configuration of nagios is confusing even for a seasoned user, the security models are non-existant and adding even simple graphing and historical data to nagios requires another entire level of ridiculous configurations.
Nagios was a fantastic tool, in 2001. However, it is basicly the exact same tool today that it was in 2001 and there are far better tools available now that do the
Re: (Score:1)
Re:Old NetSaint and Nagios geek comments (Score:4, Interesting)
Big Brother/Sister don't really scale.
Nagios is horrible to administer.
Jffnms is nice, the most feature complete, but not robust enough.
OpenNMS looks interesting but I've never had the time to set it up.
Cacti/MRTG are trending systems.
Zabbix or OpenNMS.
Re: (Score:3, Informative)
I agree that the configuration is pretty bad, and your other points on the interface. Dependencies are a nightmare to configure.
That said, it does work, and requires very little maintenance once it's setup. It helps to use one file per server too, since you can include entire directories that contain configuration files. What I did w
Re: (Score:3, Interesting)
Re: (Score:2, Insightful)
We like fanboys (Score:1)
And yeah, our users are responding. Thanks for noticing.
-John Mark
Re: (Score:1)
Re: (Score:2)
Re: (Score:1)
Re: (Score:2)
altiris, just bought by Symantec.. expect the best, prepare for the worse.
Re: (Score:2)
I use Nagios myself as I was looking for a quick and dirty replacement for Big Brother.
While it's a fantastic tool, my biggest beef with it by a LONG way is that configuring a new server to monitor is always a case of "hand-edit this config file and that, figure out what's important to monitor and what isn't, realise 3 months later that you missed out something you really should be monitoring...." aarrgh. Templates help hugely but they're only part of the solution.
If you're going to make monitori
Re: (Score:2)
What is the deal with people being afraid of config files?
figure out what's important to monitor and what isn't
What? You're complaining because Nagios makes you figure out what is important to monitor?
realise 3 months later that you missed out something you really should be monitoring
So...your lack of planning is somehow nagi
Re: (Score:2)
You'd better tell the developers who are sat next to me that one. They think they're using a toolkit which practically gives them a web-based interface for free when they develop
Re: (Score:2)
You'd better tell the developers who are sat next to me that one. They think they're using a toolkit which practically gives them a web-based interface for free when they develop the command-line interface.
Er - that has absolutely nothing to do with what I just said. Command line interface != Config File.
You know, rather than just tell me that I'm asking for the moon, you could try ZenOSS. You get a heck of a lot of flexibility and power with substantially less complexity.
I've looked at ZenOSS. I'm sure that with your (apparently) limited experience and use of network monitoring that it seems like a lot of flexibility and power. That's not meant to be insulting, just an observation.
There seems to be a certain idea in the Linux community that just because "it's a community-developed Unix" it has to be bloody awkward to get basic things to work.
Well, again, I deny that it's "bloody awkward" to get basic things to work in Nagios. I can have nagios up and running for basic needs in minutes.
I think the real problem here is this attit
Re: (Score:1)
Re: (Score:2)
Re: (Score:2, Informative)
Re: (Score:2)
It's built on Nagios and several other projects. So basically Nagios with a really nice gui front-end to get things setup. I've been messing around with the free version to evaluate it as a replacement to big brother.
It took me a little while to get all the connections straight in my head but would probably be more intuitive to someone with more experience in the area.
Availability /and/ performance monitoring (Score:1)
My main problem with the current crop of monitoring tools is that they are all either about availablility (Nagios, et al) or performance (MRTG, Cacti). Currently I'm using Nagios+Cacti, which kinda-sorta works for me, but it would be nice to have a single coherent interface to my systems. Zenoss [zenoss.com] also looks interesting, although I haven't tried it yet, but I'd like to hear of any other poss
Re: (Score:2, Interesting)
Re: (Score:1)
Re: (Score:1)
I'm an *OLD* Netsaint and Nagios user, and have contributed to both. Guides are great, playing with it is great, and it does a lot of things very well. But what Nagios has never had is a way to publish the URL's of specific queries or reports in a way that can be bookmarked and sent to someone else for reference. It's a big, big, big flaw in the system, common to a lot of web-based projects.
I'm also an "OLD" Nagios user, as well as the author of the Addison Wesely Nagios book, so I might be biased, but I think you're kind of missing the point. Nagios is just a task efficient scheduling and notification engine. It's job is to schedule the execution of monitoring plugins, interpret their output, and take user-defined actions based on that output. It's flexability derives from this core minimilist approach. The plugins, and web front end are separate entities, and shouldn't really be consid
Re: (Score:1)
Others (Score:4, Informative)
jffnms
opennms
etc.
I found nagios rather clunky compared to some of the others.
Re: (Score:1)
Re: (Score:3, Interesting)
GPL, 30-minute or less setup time, auto discovery and built in support for monitoring, controlling, and log tracking for anything you can think of. 9 OS's, 42 apps, network devices, extensible plugins....
Nagios is great, but I agree with the parent that the time it takes to set up and maintain is unreasonable. Oh, and yes, I'm biased. I work for Hyperic.
-javier
Re: (Score:3, Interesting)
Re: (Score:1)
For a smaller operation or smaller feature set needs I really like Cacti.
Re: (Score:2)
There are plenty more monitoring tools. Bigbrother and Bigsister come to mind, although Bigbrother was ruined when it went commercial. And despite the claims of the anonymous coward above, there are some workable GUI's, although I admit that they do need work to make commercial or production grade.
A good Nagios book would certainly be welcome on my bookshelf: it
Re: (Score:1)
Re: (Score:2)
Re: (Score:2)
There were a few things missing from the manual installation docs. Here are the steps I used to get it up and running:
Re: (Score:2)
If you control all the servers you might be able to get away with that. Try working in a company where there are so many servers responsibilities are distributed between groups, then convince them they need to install python/pywin32 so you can monitor their systems. Good luck with that.
Re: (Score:2)
Fortunately, I am now in a smaller environment (~ 400 servers) where I can do just that if I need to. I do understand what you mean, though; where I last worked (> 5000 servers, several admin groups), I never would have be
Re: (Score:1)
I understand, and that's how I read you. However, for the benefit of the larger discussion going on it was a good opportunity to point out the political reality many (most?) admins have to deal with that so often gets neglected in the slick presentations by these companies.
Re: (Score:2)
* I see no PGP or GPG signatures on the Zenoss RPM's. This is always bad, especially for software doing core infrasture tasks like system monitoring.
* Install an RPM for MySQL that conflicts with the built-in version of every deployed OS known to Linuxkind. That's understandable, but it means you've left out a critical step: start with a clean box with no MySQL installed on it, because they can't be parallel installed and it *will* modi
Re: (Score:2)
D'oh! I did forget to put that step in. I did have to start with a clean box w
Re: (Score:1)
Re: (Score:1)
It monitors everything I want in Linux and Windows systems and can support SNMP
Re: (Score:1)
The Nagios codebase is considerably older. It was written before mod_perl and PHP were in broad use, when binaries in a webpage meant using cgi-bin.
And you think cgi-bin binaries are a thing of the past? I can assure you they are not. And new != better. The code in nagios is very good, and there's no reason to abandon it for a rewrite in PHP just because it's the latest fad. Nothing against PHP, but there's no compelling argument for moving to that just because. (Not that you were necessarily advocating that, but it is a common argument)
Re: (Score:2)
Hyperic (Score:1)
Re: (Score:1)
Re: (Score:2)
Not, I'm sure, that you're intentionally trying to be misleading, but from the linked article, and emphasis mine:
In other words, tool, job, GIGO.
Re: (Score:2)
This article is a prime example of the absurd war against Nagios currently bei
Re: (Score:2, Interesting)
Powerful, but can be a pain to configure (Score:1)
For example, it's so nice to have the spooler service on a win32 box restart automatically if it has locked or died unexpectedly, and not have to wait for the calls to come in when users can't print.
Re: (Score:1)
Re: (Score:1)
Would you prefer a different example? Nagios can check a URL, looking for a particular string (like something from the main page of a we
Re: (Score:2)
Re: (Score:1)
So, monitor via:
- outside server - out of the network - (can ping the outside ip)
- probe - inside of the network ( can monitor any device via snmp, wmi, scripts )
- agent - inside of the network ( can monitor the device it is installed on )
Re: (Score:1)
There is a better way... (Score:2, Interesting)
Re: (Score:1)
Re: (Score:1)
You know...don't you?
(Nagios does a great job for me doing the stuff the parent poster talks about; he's as transparently shallow as you suggest.)
Re: (Score:1)
Re: (Score:2)
Nagios functionality can be easily extended with a custom check script that would interact with all or some of an applications web app functions of that host.
It would be a matter of parsing the return material and simply passing a check var.
Yeah, not an extremely involved, but I merely posed it as a 'well, yeah, it kinda can idea.' Some of the other features I noticed (ie, monitoring, get/post, bytes) could be implemented as well with some minor reporting.
With that said, all of th
Re: (Score:2)
Re: (Score:2)
Anyway, you said... At the risk of getting off-topic, I'm tired of stuff that doesn't quite work. (can't comment on the actual book because I haven't read it) However, I can't see how Nagios can even begin to satisfy the needs of most modern IT operations folks.
Well, maybe you need to spend some time as an actual modern IT Operations "folk".
Nobody said Nagios wasn't flexible (Score:1)
And as far as "hatred of nagios" I've witnessed that firsthand when I've run BoF's on Nagios, and I've run a few - at LISA and LinuxWorld.
But I love your snarky comments. They r0x0r
Oh, and I almost hate to ask, but can you install RPM's on Windows? (har har)
-John Mark
Re: (Score:2)
of course Nagios is flexible. It's the time to setup and maintenance that costs you.
Ah yes. The old "if it's complex, then it's a waste of time." canard. Interesting, the last company I heard push that line hard was Microsoft against Linux. SFDD, Same FUD, different day.
And as far as "hatred of nagios" I've witnessed that firsthand when I've run BoF's on Nagios, and I've run a few - at LISA and LinuxWorld.
Yup. I've witnessed it too. Much the same as I see it here. Doesn't make it rational. Like I said, there's a general trend that says if I can't push a button and have it be done it's too hard. Again, I reject that as absurd and flawed on its face.
When I go looking for a *nix systems admin these days, I go throug
Re: (Score:2)
So look at http://slashdot.org/comments.pl?sid=230333&cid=187 07053 [slashdot.org] and http://sl [slashdot.org]
Re: (Score:2)
Seriously, if you think that you have no clue what Nagios does/can do. The monitoring in Nagios is 100% based around probes that are not built into Nagios, though a typical Nagios install comes with a huge number of standard probes. The only hard req
Re: (Score:2)
Groundwork OpenSource (Score:1)
http://www.groundworkopensource.com/products/os-ov erview.html [groundworkopensource.com]
There's a VMware appliance available if you want to take it for a quick spin around the block.
http://sourceforge.net/project/showfiles.php?group _id=160654&package_id=222764 [sourceforge.net]
Re: (Score:1)
You can get it here: http://sourceforge.net/project/platformdownload.ph p?group_id=160654&sel_platform=1491 [sourceforge.net]
There are also some great WMI plugins for monitoring windows events:
http://sourceforge.net/project/platformdownload.ph p?group_id=160654&sel_platform=1493 [sourceforge.net]
From 0 to Monitoring and Alerting in 30 minutes (Score:2, Informative)
I'm surprised people still use these 'svn co && ./configure && make install && edit config files' systems. You can download Hyperic HQ, install it, and be monitoring your software and hardware in 30 minutes -- no joke. Want alerts when your disks are full? Cake. Want to autodiscover your Apache server? Cake. Want an alert when a process goes haywire? Cake.
And since it has a pluggable framework, you can monitor anything that you want -- network devices, software, hardware,
Re: (Score:1, Troll)
Maybe you can start with the fact that it runs in Java. Including the agent. Nagios is light years ahead of Hyperic, but this one fact alone is enough to disqualify Hyperic from ever showing up in my production environment. In fact, I might make this a new interview question for disqualifying candidates. "Would you run Hyperic as a monitoring system?"
Anything other than "Hell no!" and the interview is over.
Re: (Score:2, Insightful)
Look at the installation procedure: Nagios documentation starts out with telling you that you'll need root access, a compiler, libGD, etc. Hyperic HQ comes with an installer that does all the work for you.
Where do the 'light years' come into play? Feature for Feature, Nagios and HQ have a lot of the s
Re: (Score:2)
Java is bad because it's a huge runtime environment for something as simple as an agent. Linux could probably handle it, but *why*? On windows I would never dream of installing Java + anything else and still expect it to perform, anymore than I would any other two apps on the same server. You're just
Re: (Score:2)
I'd like to second that... We have Nagios probes written in C, Perl and Ruby so far. Nagios is ugly, but it works, and the fact that the only real requirement for a probe is that it does something and spits out a string that starts with OK/WARNING/CRITICAL to standard out is one of the important features. Setting up monitoring
Re: (Score:1)
We've been running Hyperic (both free and enterprise versions) for quite a few months now, both in-house and at client sites all across the US. We monitor everything from a single, stand-alone Apache server on Linux, to a multi-site network running custom apps/Tomcat/Apache/Oracle/MySQL on Linux/HP-UX/Windows, multiple firewalls, routers and switches.
We've used Nagios. We've used Zabbix. We've used OpenView. We've used Cacti(different class, I know). We've tried countless other monitoring tools/solutions.
Re: (Score:2)
Re: (Score:2)
Seriously, if you think it's that hard to build something like Nagios you should not be allowed anywhere near any production servers.
Re: (Score:1)
Let's not take things to extremes, and don't take my comment out of context, as you both have.
Nagios is complicated compared to many other products. The simple fact that some rather large books are available points to that fact. But as others have pointed out, it doesn't have to be that way, and as Hyperic shows. If you have two tools that have the same features, but one takes a month to install and the other a week, which do you choose? I don't shy away from a process simply because of complexity, but ne
Re: (Score:2)
Nagios is complicated compared to many other products. The simple fact that some rather large books are available points to that fact.
That doesn't necessarily follow. Are you really going to argue that the size of the books available indicates the complexity of the software in question?
But as others have pointed out, it doesn't have to be that way, and as Hyperic shows. If you have two tools that have the same features, but one takes a month to install and the other a week, which do you choose?
What Hyperic shows is that just like most of the commercial tools, if you make it easy, given a slick presentation, and badmouth the competition you can get some people to buy/use your product. I
Re: (Score:2)
If your attitude towards Java is anything to go by then I doubt you are in an important decision making position anyway, but if you are, then I definitely wouldn't want to rely on you to look into possible solutions for systems that I develop. Let me guess you're a PHP guy.
Re: (Score:2)
If your attitude towards Java is anything to go by then I doubt you are in an important decision making position anyway, but if you are, then I definitely wouldn't want to rely on you to look into possible solutions for systems that I develop. Let me guess you're a PHP guy.
Heh. Thankfully, being an adoring fan of Java isn't a requirement for "important decision making positions". I'm not sure where you got the idea that it was.
That being said, my "attitude" wasn't towards Java, it was towards using Java for the wrong things. I run Java apps. In fact, one of my favorite apps is Zoe [zoe.nu] which is a Java app. My phone is Java based, and I even learned Java so I could write some stuff for it. My primary issue is with using it as an agent. Secondarily I would have a hard time
Re: (Score:3, Interesting)
So far I've been utterly disgusted by the FUD and BS you guys are spewing, and I've lost about all interest in caring what you think you're bringing to the table. I've yet to hear any of you actually do a mean
Was fun (Score:1)
By the Way - Props to No Starch Press (Score:1)
Re:Good book (this is killing me) (Score:5, Interesting)
I mean, it's none of my business, but do you have some insane reading technique?
Re: (Score:1)
It's typically not wise to fold books over backwards when reading. The unpleasant sound the book makes when you do this the first few times might have been a good indication that you should stop
Re: (Score:2)
Re: (Score:1)
Re: (Score:1)
Good book
(Score:-1, Troll)
by 2.7182 (819680) Alter Relationship on Wednesday April 11, @03:24PM (#18693547)
It tells you a lot of things I don't know other sources for. But my binding crack