Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I am looking to pitch a comprehensive monitoring system to my manager, and have been considering OpenNMS. However, I have seen glowing praise of Nagios on here and I was hoping someone with experience could help illustrate the key differences for me. Do their focuses differ, or are they just competitors?

If some background helps, we run 6 on-site servers (File server, PBX, proxy, application, etc.) and two off-site servers (Website / development) along with a couple of switches and a router. The monitoring service we install will be running on a separate converted desktop running freeBSD. All of our stuff runs either Linux or a BSD derivative.

We are looking to spend no money to implement this (sigh).

Thanks for any help.

EDIT It looks like openNMS offers a more comprehensive solution closer to what I want. However, because it is written in Java and the port is not in the official ports tree yet, it has been vetoed. Now begins my Nagios would be better than just MRTG campaign. Thanks for the fast responses.

-Chance

share|improve this question
add comment

7 Answers

up vote 5 down vote accepted

Wikipedia has a comparative table which helps a lot

I think the key differences are:

  • language: Nagios is written in C and OpenNMS in Java. It makes nagios a lot faster on older hardware.

  • Data collection: Nagios performs very little data collection. Other software (like cacti for example) will be required for a more extensive data collection system. OpenNMS includes it out of the box.

  • host and service discovery: Nagios has to be told what to monitor whereas OpenNMS has discovery features.

share|improve this answer
1  
To be pedantic, Nagios does data collection for things like uptimes, it just doesn't persist the specific performance data passed back from the client nor does it output performance data. There are options to persist this data inside a Round Robin Database (RRD) in the Nagios configuration, and then Cacti (or just plain ol' RRDTool) can be used to output the data. –  Karl Katzke Jun 9 '09 at 14:27
    
Thanks! I've been researching since I posted this and I found this in the Nagios docs (linked to from opennms faq) "Nagios is not designed to be a replacement for a full-blown SNMP management application like HP OpenView or OpenNMS." Looks like I need to work on getting java on freeBSD –  Chance Jun 9 '09 at 14:30
    
I'm practically a 'C' performance zealot, and definitely would deduct points from any project written in Java, The performance impact generally boils down to choice of plugins. Reflecting my experience, Nagios itself performs very fast, and I absolutely believe that being written in 'C' is largely responsible, the slew of perl/python/php plugins/components/addons practically chokes a server to death. The official plugins, written in 'C', are absolutely great. Unfortunately for some things, more than you would expect, perl is a necessity. multiply that times 1000, and ... –  TechZilla Apr 18 '13 at 16:38
add comment

I would suggest you also consider Zenoss Core, the free version of Zenoss. I have installed it to monitor our network and servers, and have found it to be very capable and much more userfriendly than Nagios. It does what Nagios and cacti do, but integrated. Most functionality you'll need is likely there, but if not you can extend it with Zenoss packs and Nagios plugins.

You can literally have it installed and working in 30 mins, so it's easy to evaluate it. Seriously, we're very happy with it and it sounds perfect for your requirements.

share|improve this answer
    
I found Zenoss to be exactly the opposite: I got it installed and working in 30 minutes, but couldn't get it to do anything. –  Karl Katzke Aug 7 '09 at 4:49
    
Sorry to hear that, Karl. Our experience was very pleasant. Like any monitoring solution there is a learning curve, and it takes time to tweak the details and thresholds, but the setup was what won me over. We installed it, let it scan our subnet, deleted all client hosts and assigned the server hosts to the correct device classes. Have you checked the Administration Guide? zenoss.com/community/docs –  Martijn Heemels Sep 9 '09 at 8:53
    
Why are people downvoting my answer? This is a Q&A site, and I think it's perfectly valid to inform the asker of alternative options that they may not be aware of, as long as they're relevant and might solve their problem. –  Martijn Heemels Sep 9 '09 at 9:20
    
@Martijn - my guess is because the question wasn't looking for additional alternatives, plus the Zenoss line, while having the "Core" edition, very much pushes towards the commercial editions, whereas OpenNMS and Nagios "happen" to have commercial support, but everything is available in the "community" editions, too. –  warren Sep 24 '09 at 11:31
    
Zenoss is awesome. It's web interface is really simple to use and makes Nagios look like some old dinosaur... –  Antoine Benkemoun Sep 24 '09 at 12:16
add comment

There's a FreeBSD port (see https://www.geeklan.co.uk/?p=132) that works with the Diablo JVM.

share|improve this answer
    
Thanks, I'll check that out right now. –  Chance Jun 9 '09 at 14:59
add comment

Maybe you want to use both of them? Currently we're using Nagios for availability monitoring with alaraming, escalations etc.. and opennms for performance monitoring without alarming.

share|improve this answer
add comment

OpenNMS targets at the enterprise-sized organization which needs a scalable network management solution. Nagios is better suited to monitor a limited amount of servers which you can afford to set up manually. If you compare it to the transportation network, Nagios is a truck and OpenNMS is a railroad system - both do "roughly" the same ("monitor things", "transport things") but are aimed at different markets.

share|improve this answer
add comment

From my understanding, OpenNMS is a management tool that does monitoring (well!), whereas Nagios is a monitoring tool only.

Quoting the head of the OpenNMS Group, Tarus Balog, "OpenNMS has great monitoring capabilities, but we have designed it to be a network management application platform of which monitoring is just one part."*

From the Nagios site: "Capabilities to monitor applications, services, operating systems, network protocols, system metrics and infrastructure components with a single tool"*

Nagios' history started with monitoring and moved on, whereas OpenNMS started with management, and moved on.

share|improve this answer
add comment

No matter what tool you pick, you should also use an external monitoring service additionally. I think of services like AlertFox or Gomez.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.