These notes are for upgrading from Zabbix 4.4.x to Zabbix 5.0.0. All notes are grouped into:
Critical
- the most critical information related to the upgrade process and the changes in Zabbix functionalityInformational
- all remaining information describing the changes in Zabbix functionalityIt is possible to upgrade to Zabbix 5.0.0 from versions before Zabbix 4.4.0. See the upgrade procedure section for all relevant information about upgrading from previous Zabbix versions.
The minimum required PHP version has been upped to 7.2.0 from 5.4.0.
This change also affects the ability to install Zabbix frontend from packages in some distributions. See detailed instructions for installing Zabbix frontend from packages on RHEL/CentOS 7 and the affected Debian/Ubuntu versions.
The IBM DB2 database can no longer be used as a back-end database for Zabbix.
Microsoft Internet Explorer 11 is no longer supported by Zabbix.
mbedTLS (PolarSSL) crypto library is no longer supported by Zabbix. Supported crypto libraries are GnuTLS and OpenSSL.
Minimum database versions required for Zabbix 5.0.0 have been upped to:
Upgrading Zabbix may fail if database tables were created with older DB versions (MySQL versions prior to 5.7 or MariaDB versions prior to 10.2.2), because in those versions the default row format is compact.
This can be fixed by changing the row format to dynamic. See also ZBX-17690 (MariaDB) and ZBX-20165 (MySQL).
Numeric (float) data type now supports precision of approximately 15 digits and range from approximately -1.79E+308 to 1.79E+308 (with exception of PostgreSQL 11 and earlier versions). This is by default for new installations. However, when upgrading existing installations, a manual database upgrade patch must be applied.
If you do not apply the patch, System information in the frontend will display: "Database history tables upgraded: No".
The patch will alter data columns of history and trends tables, which usually contain lots of data, therefore it is expected to take some time to complete. Since the exact estimate depends on server performance, database management system configuration and version, and it cannot be predicted, it is recommended to first test the patch outside the production environment, even though with MySQL 8.0 and MariaDB 10.5 configured by default the patch is known to be executed instantly for large tables due to efficient algorithm and the fact that previously the same double type was used but with limited precision, meaning that data itself does not need to be modified.
Please execute the appropriate patch (SQL file) for your database; you may find these scripts in the Zabbix Git repository for:
Important!
* Run these scripts for the server database only.
* Make sure Zabbix server is stopped before running these scripts. Start the server afterwards.
Note that with TimescaleDB the compression support must only be turned on after applying this patch.
After upgrading database tables, please also set or update $DB['DOUBLE_IEEE754'] value to true in /ui/conf/zabbix.conf.php.
Zabbix Docker images have been updated to implement non-root container best practices. Due to the change:
A known issue: Nginx based images do not run under root. Will be fixed soon.
See the list of API changes in Zabbix 5.0.0.
Setting SNMP interface credentials has been moved from item level to host interface level. There is an automatic upgrade procedure that moves existing SNMP items to their appropriate interfaces. So, for example, if before upgrade there was:
after the upgrade there will be 2 SNMP interfaces:
If there were 2 identical SNMPv3 items with different passwords before the upgrade:
after the upgrade there will be 2 SNMP interfaces:
1 SNMPv3 interface with 1 SNMP v3 item with password="alpha"
1 SNMPv3 interface with 1 SNMP v3 item with password="beta"
The downloaded Zabbix frontend PHP files are now located in the ui directory instead of frontends/php. This is relevant when using Zabbix sources for the installation.
URL parameters of the problem update (acknowledgment) screen have changed. For example, if previously the page parameters were:
in the new version they are:
In a related development, when successfully updating a problem from a dashboard widget, only the widget gets reloaded, not the whole page. So the content of another widget displaying the same problem will remain unchanged until the next scheduled widget refresh or complete page refresh.
No data triggers are now, by default, sensitive to proxy availability.
The fullscreen mode has been removed from the Monitoring sections of the frontend. Frontend URLs containing 'fullscreen' will work no more. The same effect (showing only page title and content) now can be achieved by hiding the new vertical menu. The kiosk mode (page content only, no page title at all) remains.
The screen for configuring frontend defaults no longer has a Dropdown first entry option, because dropdowns for host group and host selection have been replaced with multiselect fields in the frontend.
EnableRemoteCommands agent parameter is still supported (it may get deprecated and removed in the future) alongside the new DenyKey/AllowKey parameters. When upgrading existing agents, remote commands will not be allowed unless you:
In this case remote commands will be allowed without restrictions. To create restrictions, use a combination of AllowKey and DenyKey parameters.
The maximum allowed length of an item key has been raised from 256 to 2048 characters.
It is now possible to manually clear the SNMP cache on Zabbix server and proxy. Due to adding a new runtime control option, Net-SNMP version 5.3.0 or higher is now required for SNMP support.
Configuration parameter Plugins.Redis.Password
was removed and an opportunity to pass a password as a key parameter has now been added. See Redis plugin for details.
Elasticsearch version 7.X is now supported. Support of the older versions has been dropped.