System monitoring is one of the most important duties of system administrators. Monitoring is crucial for maintaining acceptable levels of performance and uptime. As infrastructure increases in complexity and scale, having the right monitoring setup becomes increasingly crucial. Data from server monitoring software should be used at every level of system administration, from network topology, scaling decisions, investments in hardware, and troubleshooting. Without both aggregate data and real time information as to server status, we’d be working blind.
Fortunately, there’s a huge range of monitoring software available to choose from, including both paid-for and free open source solutions that run the gamut from simple single server monitoring tools to full enterprise-level application suites that will provide more data than the average sysadmin could possibly need.
Today we’re going to give a brief survey of the available open source options. All of these monitoring suites are freely available, although some of them have paid-for add-ons or operate a freemium model where the core functionality is free and support and additional capabilities come at a price.
Nagios is by far the most popular open source server monitoring and IT management software available today. If we take Google Trends as a rough measure of the relative interest in the server monitoring applications we’ll be looking at, Nagios is clearly king of the hill.
Compared to other server monitoring solutions, Nagios can be more difficult to deploy, but it more than makes up for its complexity by providing a comprehensive array of monitoring tools for gathering data on almost every aspect of server status, including:
Service monitoring, including HTTP, POP, SSH, and SMTP among many others
Host resource monitoring on most popular operating systems
Remote monitoring with the Nagios Remote Plugin Executor (NRPE)
A centralized view of IT infrastructure
Alerts via email and SMS
Hyperic is VMWare’s solution for monitoring and managing physical, virtual, and cloud server environments. While Hyperic HQ isn’t quite as comprehensively featured as Nagios and sacrifices some flexibility for ease-of-use, its core features pack plenty of punch. It uses HQ Agents to auto-discover software on servers and generate a database, which is then use to collect metrics that “reflect availability, performance, utilization, and throughput.”
The paid-for Hyperic HQ Enterprise adds a number of automation features.
Groundwork is comparable to Hyperic HQ in that is offers easily deployed server monitoring with somewhat less flexibility that Nagios. Groundwork can be deployed either on premises or in the cloud and offers:
Cloud and virtualization monitoring
“Outside” monitoring, to give a user-eye view of a site and its user experience and performance.
Groundwork’s licensing model works differently than the other examples here. The free version is fully featured but is limited to monitoring 50 servers. The paid version offers tiered pricing depending on the number of devices and the level of support required.
Zenoss Core implements an interesting approach to monitoring. It is developed with a unified model of the IT environment in mind, and allows for logical and physical grouping of assets so that they can be mapped to locations, business systems, and the responsible system administrators.
Zenoss is designed to be usable through an intuitive web interface that doesn’t require Linux server expertise and can be populated automatically, much like Hyperic. Its flexible reporting component uses the RDD graphing language to create custom charts.
These are the dominant open source options available for server monitoring, but there are numerous smaller projects too. If you have had good experiences with these or any alternatives, feel free to join the conversation in the comments.