Key differences between Nagios and Open NMS?

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


Solution 1:

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.

Solution 2:

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.

Solution 3:

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.

Solution 4:

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

Solution 5:

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.