This section provides the steps required for a successful upgrade from Zabbix 5.4.x to the latest version of Zabbix 6.0.x using official Zabbix packages for Red Hat Enterprise Linux.
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. Keeping proxies running during server upgrade 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.
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 6.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 |
---|---|---|
5.4.x | For: Zabbix 6.0 |
Minimum required database versions upped; Server/proxy will not start if outdated database; Audit log records lost because of database structure change. |
5.2.x | For: Zabbix 5.4 Zabbix 6.0 |
Minimum required database versions upped; Aggregate items removed as a separate type. |
5.0.x LTS | For: Zabbix 5.2 Zabbix 5.4 Zabbix 6.0 |
Minimum required PHP version upped from 7.2.0 to 7.2.5. |
4.4.x | For: Zabbix 5.0 Zabbix 5.2 Zabbix 5.4 Zabbix 6.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 Zabbix PHP file directory. |
4.2.x | For: Zabbix 4.4 Zabbix 5.0 Zabbix 5.2 Zabbix 5.4 Zabbix 6.0 |
Jabber, Ez Texting media types removed. |
4.0.x LTS | For: Zabbix 4.2 Zabbix 4.4 Zabbix 5.0 Zabbix 5.2 Zabbix 5.4 Zabbix 6.0 |
Older proxies no longer can report data to an upgraded server; Newer agents no longer will be able to work with an older Zabbix server. |
3.4.x | For: Zabbix 4.0 Zabbix 4.2 Zabbix 4.4 Zabbix 5.0 Zabbix 5.2 Zabbix 5.4 Zabbix 6.0 |
'libpthread' and 'zlib' libraries now mandatory; Support for plain text protocol dropped and header is mandatory; Pre-1.4 version Zabbix agents are no longer supported; The Server parameter in passive proxy configuration now mandatory. |
3.2.x | For: Zabbix 3.4 Zabbix 4.0 Zabbix 4.2 Zabbix 4.4 Zabbix 5.0 Zabbix 5.2 Zabbix 5.4 Zabbix 6.0 |
SQLite support as backend database dropped for Zabbix server/frontend; Perl Compatible Regular Expressions (PCRE) supported instead of POSIX extended; 'libpcre' and 'libevent' libraries mandatory for Zabbix server; Exit code checks added for user parameters, remote commands and system.run[] items without the 'nowait' flag as well as Zabbix server executed scripts; Zabbix Java gateway has to be upgraded to support new functionality. |
3.0.x LTS | For: Zabbix 3.2 Zabbix 3.4 Zabbix 4.0 Zabbix 4.2 Zabbix 4.4 Zabbix 5.0 Zabbix 5.2 Zabbix 5.4 Zabbix 6.0 |
Database upgrade may be slow, depending on the history table size. |
2.4.x | For: Zabbix 3.0 Zabbix 3.2 Zabbix 3.4 Zabbix 4.0 Zabbix 4.2 Zabbix 4.4 Zabbix 5.0 Zabbix 5.2 Zabbix 5.4 Zabbix 6.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: Zabbix 2.4 Zabbix 3.0 Zabbix 3.2 Zabbix 3.4 Zabbix 4.0 Zabbix 4.2 Zabbix 4.4 Zabbix 5.0 Zabbix 5.2 Zabbix 5.4 Zabbix 6.0 |
Node-based distributed monitoring removed |
2.0.x | For: Zabbix 2.2 Zabbix 2.4 Zabbix 3.0 Zabbix 3.2 Zabbix 3.4 Zabbix 4.0 Zabbix 4.2 Zabbix 4.4 Zabbix 5.0 Zabbix 5.2 Zabbix 5.4 Zabbix 6.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 Zabbix 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 6.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.
For instructions on upgrading between Zabbix 6.0.x minor versions (for example, from 6.0.1 to 6.0.3), see Upgrade between minor versions.
Stop Zabbix server to make sure that no new data is inserted into database.
If upgrading Zabbix proxy, agent, or agent 2, stop these components too:
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 Zabbix, now is officially disabled, as the server will ignore data from unupgraded proxies.
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.
Configuration files:
mkdir /opt/zabbix-backup/
cp /etc/zabbix/zabbix_server.conf /opt/zabbix-backup/
cp /etc/httpd/conf.d/zabbix.conf /opt/zabbix-backup/
PHP files and Zabbix binaries:
Before proceeding with the upgrade, update your current repository package to the latest version to ensure compatibility with the newest packages and to include any recent security patches or bug fixes.
On RHEL 9, run:
On RHEL 8, run:
For older RHEL versions, replace the link above with the correct one from Zabbix repository. Note, however, that packages for those versions may not include all Zabbix components. For a list of components included, see Zabbix packages.
Then, clean up the dnf
package manager's cache (including headers, metadata, and package files downloaded during previous installations or updates):
On the next dnf
operation, dnf
will download fresh metadata from the repositories since the old metadata is cleared.
See also: Known issues for updating the repository configuration package on RHEL.
To upgrade Zabbix components you may run something like:
mysql
with pgsql
in the command.server
with proxy
in the command.zabbix-agent
with zabbix-agent2 zabbix-agent2-plugin-*
in the command.Upgrading Zabbix agent 2 with the dnf install zabbix-agent2
command could lead to an error. For more information, see Known issues.
To upgrade the web frontend with Apache correctly, also run:
Make sure to review Upgrade notes to check if any changes in the configuration parameters are required.
Start the updated Zabbix components.
systemctl start zabbix-server
systemctl start zabbix-proxy
systemctl start zabbix-agent
systemctl start zabbix-agent2
After the upgrade you may need to clear web browser cookies and web browser cache for the Zabbix web interface to work properly.
It is possible to upgrade between Zabbix 6.0.x minor versions (for example, from 6.0.1 to 6.0.3).
To upgrade Zabbix minor version, please run:
To upgrade Zabbix server minor version only, please run:
To upgrade Zabbix agent minor version only, please run:
or, for Zabbix agent 2: