Lead Image © bowie15, 123RF.com

Lead Image © bowie15, 123RF.com

Zabbix release 2.2

A Closer Look

Article from ADMIN 20/2014
Although Nagios gets lots of attention, the popular network monitoring tool Zabbix is free, can configure hosts for direct monitoring in the web interface, and now can also monitor VMware machines in version 2.2.

Network monitoring is increasingly important for small business and the SOHO sector. Identifying problems at an early stage increases availability and thus proactively saves money  – regardless of your existing backup, disaster recovery, and high-availability strategies.


The Zabbix [1] monitoring solution has been under development since 2001 and shares a number of similarities with the well-known Nagios. Development of the GPL-licensed software is still largely controlled by Zabbix inventor Alexei Vladishev, who is also the CEO, owner, and product manager of Zabbix SIA, which offers commercial services related to Zabbix.

As with other monitoring tools of the genus, Zabbix optionally uses simple checks that can be accessed externally without installing additional software on the monitored hosts (i.e., standard services like SMTP, SSH, and HTTP). Alternatively, the download page offers several agents for all major operating systems such as Linux, BSD, AIX, Solaris, and Windows.

As a third option, Zabbix can also retrieve the required monitoring information using the SNMP or IPMI network management protocols built into all modern operating systems. The most important difference (compared with Nagios) is that the Zabbix web interface not only visualizes the information it collects but also lets you configure the hosts to be monitored in the web browser.

Like other monitoring solutions, Zabbix also sends email, text, or instant messages in the case of an incident. As the storage back end for the collected information, as well as for the configuration data of the monitored hosts, you can choose from MySQL, PostgreSQL, IBM DB2, Oracle, or SQLite. In terms of handling, Zabbix is characterized especially by its convenient ability to combine hosts, actions, items, and triggers, as well as its convenient management of graphs, screens, and maps. The way hosts are represented in different types of maps is very elegant.

Furthermore, a Zabbix installation can use Zabbix proxies and Zabbix nodes to distribute the installation over several locations; both synchronize regularly with the Zabbix server. Zabbix proxies carry out monitoring on behalf of the Zabbix server, which takes some of the load off the Zabbix server. Zabbix nodes are subordinate servers but offer the same functions as a Zabbix server.

In version 2.2, Zabbix has more than 100 new features compared with version 2.0.9. For example, a value cache now ensures even faster processing of triggers. Further speed improvements result from the fact that the developers have revised the actual data transmission process and the caches for histories and configurations. Additionally, the Zabbix server now processes time-based functions in parallel.

Zabbix is also interesting for potential Nagios converts because the software can now monitor VMware vCenter and vSphere platforms. Zabbix detects virtual machines automatically and includes the utilization and availability of VMs and hypervisors in its monitoring scope. If you are already familiar with Zabbix, you will know that the software no longer has unknown events in version 2.2.

Furthermore, the new application inheritance logic lets you combine multiple templates with the same application. In web monitoring, you can also select template-based scenarios and use regular expressions. When checking the availability of a service in Zabbix 2.2, you can also set the number of repetitions. Developers will be interested in the fact that the Zabbix makers have also revised the Zabbix API.

Installing Zabbix

Zabbix is available from the download page either as the source code or in the form of binary packages for RHEL, Debian, and Ubuntu. Zabbix also is included in the repositories of many distributions, although typically as version 2.0.9. The Zabbix team also offers Zabbix virtual appliances based on openSUSE 12.3 for VMware, VirtualBox, KVM, Microsoft (VHD), and in the Open Virtualization format  – again, only in version 2.0.9 when this issue went to press. For some distributions, such as Ubuntu 12.04, Zabbix offers its own repository for the installation of the current 2.2 version.

Installing from the source code works well if the installation requirements are met – that is, if you have the required PHP modules, including gd, mysqli, libxml, and ctype in place. Additionally, an unprivileged zabbix user is necessary for the Zabbix daemon.

If you want the server and agent to run on the same machine – for example, to include the server itself in your monitoring setup – you need a separate user for the agent. To create the databases for a Zabbix server or proxy, the project page has scripts for MySQL, PostgreSQL, Oracle, IBM DB2, and SQLite [2]. Then, you can configure one of the sources. For example, if you are using MySQL, enter:

./configure --enable-server --with-mysql --with-net-snmp

To configure the source for a Linux agent, you would instead enter:

./configure --enable-agent

Compiling with make install should work fine in both cases.

The Zabbix server daemon is launched by the zabbix_server command, and the agent on the system to be monitored is launched by zabbix_agentd. Until the web interface is installed, you need to set up the agent manually in the respective /usr/local/etc/zabbix_agentd.conf configuration file on the host you want to monitor. The file needs to contain at least the Zabbix server's IP address, as well as the port on which the agent listens to requests on the server (ListenPort=10050). The /etc/zabbix/zabbix_agentd.conf configuration file decides whether the agent is launched as a daemon.


Further configuration of the server is done in the /usr/local/etc/zabbix_server.conf file; it must contain at least the database name (DBName=zabbix), the administrative database user (DBUser), the admin's password (DBPassword), and the default port for the Zabbix daemon (ListenPort=10051). Additionally, the admin needs to modify the firewall configuration on the server (if enabled) or modify the agent (ports 10050, 10051) so that they can communicate.

Setting up the web interface is not difficult. Because the front end is written in PHP, the admin just needs to copy the PHP files to the document root of the respective web server, for example: /var/www/html (Fedora, RHEL, CentOS), /var/www (Debian, Ubuntu), or /srv/www/htdocs (SLES, openSUSE). Once the web server is running, you can continue installing the web interface graphically via the URL http://server-IP/zabbix in the installation wizard for the front end (Figure 1).

Figure 1: Zabbix provides a web-based installation wizard.

For the appliances and the precompiled versions, you can leave out the steps I just described, including the installation of the web front end. By default, the admin logs in to the web interface with a username of admin and a password of zabbix . Other accounts are the root /zabbix account for the command line and root /zabbix as well as zabbix /zabbix for the database.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy ADMIN Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

comments powered by Disqus
Subscribe to our ADMIN Newsletters
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs

Support Our Work

ADMIN content is made possible with support from readers like you. Please consider contributing when you've found an article to be beneficial.

Learn More”>


		<div class=