Review: 4 open-source network management tools improve usability, performance

OpenNMS, Zenoss Core, NetXMS and Sensu Core deliver comprehensive monitoring, flexible reporting, cross-platform support and more

Current Job Listings
1 2 Page 2
Page 2 of 2

Sensu Core network monitoring and management

Sensu Core is a fairly recent addition to the network management scene, with its first enterprise release available in 2015. It utilizes a RESTful JSON API to monitor data collection and resolve events. The free and open-source version is currently in version 1.6, which was used for this review. Sensu Core provides various installation options including stand-alone, distributed and high availability. There is also a "5-minute" install that can be used for testing and small environments, but it is only available for CentOS. For our review we focused on the stand-alone installation options for both Linux and Windows.

The system requirements start at 2GB (4GB recommended) for a stand-alone installation. Our main installation was on an Ubuntu server, but Sensu Core can also be installed on other versions of Linux, macOS, and Windows, which we tested. The Enterprise version is currently in version 3.3 while Core is on 1.6.

The online user manuals are good, but in our view, they jump a bit too much between the different versions, both Enterprise and Core, as well between the types of installation. In our view, the Windows installation is far easier than the Linux install. The Linux installation requires too many steps and the instructions are somewhat vague as to which of the many add-ons are needed to run the core installation. Also, we weren’t readily able to discern from the documentation whether the Enterprise and Core releases are similar and on the same schedule.

With the basic installation in place, we needed to complete some configuration tasks, since Sensu does not come with any default configurations. We found this a bit puzzling; including a set of default configurations would cover many common installation scenarios and give users at least a starting point. Sensu Core configurations involve JSON and XML files that are created or edited with a UTF-8 capable text editor or by using a third-party configuration management tool such as Puppet or Ansible.

sensu core screenshot 1 Sensu Core

Sensu Core features a flexible API and scales well

Sensu Core uses service checks and event processing as the main building blocks of its monitoring solution. The services checks monitor resources usage such as memory, CPU utilization and bandwidth, and confirm whether a service such as a Web or database server is running. To accomplish this, Sensu Core utilizes agents, which could be the Sensu client, or SNMP and other protocols. The services checks utilize the same specifications as Nagios, allowing the use of Nagios plugins. Event processing is performed by the Sensu Server and provides a way to take various actions in response to alerts created by the service checks.

Sensu Core uses handlers to perform actions, ranging from basic text/email alerts and log entries to creating and resolving incidents using ServiceNow or PagerDuty. The communication between the clients, servers and APIs is accomplished using a message bus, the default being RabbitMQ. The Sensu Core server and APIs utilize Redis, an in-memory data structure store, for persistent data storage. In addition to creating your own custom service checks, you can also download pre-built plugins from the Sensu Community. There are hundreds of Sensu plugins available, ranging from basic ones that provides Twitter alerts to more complex plugins for monitoring database health or the status of hosted cloud applications. Additionally, you can use most of the more than 4,000 available Nagios plugins.

Initially, Sensu Core was developed to provide monitoring and data collection APIs that would integrate with existing third-party or custom dashboards. Over time, Sensu realized that a dedicated Sensu dashboard was necessary, and the Uchiwa dashboard was developed for this purpose. Uchiwa is a separate install and unlike some of the other components, is currently only available for Ubuntu/Debian and Red Hat/CentOS. The Uchiwa dashboard is basic, providing essentially an on-screen list of events with the ability to perform some filtering by type and severity. It can also be used to silence alerts and resolve events. There is a Sensu data source for Grafana, a commonly used third-party product for analytics and reporting, which provides additional ways to access and visualize events collected by Sensu. There are also some third-party dashboards available online that can be used to display Sensu event data.

While the Sensu Core includes many of the same features as the Enterprise version, there are some features left off, notably Active Directory and LDAP integration, multi-tenancy, user audit logging and various API options. Support for the Core version is limited to what is available in the online documentation and the community forum.

For those who need these additional features, along with professional support, there are a couple of commercial options. The SMB (small medium business) version clocks in at $899 per month, and the Enterprise version is a hefty $2,499 per month. This includes Web, email and phone (Enterprise only) support plus installation assistance. The Enterprise version also comes with a more feature-rich dashboard built on the Uchiwa dashboard used by Sensu Core.

While Sensu Core provides a robust way to monitor and, to some extent, manage a network infrastructure, it is still lacking in some areas. Our main complaint with Sensu Core is the byzantine approach to installation and configuration. There are simply too many parts and configurations needed to get the ball rolling. While we understand a vendor’s desire to provide installation flexibility, or to steer customers to their commercial products, it seems to us that a basic one- or two-click command install would make the product much easier to evaluate. Making installation difficult serves no purpose except to act as a barrier to entry for new customers. For those who do make it through the install, Sensu Core rewards with a flexible solution that scales well, and its open architecture allows users to integrate it with existing tools they may already be using.

