Áú»¢¶Ä²©

Upgrade from sources

Overview

This section provides the steps required for a successful upgrade from Áú»¢¶Ä²© 4.4.x to Áú»¢¶Ä²© 5.0.x using official Áú»¢¶Ä²© sources.

While upgrading Áú»¢¶Ä²© agents is not mandatory (but recommended), Áú»¢¶Ä²© server and proxies must be of the same major version. Therefore, in a server-proxy setup, Áú»¢¶Ä²© server and all proxies have to be stopped and upgraded. Keeping proxies running no longer will bring any benefit as during proxy upgrade their old data will be discarded and no new data will be gathered until proxy configuration is synced with server.

It is no longer possible to start the upgraded server and have older and unupgraded proxies report data to a newer server. This approach, which was never recommended nor supported by Áú»¢¶Ä²©, now is officially disabled when upgrading to 5.0 (or later) from any version before 5.0, as the server will ignore data from unupgraded proxies.

Note that with SQLite database on proxies, history data from proxies before the upgrade will be lost, because SQLite database upgrade is not supported and the SQLite database file has to be manually removed. When proxy is started for the first time and the SQLite database file is missing, proxy creates it automatically.

Depending on database size the database upgrade to version 5.0 may take a long time.

Before the upgrade make sure to read the relevant upgrade notes!

The following upgrade notes are available:

Upgrade from Read full upgrade notes Most important changes between versions
4.4.x For:
Áú»¢¶Ä²© 5.0
Support of IBM DB2 dropped;
Minimum required PHP version upped from 5.4.0 to 7.2.0;
Minimum required database versions upped;
Changed Áú»¢¶Ä²© PHP file directory.
4.2.x For:
Áú»¢¶Ä²© 4.4
Áú»¢¶Ä²© 5.0
Jabber, Ez Texting media types removed.
4.0.x LTS For:
Áú»¢¶Ä²© 4.2
Áú»¢¶Ä²© 4.4
Áú»¢¶Ä²© 5.0
Older proxies no longer can report data to an upgraded server;
Newer agents no longer will be able to work with an older Áú»¢¶Ä²© server.
3.4.x For:
Áú»¢¶Ä²© 4.0
Áú»¢¶Ä²© 4.2
Áú»¢¶Ä²© 4.4
Áú»¢¶Ä²© 5.0
'libpthread' and 'zlib' libraries now mandatory;
Support for plain text protocol dropped and header is mandatory;
Pre-1.4 version Áú»¢¶Ä²© agents are no longer supported;
The Server parameter in passive proxy configuration now mandatory.
3.2.x For:
Áú»¢¶Ä²© 3.4
Áú»¢¶Ä²© 4.0
Áú»¢¶Ä²© 4.2
Áú»¢¶Ä²© 4.4
Áú»¢¶Ä²© 5.0
SQLite support as backend database dropped for Áú»¢¶Ä²© server/frontend;
Perl Compatible Regular Expressions (PCRE) supported instead of POSIX extended;
'libpcre' and 'libevent' libraries mandatory for Áú»¢¶Ä²© server;
Exit code checks added for user parameters, remote commands and system.run[] items without the 'nowait' flag as well as Áú»¢¶Ä²© server executed scripts;
Áú»¢¶Ä²© Java gateway has to be upgraded to support new functionality.
3.0.x LTS For:
Áú»¢¶Ä²© 3.2
Áú»¢¶Ä²© 3.4
Áú»¢¶Ä²© 4.0
Áú»¢¶Ä²© 4.2
Áú»¢¶Ä²© 4.4
Áú»¢¶Ä²© 5.0
Database upgrade may be slow, depending on the history table size.
2.4.x For:
Áú»¢¶Ä²© 3.0
Áú»¢¶Ä²© 3.2
Áú»¢¶Ä²© 3.4
Áú»¢¶Ä²© 4.0
Áú»¢¶Ä²© 4.2
Áú»¢¶Ä²© 4.4
Áú»¢¶Ä²© 5.0
Minimum required PHP version upped from 5.3.0 to 5.4.0
LogFile agent parameter must be specified
2.2.x LTS For:
Áú»¢¶Ä²© 2.4
Áú»¢¶Ä²© 3.0
Áú»¢¶Ä²© 3.2
Áú»¢¶Ä²© 3.4
Áú»¢¶Ä²© 4.0
Áú»¢¶Ä²© 4.2
Áú»¢¶Ä²© 4.4
Áú»¢¶Ä²© 5.0
Node-based distributed monitoring removed
2.0.x For:
Áú»¢¶Ä²© 2.2
Áú»¢¶Ä²© 2.4
Áú»¢¶Ä²© 3.0
Áú»¢¶Ä²© 3.2
Áú»¢¶Ä²© 3.4
Áú»¢¶Ä²© 4.0
Áú»¢¶Ä²© 4.2
Áú»¢¶Ä²© 4.4
Áú»¢¶Ä²© 5.0
Minimum required PHP version upped from 5.1.6 to 5.3.0;
Case-sensitive MySQL database required for proper server work; character set utf8 and utf8_bin collation is required for Áú»¢¶Ä²© server to work properly with MySQL database. See database creation scripts.
'mysqli' PHP extension required instead of 'mysql'

You may also want to check the requirements for 5.0.

It may be handy to run two parallel SSH sessions during the upgrade, executing the upgrade steps in one and monitoring the server/proxy logs in another. For example, run tail -f zabbix_server.log or tail -f zabbix_proxy.log in the second SSH session showing you the latest log file entries and possible errors in real time. This can be critical for production instances.

Server upgrade process

1 Stop server

Stop Áú»¢¶Ä²© server to make sure that no new data is inserted into database.

2 Back up the existing Áú»¢¶Ä²© database

This is a very important step. Make sure that you have a backup of your database. It will help if the upgrade procedure fails (lack of disk space, power off, any unexpected problem).

3 Back up configuration files, PHP files and Áú»¢¶Ä²© binaries

Make a backup copy of Áú»¢¶Ä²© binaries, configuration files and the PHP file directory.

4 Install new server binaries

Use these instructions to compile Áú»¢¶Ä²© server from sources.

5 Review server configuration parameters

See the upgrade notes for details on mandatory changes.

For new optional parameters, see the What's new section.

6 Start new Áú»¢¶Ä²© binaries

Start new binaries. Check log files to see if the binaries have started successfully.

Áú»¢¶Ä²© server will automatically upgrade the database. When starting up, Áú»¢¶Ä²© server reports the current (mandatory and optional) and required database versions. If the current mandatory version is older than the required version, Áú»¢¶Ä²© server automatically executes the required database upgrade patches. The start and progress level (percentage) of the database upgrade is written to the Áú»¢¶Ä²© server log file. When the upgrade is completed, a "database upgrade fully completed" message is written to the log file. If any of the upgrade patches fail, Áú»¢¶Ä²© server will not start. Áú»¢¶Ä²© server will also not start if the current mandatory database version is newer than the required one. Áú»¢¶Ä²© server will only start if the current mandatory database version corresponds to the required mandatory version.

8673:20161117:104750.259 current database version (mandatory/optional): 03040000/03040000
       8673:20161117:104750.259 required mandatory version: 03040000

Before you start the server:

  • Make sure the database user has enough permissions (create table, drop table, create index, drop index)
  • Make sure you have enough free disk space.
7 Install new Áú»¢¶Ä²© web interface

The minimum required PHP version is 7.2.0. Update if needed and follow installation instructions.

8 Clear web browser cookies and cache

After the upgrade you may need to clear web browser cookies and web browser cache for the Áú»¢¶Ä²© web interface to work properly.

Proxy upgrade process

1 Stop proxy

Stop Áú»¢¶Ä²© proxy.

2 Back up configuration files and Áú»¢¶Ä²© proxy binaries

Make a backup copy of the Áú»¢¶Ä²© proxy binary and configuration file.

3 Install new proxy binaries

Use these instructions to compile Áú»¢¶Ä²© proxy from sources.

4 Review proxy configuration parameters

There are no mandatory changes in this version to proxy parameters. For new optional parameters, see the What's new section.

5 Start new Áú»¢¶Ä²© proxy

Start the new Áú»¢¶Ä²© proxy. Check log files to see if the proxy has started successfully.

Áú»¢¶Ä²© proxy will automatically upgrade the database. Database upgrade takes place similarly as when starting Áú»¢¶Ä²© server.

Agent upgrade process

Upgrading agents is not mandatory. You only need to upgrade agents if it is required to access the new functionality.

The upgrade procedure described in this section may be used for upgrading both the Áú»¢¶Ä²© agent and the Áú»¢¶Ä²© agent 2.

1 Stop agent

Stop Áú»¢¶Ä²© agent.

2 Back up configuration files and Áú»¢¶Ä²© agent binaries

Make a backup copy of the Áú»¢¶Ä²© agent binary and configuration file.

3 Install new agent binaries

Use these instructions to compile Áú»¢¶Ä²© agent from sources.

Alternatively, you may download pre-compiled Áú»¢¶Ä²© agents from the .

4 Review agent configuration parameters

There are no mandatory changes in this version neither to agent nor to agent 2 parameters.

5 Start new Áú»¢¶Ä²© agent

Start the new Áú»¢¶Ä²© agent. Check log files to see if the agent has started successfully.

Upgrade between minor versions

When upgrading between minor versions of 5.0.x (for example from 5.0.1 to 5.0.3) it is required to execute the same actions for server/proxy/agent as during the upgrade between major versions. The only difference is that when upgrading between minor versions no changes to the database are made.