2 Debian/Ubuntu
This section provides the steps required for a successful upgrade from Zabbix 6.2.x to Zabbix 6.4.x using official Zabbix packages for Debian/Ubuntu.
Before the upgrade make sure to read the relevant upgrade notes!
You may also want to check the requirements for 6.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.
Upgrade procedure
1 Stop Zabbix processes
Stop Zabbix server to make sure that no new data is inserted into database.
# service zabbix-server stop
If upgrading Zabbix proxy, stop proxy too.
2 Back up the existing Zabbix 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 Zabbix binaries
Make a backup copy of Zabbix binaries, configuration files and the PHP file directory.
# mkdir /opt/zabbix-backup/ # cp /etc/zabbix/zabbix_server.conf /opt/zabbix-backup/ # cp /etc/apache2/conf-enabled/zabbix.conf /opt/zabbix-backup/
PHP files and Zabbix binaries:
# cp -R /usr/share/zabbix/ /opt/zabbix-backup/ # cp -R /usr/share/zabbix-* /opt/zabbix-backup/
4 Update repository configuration package
To proceed with the update your current repository package has to be uninstalled.
# rm -Rf /etc/apt/sources.list.d/zabbix.list
Then install the new repository configuration package.
On Debian 12 run:
# wget https://repo.zabbix.com/zabbix/6.4/debian/pool/main/z/zabbix-release/zabbix-release_6.4-1+debian12_all.deb # dpkg -i zabbix-release_6.4-1+debian12_all.deb
On Debian 11 run:
# wget https://repo.zabbix.com/zabbix/6.4/debian/pool/main/z/zabbix-release/zabbix-release_6.4-1+debian11_all.deb # dpkg -i zabbix-release_6.4-1+debian11_all.deb
On Debian 10 run:
# wget https://repo.zabbix.com/zabbix/6.4/debian/pool/main/z/zabbix-release/zabbix-release_6.4-1+debian10_all.deb # dpkg -i zabbix-release_6.4-1+debian10_all.deb
On Debian 9 run:
# wget https://repo.zabbix.com/zabbix/6.4/debian/pool/main/z/zabbix-release/zabbix-release_6.4-1+debian9_all.deb # dpkg -i zabbix-release_6.4-1+debian9_all.deb
On Ubuntu 22.04 run:
# wget https://repo.zabbix.com/zabbix/6.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.4-1+ubuntu22.04_all.deb # dpkg -i zabbix-release_6.4-1+ubuntu22.04_all.deb
On Ubuntu 20.04 run:
# wget https://repo.zabbix.com/zabbix/6.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.4-1+ubuntu20.04_all.deb # dpkg -i zabbix-release_6.4-1+ubuntu20.04_all.deb
On Ubuntu 18.04 run:
# wget https://repo.zabbix.com/zabbix/6.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.4-1+ubuntu18.04_all.deb # dpkg -i zabbix-release_6.4-1+ubuntu18.04_all.deb
On Ubuntu 16.04 run:
# wget https://repo.zabbix.com/zabbix/6.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.4-1+ubuntu16.04_all.deb # dpkg -i zabbix-release_6.4-1+ubuntu16.04_all.deb
On Ubuntu 14.04 run:
# wget https://repo.zabbix.com/zabbix/5.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.4-1+ubuntu14.04_all.deb # dpkg -i zabbix-release_6.4-1+ubuntu14.04_all.deb
Update the repository information.
5 Upgrade Zabbix components
To upgrade Zabbix components you may run something like:
# apt-get install --only-upgrade zabbix-server-mysql zabbix-frontend-php zabbix-agent
If using PostgreSQL, substitute mysql with pgsql in the command. If upgrading the proxy, substitute server with proxy in the command. If upgrading the Zabbix agent 2, substitute zabbix-agent with zabbix-agent2 in the command.
Then, to upgrade the web frontend with Apache correctly, also run:
# apt-get install zabbix-apache-conf
Distributions prior to Debian 10 (buster) / Ubuntu 18.04 (bionic) / Raspbian 10 (buster) do not provide PHP 7.2 or newer, which is required for Zabbix frontend 5.0. See information about installing Zabbix frontend on older distributions.
6 Review component configuration parameters
Make sure to review Upgrade notes to check if any changes in the configuration parameters are required.
For new optional parameters, see the What’s new page.
7 Start Zabbix processes
Start the updated Zabbix components.
# service zabbix-server start # service zabbix-proxy start # service zabbix-agent start # service zabbix-agent2 start
8 Clear web browser cookies and cache
After the upgrade you may need to clear web browser cookies and web browser cache for the Zabbix web interface to work properly.
Upgrade between minor versions
It is possible to upgrade minor versions of 6.4.x (for example, from 6.4.1 to 6.4.3). It is easy.
To upgrade Zabbix minor version please run:
$ sudo apt install --only-upgrade 'zabbix.*'
To upgrade Zabbix server minor version please run:
$ sudo apt install --only-upgrade 'zabbix-server.*'
To upgrade Zabbix agent minor version please run:
$ sudo apt install --only-upgrade 'zabbix-agent.*'
$ sudo apt install --only-upgrade 'zabbix-agent2.*'
1 Red Hat Enterprise Linux/CentOS
This section provides the steps required for a successful upgrade from Zabbix 4.4.x to Zabbix 5.0.x using official Zabbix packages for Red Hat Enterprise Linux/CentOS.
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 5.0 may take a long time.
Before the upgrade make sure to read the relevant upgrade notes!
RHEL/CentOS 7 users, be aware of PHP >= 7.2 version requirements when upgrading frontend!
Be sure to read relevant documentation!
The following upgrade notes are available:
Upgrade from | Read full upgrade notes | Most important changes between versions |
---|---|---|
4.4.x | For: Zabbix 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. |
4.2.x | For: Zabbix 4.4 Zabbix 5.0 | Jabber, Ez Texting media types removed. |
4.0.x LTS | For: Zabbix 4.2 Zabbix 4.4 Zabbix 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 Zabbix server. |
3.4.x | For: Zabbix 4.0 Zabbix 4.2 Zabbix 4.4 Zabbix 5.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 | 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 | Database upgrade may be slow, depending on the history table size. |
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.
Upgrade procedure
1 Stop Zabbix processes
Stop Zabbix server to make sure that no new data is inserted into database.
# systemctl stop zabbix-server
If upgrading the proxy, stop proxy too.
# systemctl stop zabbix-proxy
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 when upgrading to 5.0 (or later) from any version before 4.4, as the server will ignore data from unupgraded proxies.
2 Back up the existing Zabbix 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 Zabbix binaries
Make a backup copy of Zabbix binaries, configuration files and the PHP file directory.
# 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:
# cp -R /usr/share/zabbix/ /opt/zabbix-backup/ # cp -R /usr/share/doc/zabbix-* /opt/zabbix-backup/
4 Update repository configuration package
To proceed with the upgrade your current repository package has to be updated.
# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/9/x86_64/zabbix-release-5.0-3.el9.noarch.rpm
# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/8/x86_64/zabbix-release-5.0-1.el8.noarch.rpm
# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
5 Upgrade Zabbix components
To upgrade Zabbix components you may run something like:
# yum upgrade zabbix-server-mysql zabbix-web-mysql zabbix-agent
If using PostgreSQL, substitute mysql with pgsql in the command. If upgrading the proxy, substitute server with proxy in the command. If upgrading the agent 2, substitute zabbix-agent with zabbix-agent2 in the command.
To upgrade the web frontend with Apache on RHEL 8 correctly, also run:
# yum install zabbix-apache-conf
and make the following changes to the /etc/php-fpm.d/zabbix.conf file (uncomment and set the right timezone for you):
; php_value[date.timezone] = Europe/Riga
To upgrade the web frontend on RHEL 7 follow instructions on this page (extra steps are required to install PHP 7.2 or newer). In particular, make sure to install zabbix-apache-conf-scl package if you use Apache web server.
# yum install zabbix-apache-conf-scl
6 Review component configuration parameters
See the upgrade notes for details on mandatory changes.
7 Start Zabbix processes
Start the updated Zabbix components.
# systemctl start zabbix-server # systemctl start zabbix-proxy # systemctl start zabbix-agent # systemctl start zabbix-agent2
8 Clear web browser cookies and cache
After the upgrade you may need to clear web browser cookies and web browser cache for the Zabbix web interface to work properly.
Upgrade between minor versions
It is possible to upgrade between minor versions of 5.0.x (for example, from 5.0.1 to 5.0.3). Upgrading between minor versions is easy.
To execute Zabbix minor version upgrade it is required to run:
To execute Zabbix server minor version upgrade run:
$ sudo yum upgrade 'zabbix-server-*'
To execute Zabbix agent minor version upgrade run:
$ sudo yum upgrade 'zabbix-agent-*'
$ sudo yum upgrade 'zabbix-agent2-*'
Note that you may also use ‘update’ instead of ‘upgrade’ in these commands. While ‘upgrade’ will delete obsolete packages, ‘update’ will preserve them.