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 5.0 is supported as well.
- PHP GD or GD2 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_server 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.
|