Top 5 – Open Source Network and Performance Monitoring + Alerting system

Introduction – Monitoring your network and various applications is most important part of your business. So choosing monitoring tools is critical and most important task, because you will fully rely on this tool to notify whenever something goes wrong!

1) Nagios – is a popular open source computer system monitor, network monitoring and infrastructure monitoring software application. Nagios offers complete monitoring and alerting for servers, switches, applications, and services and is considered as the defacto industry standard. Nagios supports two type of monitoring– Active and Passive. In case of Active monitoring nagios schedules or actively checks mentioned services; while in case of Passive checks, external application can be used to submit service check results.
– For Passive checks NSCA (Nagios Service Check Acceptor) daemon should run on nagios server to accept passive checks over network, which will submit passive check to nagios via unix socket.
– For Acitive checks NRPE (Nagios Remote Plugin Executor) daemon will has to run on remote machine to monitor services. However you can use SSH as well.

To monitor remote hosts and services nagios community provide you few plugins as shown below…
* NRPE – NRPE daemon will run on remote hosts and nagios will checks services on remote hosts via check_nrpe plugin (command) from nagios hosts.
* Check_MK – The best nagios plugin for monitoring remote host. Beauty of this plugin is that most of the commons services are checked in one connection to remote hosts and results are submitted as passive results to nagios. This improves performance, less network traffic and of course no load or burden on remote host (which we are monitoring). For Check_MK, we have to installed check_mk agent ie check_mk_agent simple shell script and bind this script to 6556 tcp port using xinetd daemon. Check_MK also provides following features.
– Check_MK support dynamic nagios configuration generation, inventory of checks.
– Livestatus – a beautiful plugin to communicate with nagios (unix socket)
– Nagios Multisite GUI – monitor multiple nagios from single web based interface
– SNMP supports and automatic service detections for many cisco switches, routers and NetApp filers as well.Nagios Multisite GUI – Another beauty of Check_MK nagios plugin is montoring multiple nagios using only one web based interface. This webbased interface usese Check_MK Livestatus plugin to get nagios data.
Check_MK – http://mathias-kettner.de/
URL – http://www.nagios.org/
Author – Ethan Galstad

2) Ganglia – is a scalable distributed system monitor tool for high-performance computing systems such as clusters and grids. It allows the user to remotely view live or historical statistics (such as CPU load averages or network utilization) for all machines that are being monitored. Ganglia is very helpful to find out application or team wise resource utilization even in clustered environment. We have to installed gmond (ganglia monitor daemon) on each machine (in group or cluster) which collects all stats.

gmetad (ganglia metadata daemon) need to installed on one machined in group or cluster which will collect data from specified gmond servers.
URL – http://ganglia.info/

3) Cacti – is an open source, web-based graphing tool (frontend to RRDtool ). Cacti allows a user to poll services at predetermined intervals and graph the resulting data. It is generally used to graph time-series data of metrics such as CPU load and network bandwidth utilization. Cacti is better to monitor hardware devices like switches,routers via SNMP.
URL – http://www.cacti.net/

4) Zabbix – It is designed to monitor and track the status of various network services, servers, and other network hardware.
It uses MySQL, PostgreSQL, SQLite, Oracle or IBM DB2 to store data. Its backend is written in C and the web frontend is written in PHP.
Zabbix offers several monitoring options. A Zabbix agent can also be installed on UNIX and Windows hosts to monitor statistics such as CPU load, network utilization, disk space, etc. As an alternative to installing an agent on hosts, Zabbix includes support for monitoring via SNMP, TCP and ICMP checks, as well as over IPMI, SSH, telnet and using custom parameters.
Zabbix supports a variety of real-time notification mechanisms. Beauty of Zabbix is XMPP notifications!
URL – http://www.zabbix.com/
Author – Alexei Vladishev