Computer networks today have grown in size and complexity. Monitoring and managing the various servers, routers, switches and other devices that make up a modern network is a daunting task. In the enterprise space, several vendors have created robust suites of tools to simplify this process such as HP OpenView and IBM Tivoli. However, what many do not realize is that there are many capable and robust suites of open source networking tools available to simplify network management and monitoring at the fraction of the cost of those expensive enterprise solutions. These open source networking suites have many of the same capabilities of their commercial enterprise counterparts.
Nagios is a very capable monitoring system. It is capable of monitoring different services and hosts and alerting on them. This open source networking suite provides more than just a notification of servers or services that are down. It can monitor detailed information on individual hosts including CPU, disk drive space, memory, temperature and more. It uses a plugin architecture that makes it very capable and expandable. There are a lot of Nagios plugins already written and are available to download. If you need a new capability you simply build a new plugin for it in any language you want. Nagios can be complex but its features are very comparable to enterprise managed service provider suites such as Kaseya or Level Platforms.
OpenNMS is an open source networking management suite that has been designed specifically to replace enterprise management suites like HP Openview. It is written in Java and requires a Java servlet container such as Tomcat. OpenNMS can monitor and manage various servers and network nodes using SNMP. It provides a web based dashboard that gives a quick overview of the status and condition on an enterprise network. While commercial support is available through the OpenNMS Group, free support from the community mailing list proved to be excellent. OpenNMS and Nagios have some overlap but are in many ways complementary projects. OpenNMS considers it’s open source networking platform to be geared more towards large enterprises with thousands of servers.
NetDisco is an open source networking management suite that uses SNMP to monitor network nodes. It’s based on Postgres database and provides a web based interface using the PERL Mason framework. NetDisco understands several network discovery protocols including Cisco Discovery Protocol. These protocols make configuration of NetDisco nearly automatic, however, it also supports manual configuration in cases where discovery protocols are unavailable or turned off for security purposes. NetDisco uses its database to keep track of historical data. It can be used for routine management tasks like finding the port on a switch to which a server is connected. It can also switch ports on and off and provides an audit trail showing who turned a port off and why. It focuses primarily on mapping and tracking the topology of the network including wireless networks and VLANs. As such, NetDisco is ususally used alongside other monitoring and management applications such as Nagios or OpenNMS.
Open QRM is an open source networking platform for deploying, monitoring and managing IT infrastructure. Open QRM takes into account virtualization and cloud computing and provides a management system capable of managing both physical and virtual servers in one place. It can be extended through a series of plugins to provide additional features as needed. Open QRM understands the concept of various types of storage area networks and can assign storage and deploy new virtual servers. With the growth of cloud computing and the spread of virtualization in the datacenter, Open QRM is an exciting project and one that any network professional should examine. There is a paid, supported, enterprise version available for those that need it.
JFFNMS (Just for Fun Network Management System) is an open source network management suite written in PHP. It supports both the MySQL and Postgres database systems. JFFNMS is capable of monitoring any IP device that supports SNMP. It provides a web based interface showing devices status, alerts and an event log. JFFNMS also support TFTP configuration and archival which makes it easy to store router configurations and update configurations through the web interface. The reporting module provides a number of useful reports for data center operations such as the 95th percentile utilization. Like the other open source networking suites mentioned so far, JFFNMS has a modular and extensible architecture.
Zenoss is an open source network management and monitoring system built upon the Zope application server. It supports availability monitoring through SNMP, SSH and WMI. Zenoss also provides extended Windows monitoring through Samba and open source extensions. It can be extended through various plugins and even supports the Nagios plugin format. Zenoss uses MySQL as its datastore. It can monitor hosts, resources, events. It has been designed from the ground up with an awareness of the modern dynamic datacenter and virtualization. Zenoss provides an open source community edition and a paid, supported enterprise version.
Cacti is an open source monitoring tool that is a frontend to RRDTool and is written in PHP. It is a quick data poller and has great graphing capabilities. It’s using MySQL database to store the management information about graphing and its configuration. It uses templates, so once you setup up a template for your device type, adding additional devices of that type is usually a no-brainer. It is super fast and able to draw a lots of graphs pretty fast. Cacti Data Source represents a single metric that is usually displayed on a single graph. It can reference external scripts or SNMP to collect those data sources. Cacti is a great graphing tool but it’s missing the alerting capabilities. It has very sophisticated user management capabilities, allowing different privileges and individual graphing characteristics per user. Overall, Cacti is a great tool to have for troubleshooting any network or system related issues. It is well documented and has large user base.
Ganglia is another open source network management tool that is very robust monitoring large server clusters. It supports different flavors of Linux, Solaris, FreeBSD and others. Its architecture is based on agents running on monitored hosts and reporting all metrics to the main server. It breaks down all your servers into different clusters, such as application, database, memcache, etc and allows you to quickly isolate any anomalies by looking at those clusters. You can then further drill down into each individual cluster to check individual host statistics. It has no alerting capabilities and only designed to monitor your servers and not other network devices. It grew up as a project from University of California, Berkley and is very popular to monitor large server clusters.
Open source networking suites provide a variety of monitoring and management features that are on par with proprietary enterprise tools. These open source networking platforms make it possible to deploy, monitor and manage complex networks consisting of physical devices and virtual servers through web based interfaces. Additionally most of them provide a framework for extending their capabilities making them highly adaptable to modern network environments.