Documentation / ZABBIX Manual v1.0 (old) /   
Installation
* Server
* Agent
Installation

How to Get ZABBIX

Check the ZABBIX Home Page at http://www.zabbix.com for information about the current version and for downloading instructions.

Hardware requirements
  • Memory requirements
  • ZABBIX requires both physical and disk memory. 32 Mb of physical memory and 20 Mb of free disk memory could be a good starting point. However, the amount of required disk memory obviously depends on the number of hosts and parameters that are being monitored. If you're planning to keep a long history of monitored parameters, you should be thinking of at least a couple of gigabytes to have enough space to store the history in the database.

    Each ZABBIX daemon process requires several connections to a database server. Amount of memory allocated for the connection depends on configuration of the database engine.

    Note: zabbix_trapperd can be configured so that connections to the database will only be made during process of new value. See description of parameter DBConnectOnEach.

    Remember, the more physical memory you have, the faster the database (and therefore ZABBIX) works!

Supported Platforms

Due to security requirements and mission-critical nature of monitoring server, UNIX is the only operating system that can consistently deliver the necessary performance, fault tolerance and resilience. ZABBIX operates on market leading versions.

ZABBIX is tested on the following platforms:

  • Linux 2.xx
  • Solaris 2.xx
  • HP-UX 11.xx
  • AIX 4.3
  • Free BSD 4.3
  • SCO Open Server 5.0.5
  • Mac OS/X

Note: ZABBIX may work on other Unix-like operating systems as well.

Software Requirements

ZABBIX is built around modern Apache WEB server, MySQL or PostgreSQL database engine, and the PHP scripting language.

The following software is required to run ZABBIX:

  • Apache
  • Version 1.3.12 or later required. Apache can be found at http://www.apache.org

  • MySQL (or PostgreSQL)
  • Version 3.22 or later required. MySQL can be found at http://www.mysql.com

  • PostgreSQL (or MySQL)
  • Version 7.0.2 or later required. PostgreSQL can be found at http://www.postgresql.org

    ZABBIX may work on previous versions of Apache, MySQL, PostgreSQL as well. If using PostgreSQL, version 7.0.2 or later is strongly recommended.

  • MySQL or PostgreSQL development files (headers and libraries).
  • Note: Usually provided as part of mysql-dev or postgresql-dev packages.

  • PHP
  • Version 4.0 or later required. PHP and its modules can be found at http://www.php.net. PHP must be compiled as Apache module.

  • PHP GD module
  • The module is required for displaying graphs and maps. The module must support images in PNG format.

  • PHP 4.0 MySQL or PostgreSQL module
  • GNU Make
  • Required for building ZABBIX or its agents from sources. In case if pre-built binaries are used, GNU make is not necessary.

  • WEB browser on client side
  • Support for HTML and PNG images required. MS Explorer (5.xx and 6.xx) and Mozilla 1.x work perfectly. Cookies and JavaScript must be enabled. Other browsers may work with ZABBIX as well.

  • NET-SNMP (or UCD-SNMP) library and header files
  • Required for support of SNMP agents. Optional.

  • Open SSL library and header files. Required for SNMP support.
  • Optional.

Required software considerations

PostgreSQL vs MySQL

Regarding the choice between PostgreSQL and MySQL, MySQL is recommended for several reasons:

  • MySQL is faster
  • recent benchmarks using ZABBIX clearly show that PostgreSQL (7.1.x) is at least 10 times slower than MySQL (3.23.29)

    Note: These results are predictable. ZABBIX server processes use simple SQL statements like single row INSERT, UPDATE and simple SELECT operators. In such environment, use of advanced SQL engine (like PostgreSQL) is overkill.

  • no need to constantly run resource-hungry command “vacuum” for MySQL
  • MySQL is used as a primary development platform.

If you do use PostgreSQL, zabbix_suckerd will periodically (defined in HousekeepingFrequency) execute command vacuum analyze.

For more information about PostgreSQL see http://www.postgresql.org.

Time synchronisation

It is very important to have precise system date on server with ZABBIX running. timed is one of most popular daemons that synchronises the host’s time with the time of other machines.

Structure of ZABBIX distribution
  • doc
  • The directory contains this Manual in different formats
  • src
  • The directory contains sources for all ZABBIX processes except frontends.
  • src/zabbix_sucker
  • The directory contains Makefile and sources for zabbix_suckerd.
  • src/zabbix_agent
  • The directory contains Makefile and sources for zabbix_agent and zabbix_agentd.
  • src/zabbix_trapper
  • The directory contains Makefile and sources for zabbix_trapperd.
  • src/zabbix_sender
  • The directory contains Makefile and sources for zabbix_sender.
  • include
  • The directory contains include ZABBIX files.
  • misc
  • misc/init.d
  • The directory contains start-up scripts for different platforms.
  • misc/pinger
  • The directory contains scripts for ICMP pinging, pinger.pl.
  • frontends
  • frontends/php
  • The directory contains sources for PHP frontend.
  • create
  • The directory contains SQL script for initial database creation.
  • create/mysql
  • MySQL database schema.
  • create/postgresql
  • PostgreSQL database schema.
  • create/data
  • Data for initial database creation.
  • upgrades
  • The directory contains upgrade procedures for different versions of ZABBIX.