Is your network healthy? Are your servers online and serving visitors? What is happening on the DNS service right now? These are common questions that a system administrator regularly encounters from day to day, and getting insights into these things is very important. You may need to set up a monitoring solution to aid you in your job, but implementing such system can be very complex and time-consuming. Nevertheless, you can only move forward by taking a step, and choosing a monitoring platform is the very first step of the long journey ahead.
There are various choices of monitoring options available now, but, if you are looking for a free solution, the choices often come down to Zabbix and Nagios. Many corporative installations today are using Nagios for monitoring their networks, systems, and applications; however, Zabbix has been taking more and more of the market share since its release. So, how do the two actually compare to each other? Below, we will see the comparisons between Zabbix and Nagios to help you choose the right monitoring software.
Zabbix is enterprise-grade open-source monitoring software for networks as well as applications. It is relatively newer in the field, as its first stable version was just released in 2004, but it has gained lots of attention since then. It is developed by Alexei Vladishev, and is written in C for the backend, PHP for the frontend, and Java for the Java gateway. For data storage, it uses MySQL, SQLite, PostgreSQL, Oracle, and IBM DB2.
Zabbix has been designed to monitor and track the statuses of network servers, services, and hardware. There are several monitoring options. The simple checks can monitor the availability and responsiveness of standard services without having to install anything on the monitored units. However, the Zabbix agent can be installed on Windows and UNIX hosts to monitor performance statistics, including CPU load, disk space, and network utilization. Monitoring via SNMP, TCP, or ICMP checks is also possible, as well as via SSH, Telnet, IPMI, and JMX using custom parameters. It supports several near-real-time notification mechanisms including XMPP.
Nagios has been around since 1999, originally written by Ethan Galstad and a group of developers. Due to being older, it has a much wider range of users. Nagios is an open-source, cross-platform software application that is used to monitor networks, systems, and infrastructure. It is written in C, and, although was originally designed to run on Linux, can also run properly on other UNIX variants. Nagios has built-in monitoring and alerting features for switches, servers, applications, and services.
Zabbix vs. Nagios: Interface and User Friendliness
One of the most interesting features of Zabbix is the web interface. It has a very nice and intuitive web interface, through which you can perform all the tasks needed. It even has customizable dashboard screens that you can use to adapt it to your particular preference and work flow. It is able to visualize and compare the values it monitors.
The web interface is especially very attractive for people who are not used to such tools; it is very easy to use and takes a little time to understand. However, it can be more difficult to automate, such as when using Puppet or Chef.
On the other hand, Nagios uses text files for the configuration. There is a web interface, but this is mostly read-only (you can see problems, turn off alerts, and reschedule tests, but you can’t add a new host or service through here). Nagios can be more difficult to learn for first-timers, but the configuration text files make it much easier to automate. It can’t chart monitored values by itself, but you can bolt an additional system like Nagiosgraph or Cacti for this functionality.
Zabbix vs. Nagios: Monitoring Capabilities
As briefly mentioned above, Zabbix can visualize and compare the monitored values by itself. It has graphs and stats collection via SNMP or a custom agent. It also has system templates to make setup quicker and easier.
Zabbix is able to monitor all main protocols, and it features local monitoring proxies. It is able to perform monitoring on log files, reboots, as well as web applications (content, speed, latency). It is able to perform real-time SLA reporting, and it can alert through e-mail or SMS. There are native agents for Windows, Linux, FreeBSD, OS X. However, there is no flapping detection.
Nagios has no charting capability by itself, and it requires SSH access or NRPE in order to monitor the internals of remote systems such as open files, memory, and running processes. However, Nagios is able to monitor all main protocols, and it has flapping detection. It is also capable of web content monitoring and automatic topography display. It alerts through e-mail or SMS with multiple alert levels.
Nagios has a simple plugin architecture, and, so far, it has a lot more plugins compatible. And, for local use, implementing a plugin is much faster and easier than setting up things manually.
Zabbix vs. Nagios: Resource Requirement
There is one thing that we should not forget when comparing Zabbix and Nagios: the resource requirement. Zabbix is very resource hungry. Zabbix uses a database to store all of its stats and configurations, and said database could grow exponentially, depending on the number of things that you monitor. On the other hand, Nagios works very fast and does not require as much resource in normal conditions.
|- Powerful web interface through which you can also make configurations; trickier to automate||- Limited web interface, configuration text files; easier to automate|
|- Comes with some powerful monitoring features including visualization, stats collection via SNMP or a custom agent||- Great monitoring features, flapping detection, rich collection of compatible plugins|
|- Very resource intensive due to using a database||- Works fast, doesn’t require as much resource|
In general, Nagios is still the best monitoring software application. Nagios is relatively easy to automate, comes with decent monitoring features, has a rich collection of plugins, and doesn’t require so much resource. Nagios is a wise choice for a system that has limited resources. Zabbix, on the other hand, is a nice do-it-all solution. Zabbix has some powerful features, such as the local monitoring proxies, built-in graphs and stats collection, and customizable dashboard screens. However, it is very resource-hungry due to using a database to store stats and configs, so make sure that your system is powerful enough to host Zabbix if you do choose it.