Zenoss Core multi-platform network management

Zenoss Core is open-source network management software currently available for Red Hat and CentOS versions of Linux. It has some limitations compared to its commercial counterparts, most notably a limit of 500 nodes monitored. For those wishing to install Zenoss Core, you first must fill out a form on their website and wait for an email with download instructions. This is a bit different than typical open-source applications, which do not track users. Nevertheless, to complete our test we filled out the form and shortly received an email containing all the information we needed to continue, including links to downloads and online support resources.

Zenoss Core offers several installation options, including a bootable installation, a virtual appliance and files for offline installations. For this review we tested version 6.2.1. At a minimum, Zenoss Core requires 4 real or virtual CPU cores along with 24 GB RAM for a single host installation or 16 GB for a multi-host installation. Storage requirements vary with the size of the installation and the type of data collected. For some reason, Zenoss is pretty memory-intensive compared to the other products we tested, and we ended up needing 32 GB of memory on our Hyper-V server in order to install and launch a single host.

Installation was very straightforward when using one of the virtual appliances. We did need to make some changes to our DNS settings for everything to work properly, but other than that we were good to go. With the virtual machine up and running, we then loaded the Resource Manager. This is typically accessed using a recent version of any Web browser and after the initial login, running a short optional setup wizard. The wizard provides options for setting up users, configuring auto-discovery of the network and/or adding devices manually, before loading the Resource Manager dashboard. The Zenoss Web interface is well designed and easy to use. The default dashboard provides a basic overview of the status of the network infrastructure with any alerts and problem areas highlighted.

The Web interface has several configuration options, including what the vendor calls portlets. These are widgets that display different network information such as event views, device issues and network maps, including custom Google maps that can be arranged into custom dashboards. By using drag and drop as well as resizing, you can create one or more custom dashboards that provide the best layout for monitoring your infrastructure.

Devices can be added by using the auto-discovery feature or manually using a host name or IP address. Auto-discovery worked well on our test network, and we were also able to add several devices residing on other networks using IP addresses. The infrastructure tab displays each device with information about its current status with any warnings displayed using the universal yellow, orange and red color scheme. To see more detail about a device, you can drill down or use the handy type-ahead feature to search by host name or other device information. Commonly used searches can also be saved for easy future use.

Zenoss Core uses a variety of open-source technologies, including Python, Net-SNMP, a MySQL database for storage, Docker and D3.js. Unlike some other network management products, Zenoss does not use agents and instead leverages existing protocols such as SNMP, SSH, WMI, together with network services such as POP, FPT, HTTP and NTP for network monitoring and management purposes.

zenoss dashboard Zenoss Core

Zenoss Core is open-source network management software currently available for Red Hat and CentOS versions of Linux

When an event occurs, custom triggers and notifications can be created using the events menu. This can be as simple as a short SMS message to email messages with custom variables describing the event in detail. The system can also perform tasks such as executing commands in response to an event to resolve the problem. For each event you can also perform various manual actions from the browser; acknowledge, reclassify, add note to log, issue a command, and open or close the event.

Zenoss Core provides several nice reporting features, including ready-to-use reports along with the option to create your own custom reports. In addition to the standard line-by-line status reports, there are also several graphical reports. Reports can be viewed both on screen and exported in Adobe PDF format, a very handy feature when you need to save reports for later use or share with others.

Zenoss uses something it calls ZenPacks, which are preconfigured plugins that can be used for a wide variety of monitoring and management tasks. There are hundreds of ZenPacks available that utilize a standard API and protocols without the need to deploy agents to each device. ZenPacks are generally available as either free and open source, or commercial versions created by Zenoss or third parties.

We found the documentation to be very good, available as both as a PDF or downloadable HTML, which is helpful for those who want to set up their own online support portal.

For larger organizations with many nodes or who require additional support and features, Zenoss has two commercial offerings, Zenoss Cloud and Zenoss On Premises. These are paid options for those who require additional support and/or features. Zenoss does not publish prices for these offerings online.

Zenoss Core provides robust monitoring capabilities, but it does require a bit of fire power, especially in the memory department. Since the Zenoss Core version only supports up to 500 devices, it seems that it would make sense to lower the system requirements a notch or two for the free version. That being said, the 500-device limit should be enough to cover many small to medium size businesses. The user interface is easy to read and customize. That feature, along with solid reporting for export/print and on-screen use, makes Zenoss Core a good choice for those who don't need to monitor thousands of devices.

Join the Network World communities on Facebook and LinkedIn to comment on topics that are top of mind.
1 2 Page 2
Page 2 of 2
Now read: Getting grounded in IoT