This section provides the steps required for a successful upgrade from Zabbix 4.0.x to Zabbix 4.2.x using official Zabbix packages for Debian/Ubuntu.
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 4.2 may take a long time.
The following upgrade notes are available:
|Upgrade from||Read full upgrade notes||Important notes/changes between versions|
Zabbix For 4.2
|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
|'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
|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
|Database upgrade may be slow, depending on the history table size|
You may also want to check the requirements for 4.2.
tail -f zabbix_server.logor
tail -f zabbix_proxy.login 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.
# service zabbix-server stop
If upgrading Zabbix proxy, stop proxy too.
# service zabbix-proxy stop
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.
# 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/doc/zabbix-* /opt/zabbix-backup/
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 9 run:
# wget https://repo.zabbix.com/zabbix/4.2/debian/pool/main/z/zabbix-release/zabbix-release_4.2-1+stretch_all.deb # dpkg -i zabbix-release_4.2-1+stretch_all.deb
On Debian 8 run:
# wget https://repo.zabbix.com/zabbix/4.2/debian/pool/main/z/zabbix-release/zabbix-release_4.2-1+jessie_all.deb # dpkg -i zabbix-release_4.2-1+jessie_all.deb
On Ubuntu 18.04 run:
# wget https://repo.zabbix.com/zabbix/4.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.2-1+bionic_all.deb # dpkg -i zabbix-release_4.2-1+bionic_all.deb
On Ubuntu 16.04 run:
# wget https://repo.zabbix.com/zabbix/4.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.2-1+xenial_all.deb # dpkg -i zabbix-release_4.2-1+xenial_all.deb
On Ubuntu 14.04 run:
# wget https://repo.zabbix.com/zabbix/4.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.2-1+trusty_all.deb # dpkg -i zabbix-release_4.2-1+trusty_all.deb
Update the repository information.
# apt-get update
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
pgsql in the command. If upgrading the proxy, substitute
proxy in the command.
See the upgrade notes for details on mandatory changes.
For new optional parameters, see the What's new section.
Start the updated Zabbix components.
# service zabbix-server start # service zabbix-proxy start # service zabbix-agent start
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 minor versions of 4.2.x (for example, from 4.2.1 to 4.2.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.*'
The recommended way of adding Jabber notifications support to Zabbix server is rebuilding from source package.
$ sudo apt -y install dpkg-dev devscripts libiksemel-dev $ sudo apt-get -y build-dep zabbix $ mkdir /tmp/zabbix-server-build $ cd !$ $ apt-get source zabbix $ cd zabbix-* $ sed -i.bak -r 's/^(COMMON_CONFIG\s*=.*)\\/\1--with-jabber \\/' debian/rules $ debchange --rebuild "rebuild with Jabber notifications support" $ dpkg-buildpackage [...] dpkg-deb: building package 'zabbix-java-gateway' in '../zabbix-java-gateway_4.2.1-1+stretci_all.deb'. dpkg-deb: building package 'zabbix-proxy-pgsql' in '../zabbix-proxy-pgsql_4.2.1-1+stretci_amd64.deb'. dpkg-deb: building package 'zabbix-proxy-mysql' in '../zabbix-proxy-mysql_4.2.1-1+stretci_amd64.deb'. dpkg-deb: building package 'zabbix-proxy-sqlite3' in '../zabbix-proxy-sqlite3_4.2.1-1+stretci_amd64.deb'. dpkg-deb: building package 'zabbix-server-mysql' in '../zabbix-server-mysql_4.2.1-1+stretci_amd64.deb'. dpkg-deb: building package 'zabbix-server-pgsql' in '../zabbix-server-pgsql_4.2.1-1+stretci_amd64.deb'. dpkg-genbuildinfo dpkg-genchanges >../zabbix_4.2.1-1+stretci_amd64.changes dpkg-genchanges: info: not including original source code in upload dpkg-source --after-build zabbix-4.2.1 dpkg-source: info: using options from zabbix-4.2.1/debian/source/options: --extend-diff-ignore=\.(bat|exe)$ dpkg-buildpackage: info: binary and diff upload (original source NOT included) $ sudo dpkg -i ../zabbix-server-mysql_*.deb (Reading database ... 44692 files and directories currently installed.) Preparing to unpack .../zabbix-server-mysql_4.2.1-1+stretci_amd64.deb ... Unpacking zabbix-server-mysql (1:4.2.1-1+stretci) over (1:4.2.1-1+stretch) ... Setting up zabbix-server-mysql (1:4.2.1-1+stretci) ...