40 Free Open Source network monitoring tools

Introduction

Network monitoring has become a key responsibility of the network administrator. Administrators have a multitude of choices from open-source and freeware network monitoring software to commercial network monitoring tools.

Network monitoring tools monitor associated systems for slow and failing components and notify the network administrators via emails, SMS or any other alarms. These tools provide an at-a-glance, real-time view of your network devices, services, applications, connections, and traffic patterns.

Please note that this article is a work in progress. Additions and changes will be made going forward.


1. Argus

Argus is a systems and network monitoring application. It is designed to monitor the status of network services, servers, and other network hardware. It will send alerts when it detects problems.

It is open-source software written entirely in Perl, and provides a web based interface.

  • It can monitor a wide variety of TCP/UDP applications (PING, HTTP, SMTP, RADIUS, …)
  • It can monitor the output or exit code of a program (Program test)
  • It can monitor the content of a web page (such as a shopping cart application)
  • It can monitor the authoritativeness of a nameserver
  • It can monitor SNMP OIDs (such as BGP status, UPS voltage, room temperature, …)
  • It can monitor the results of SQL queries
  • It can monitor itself.
  • It can be extended to monitor things that the author didn’t think of
  • It can notify someone (or many people) when something happens and it can escalate, if things don’t get fixed.
  • It can not alarm for known downtime (maintenance overrides)
  • summarize and rate-limit multiple notifications to prevent paging-floods.
  • historical statistics, for analysis or SLA verification.
  • It can restrict users to viewing only certain items (user “views”)
  • It can restrict users access to certain features (access control)
  • Support for IPv6.
  • Support for SNMPv3.
  • Support for redundant multi-server configurations.

Official link: http://argus.tcp4me.com


2. Cacti

Cacti is a complete network graphing solution designed to harness the power of RRDTool’s data storage and graphing functionality. Cacti provides a fast poller, advanced graph templating, multiple data acquisition methods, and user management features out of the box.

Cacti works by polling all SNMP-capable devices on your network and adding the information you’ve selected to graphs. In its simplest form, Cacti will give you the ability to create graphs for the most common aspects of host monitoring, such as disk space, loads, memory usage, NIC monitoring (bytes in/out of an interface), and so on.

All of this is wrapped in an intuitive, easy to use interface that makes sense for LAN-sized installations up to complex networks with hundreds of devices.

  • Unlimited number of graph items can be defined for each graph optionally utilizing CDEFs or data sources from within cacti.
  • Automatic grouping of GPRINT graph items to AREA, STACK, and LINE[1-3] to allow for quick re-sequencing of graph items.
  • Graph data can be manipulated using the CDEF math functions built into RRDTool. These CDEF functions can be defined in cacti and can be used globally on each graph.
  • Support for all of RRDTool’s graph item types including AREA, STACK, LINE[1-3], GPRINT, COMMENT, VRULE, and HRULE.
  • Data sources can be created that utilize RRDTool’s “create” and “update” functions. Each data source can be used to gather local or remote data and placed on a graph.
  • Supports RRD files with more than one data source and can use an RRD file stored anywhere on the local file system.
  • Round robin archive (RRA) settings can be customized giving the user the ability to gather data on non-standard timespans while store varying amounts of data.
  • Contains a “data input” mechanism which allows users to define custom scripts that can be used to gather data. Each script can contain arguments that must be entered for each data source created using the script (such as an IP address).
  • Built in SNMP support that can use php-snmp, ucd-snmp, or net-snmp, ability to retrieve data or a script with an index.
  • A PHP-based poller is provided to execute scripts, retrieve SNMP data, and update your RRD files.
  • Graph templates enable common graphs to be grouped together by templating. Every field for a normal graph can be templated or specified on a per-graph basis.
  • Data source templates enable common data source types to be grouped together by templating. Every field for a normal data source can be templated or specified on a per-data source basis.
  • Host templates are a group of graph and data source templates that allow you to define common host types. Upon the creation of a host, it will automatically take on the properties of its template.
  • The tree view allows users to create “graph hierarchies” and place graphs on the tree. This is an easy way to manage/organize a large number of graphs.
  • The list view lists the title of each graph in one large list which links the user to the actual graph.
  • The preview view displays all of the graphs in one large list format. This is similar to the default view for the 14all cgi script for RRDTool/MRTG.
  • User based management allows administrators to create users and assign different levels of permissions.

 https://www.cacti.net


3. CactiEZ

Update: CactiEZ is no longer developed.

CactiEZ is a self installing Linux Distribution based off CentOS that sets up and configures a customized Cacti install. Everything is designed to be completely automated and working directly out of the box. This compact distro is loaded with extra features such as Syslog and Netflow data collection, Weathermaps, Reports, Auto Discovery, and much more!

http://cactiez.cactiusers.org


4. CCSchmidt

Update: CCschmidt is no longer developed.

A collection of useful network software based on SNMP covering traffic and utilisation monitoring, forward database retrieval from switches, as well as squid log analysis and network performance measuring with variable size ICMP requests (pings).

https://software.ccschmidt.de