Saturday, January 5, 2008

Network Monitoring: Auto Discovery vs. Configuration Management

There is some discussion on the SAGE-members list regarding network monitoring solutions. The first post was about Zenoss vs. Nagios. I haven't been involved in the conversation, I've only been lurking. 


I have maintained a few Nagios installs, usually configured via fruity. Before my Nagios/Cacti days, I ran a couple of large mon installs. 

I've been unsuccessful and unsatisfied with Zenoss in the past. I felt it wasn't monitoring what's important to me (mostly raid arrays). I couldn't figure out how to add custom monitoring in. I also had a brief stint with Hyperic, but the free version didn't give me access to the features I wanted.

An interesting comment was added today. Neil Watson said:
I am planning to move to a system that I can configure with my configuration management system instead of auto discovery (probably Nagios as I have used it before).
I've long thought that the division between people who want to use auto discovery and manual configuration has to do with the number of systems you need to maintain. I've been on the manual config side as I've never had more than 100 systems to monitor. I typically write macros to quickly add systems of similar types.

When I was at Scale5x last spring, the OpenNMS people were talking about how many tens of thousands of systems they could monitor with one station and how quickly they could get it up and running. I thought it was cool, but it didn't matter all that much to me.

To me, it's more important to use source control systems to maintain configuration management than using auto discovery. I also want to specify what I monitor -- I'll hand pick what's important for my environment. I also want to know how and why it changes.

I can think of two things that would make me switch camps:
  1. I'm in a position where I monitor 200+ machines
  2. A monitoring system lets your write customer monitors in perl/ruby/python and the interface includes the ability to add auto discovery code to your monitor

2 comments:

Anonymous said...

If you don't want to auto discover with OpenNMS, you can direct what it monitors very deterministically. It has a provisioning system whereby it will synchronize the monitored nodes with an export of a DB (or spreadsheet for that matter) to XML. If you can provide this export via an HTTP URL, it will grab that, too. So, add, changes, deletes in your provisioning system automatically update the OpenNMS DB. As a convenience, OpenNMS provides a front-end UI to creating these XML files where you can visually define exactly what you want to monitor. You can make a node out of any 2 IP addresses, for example, as well as define a node cluster that is too hard for auto discovery. Hope that is helpful.

Anonymous said...

I'd be very curious about the limitiations you had with Hyperic. HQ 3.2 is about to come out, and it's pretty interesting, including a fair bit more Nagios integration.

-John Mark