Search This Blog

Wednesday, November 12, 2014

Installing Zabbix 2.4 on Debian Wheezy

Zabbix 2.4 is a significant upgrade to Zabbix 2.2.  This post describes some of the enhancements and the simplified installation on Debian Wheezy.

Changes from Zabbix 2.2 to 2.4


A complete list of changes is available in the Zabbix documentation.  A summary of selected improvements includes:
  1. Defining multiple filters for low level discovery
  2. Node-based distributed monitoring removed (Node-based monitoring has been problematical in Zabbix 2.2, possibly due to high bandwidth, low latency requirements)
  3. Ad-hoc graphs for several items
  4. Custom calculation of action conditions
  5. Support of new trigger operators
  6. Web monitoring improvements (custom headers, SSL verification and authentication options, clearing history and trend data)
  7. Optional SNMP bulk requests (as opposed to the previous mandatory)
  8. Graph prototypes supported in screens
  9. Option to remove missing resources when importing
  10. Frontend improvements (unified date and time format, global search by technical name, application filter for maps, URL as dynamic screen element, responsible action shown in action log, description field added to host, host, template and proxy configuration, trigger dependencies shown as links, option to see items only on trigger status page, more options for trigger filtering, maintenance period sorting, host menu changes, regular expression validation, dropping green status icons in listings, changing uploaded image type disallowed, changes regarding multibyte string support, and several more miscellaneous improvements)
  11. Macro improvements
  12. Daemon improvements (LLD, item processing, configuration file handling, including specific items from the Include directory, JSON formatting, log file handling, automaticly discovered host handling, more unsupported item details, database, housekeeper and script result changes and log level at runtime changes)
  13. Item changes/improvements
  14. API improvements
The Zabbix development team has been responsive to user comments and has done a good job of separating Maintenance (included in Zabbix 2.2 updates) from Development (included in the Zabbix 2.4 release).

Installation on Debian Wheezy

The Zabbix 2.2.x package included with Debian Wheezy is not a seamless installation.  There are many manual changes required, as demonstrated in a previous article.  Zabbix 2.4 is not included in Debian Wheezy and the packages must be downloaded from the Zabbix repositories (at http://repo.zabbix.com).  While this may sound like more work, in reality the packages available from the Zabbix repository are better integrated with the apt package management system tan those available from Debian; a great deal of manual configuration is eliminated.

Instructions are available from the Zabbix and this article is drawn heavily from those.


Download and Install the Zabbix Release

Adding a repository to /etc/apt/sources.list is not necessary.  Rather, a release package (downloaded from the Zabbix repository) performs the necessary modifications.

# wget http://repo.zabbix.com/zabbix/2.4/debian/pool/main/z/zabbix-release/zabbix-release_2.4-1+wheezy_all.deb
# dpkg -i zabbix-release_2.4-1+wheezy_all.deb
# apt-get update
 The author installed Debian Wheezy from the boot DVD and specified repositories from the Advanced Installation.  Prior to the package update, the author commented out the line specifying DVD 1 as a source.  This is illustrated in the video at the end of this article.

Install Zabbix Packages

The release package installed above adds the appropriate sources.  Better still, the dependency problems in the Debian distribution packages are solved, eliminating the need to manually specify a long list of packages required for a Debian-version Zabbix 2.2 installation.
# apt-get install zabbix-server-mysql zabbix-frontend-php zabbix-agent postfix
The author installs postfix (replacing the default Debian exim mail MTA); this is optional and included because the author prefers the features in postfix.

During installation, several screens will prompt the administrator to configure Postfix, MySQL and Zabbix.  These are illustrated in the video at the end of this article.

Configure a Time Zone in the Zabbix Frontend PHP Settings

Appropriate PHP settings are included in the installation and installed to /etc/apache2/conf.d/zabbix.  However, the date.timezone value must be manually set by editing that file.  Simply chose an appropriate value from this list.
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
# php_value date.timezone Europe/Riga

Perform the Zabbix Web-Based Installation

Finally, browse to the server's /zabbix directory and perform the web-based installation.  Unlike the installation for the package included with Debian Wheezy, there are no significant manual actions to perform (e.g. manually editing all of the required PHP values and manually adding the frontend configuration file).  Enter the database password specified during the package installations above and the rest is automatic.  The administrator may then log in to the frontend using the default user name "admin" and password "zabbix."

The video below illustrates the entire process.