Zabbix and OpenNMS are two popular options for network monitoring and management. You definitely need network monitoring and management if your organization seriously depends on network availability or if managing the IT infrastructure has become overly time-consuming. Network monitoring and management can help you optimize processes and resources as well as troubleshoot problems more efficiently. It can also help you build up historical data for network analysis and prediction. So, should you choose Zabbix or OpenNMS?
Zabbix is enterprise open-source monitoring software for networks and applications developed by Alexei Vladishev, able to track statuses of various network services, servers, and hardware. Zabbix’s web frontend is written in PHP, whereas the backend is written in C. With Zabbix, you can choose to use MySQL, SQLite, PostgreSQL, Oracle, or IBM DB2 for data storage. Zabbix is cross-platform.
Zabbix is great at low levels, for small to medium network installations. In such levels, it is still very strong and efficient. It also has an active community that can assist in customization and troubleshooting. However, Zabbix is not suitable for large installations, as the configurations can be quite complicated when there are many elements of the same type and the performance starts to noticeably diminish when handling more than 1,000 nodes. In addition, there are also some limitations to its features; it does not have real-time reporting, it is difficult to purge when an error occurs, and its SNMP trap treatment is poor. See another comparison between Zabbix vs Nagios.
OpenNMS was started by Steve Giles, Brian Weaver, and Luke Rindfuss, but it has moved from hand to hand several times. Today, OpenNMS is maintained by The Order of the Green Polo and The OpenNMS Group. OpenNMS is a free open-source enterprise-grade network monitoring and management platform. OpenNMS aims to be a truly distributed and scalable monitoring and management platform while remaining completely free and open-source. OpenNMS is cross-platform, as it is written in Java. It uses JRobin, RRDTool, Cassandra, and PostgreSQL for data storage.
OpenNMS is great because it is able to integrate well with alert systems, allowing you to receive notifications via SMS and email. It also has decent performance that is comparable even to licensed products. The community is very active, providing a nicely detailed wiki, training, support, and commercial services. However, OpenNMS has quite a steep learning curve. It requires lots of manual configurations through script editing and XML. And, since it focuses more on network monitoring, it does not have the full range of features that a complete monitoring solution can provide, such as server and application monitoring and business processes.
|- PHP frontend, C backend, data storage is MySQL, SQLite, PostgreSQL, Oracle, or IBM DB2||- Written in Java, data storage uses JRobin, RRDTool, Cassandra, and PostgreSQL|
|- Great for a small to medium network||- Great performance comparable to licensed products|
|- Easier and more intuitive to use||- Steep learning curve|
|- No real-time reporting||- Can integrate with alert systems|
If the network installation is not too large, Zabbix is the way to go. It is strong and efficient for small and medium networks. It is quite easy to use. OpenNMS is great especially for large networks, as the performance is very reliable and the platform is able to work with alert systems, but the learning curve is quite steep.