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.


8 Answers 8


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.

  • 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. Commented Jun 9, 2009 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
    Commented Jun 9, 2009 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 ... Commented Apr 18, 2013 at 16:38

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.

  • 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. Commented Aug 7, 2009 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 Commented Sep 9, 2009 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. Commented Sep 9, 2009 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
    Commented Sep 24, 2009 at 11:31
  • Zenoss is awesome. It's web interface is really simple to use and makes Nagios look like some old dinosaur... Commented Sep 24, 2009 at 12:16

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.


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


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.


I would recommend you http://omdistro.org/. It is a precompiled and pre-configured version of Nagios with a lot of plugins to make management, configuration and visualization pretty easy, using mainly Check_MK extension. The main advantage is to have Nagios working in Passive Mode, meaning the checks will be performed locally (by each server) and only the status will be sent to Nagios. For mid-large installations it is a huge improvement. Worth to mention that it support multi-site deployment, so if you have remote sites, you


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.


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

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .