This section provides the steps required for a successful upgrade to Zabbix 3.4.
Direct upgrade to Zabbix 3.4 is possible from Zabbix 3.2.x, 3.0.x, 2.4.x, 2.2.x and 2.0.x. For upgrading from earlier versions consult Zabbix documentation for 2.0 and earlier.
While upgrading Zabbix agents is not mandatory (but recommended), Zabbix server and proxies must be of the same major version. Therefore, in a server-proxy setup, Zabbix server and all proxies have to be stopped and upgraded.
To minimize downtime and data loss during the upgrade, it is recommended to stop and upgrade Zabbix server and then stop, upgrade and start Zabbix proxies one after another. When all proxies are upgraded, start Zabbix server. During the Zabbix server downtime, running proxies will keep collecting and storing data and will pass the data to Zabbix server when the server is up and running. Any notifications for problems during Zabbix server downtime will be generated only after the upgraded server is started.
It is known to be possible to start the upgraded server and have older, yet unupgraded proxies report data to a newer server (the proxies can't refresh their configuration though). This approach, however, is not recommended and not supported by Zabbix and choosing it is entirely at your own risk.
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 3.4 may take a long time.
Before the upgrade from 3.2.x to 3.4:
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.
Stop Zabbix server to make sure that no new data is inserted into 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).
Make a backup copy of Zabbix binaries, configuration files and the PHP file directory.
Use these instructions to compile Zabbix server from sources.
See the upgrade notes for details on mandatory changes.
For new optional parameters, see the What's new section.
Start new binaries. Check log files to see if the binaries have started successfully.
Zabbix server will automatically upgrade the database. When starting up, Zabbix server reports the current (mandatory and optional) and required database versions. If the current mandatory version is older than the required version, Zabbix server automatically executes the required database upgrade patches. The start and progress level (percentage) of the database upgrade is written to the Zabbix 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, Zabbix server will not start. Zabbix server will also not start if the current mandatory database version is newer than the required one. Zabbix server will only start if the current mandatory database version corresponds to the required mandatory version.
Before you start the server:
The minimum required PHP version is 5.4.0. Update if needed and follow installation instructions.
After the upgrade you may need to clear web browser cookies and web browser cache for the Zabbix web interface to work properly.
Stop Zabbix proxy.
Make a backup copy of the Zabbix proxy binary and configuration file.
Use these instructions to compile Zabbix proxy from sources.
Start the new Zabbix proxy. Check log files to see if the proxy has started successfully.
Zabbix proxy will automatically upgrade the database. Database upgrade takes place similarly as when starting Zabbix server.
Upgrading agents is not mandatory. You only need to upgrade agents if it is required to access the new functionality.
Stop Zabbix agent.
Make a backup copy of the Zabbix agent binary and configuration file.
Use these instructions to compile Zabbix agent from sources.
Alternatively, you may download pre-compiled Zabbix agents from the Zabbix download page.
There are no mandatory changes in this version to agent parameters.
Start the new Zabbix agent. Check log files to see if the agent has started successfully.
When upgrading between minor versions of 3.4.x (for example from 3.4.1 to 3.4.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.