- 10 Upgrade notes for 5.0.0
- Critical
- Minimum required PHP version
- Support of IBM DB2 dropped
- Support of Internet Explorer 11 dropped
- Support of mbedTLS (PolarSSL) crypto library dropped
- Minimum required database versions
- Upgrade with MariaDB 10.2.1 and before
- Enabling extended range of numeric (float) values
- Non-root permissions implemented for Docker images
- Informational
- SNMP credentials at host interface level
- Changed Zabbix PHP file directory
- Changed acknowledgment screen URL
- No data triggers sensitive to proxy availability
- Fullscreen mode replaced by hiding menu
- Option for dropdown first entry removed
- Configuration parameters
- Item key limit
- Minimum Net-SNMP version
- Redis plugin update
- Supported Elasticsearch versions changed
10 Upgrade notes for 5.0.0
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 functionality
It 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.
Critical
Minimum required PHP version
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.
Support of IBM DB2 dropped
The IBM DB2 database can no longer be used as a back-end database for Zabbix.
Support of Internet Explorer 11 dropped
Microsoft Internet Explorer 11 is no longer supported by Zabbix.
Support of mbedTLS (PolarSSL) crypto library dropped
mbedTLS (PolarSSL) crypto library is no longer supported by Zabbix. Supported crypto libraries are GnuTLS and OpenSSL.
Minimum required database versions
Minimum database versions required for Zabbix 5.0.0 have been upped to:
MySQL 5.5.62
MariaDB 10.0.37
PostgreSQL 9.2.24
Oracle 11.2
Upgrade with MariaDB 10.2.1 and before
Upgrading Zabbix may fail if database tables were created with MariaDB 10.2.1 and before, 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).
Enabling extended range of numeric (float) values
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.
Please execute the appropriate patch (SQL file) for your database:
database/mysql/double.sql
database/postgresql/double.sql
database/oracle/double.sql
Note that when upgrading using packages, 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.
Non-root permissions implemented for Docker images
Zabbix Docker images have been updated to implement non-root container best practices. Due to the change:
All directories have been restricted for the container user, except directories which are required for the container. For example, /etc/zabbix/ with Zabbix component configuration files.
Ports 80 and 443 have been changed to 8080 and 8443, because usage of all ports <1024 is restricted for non-privileged users. Zabbix web interface images have been updated to use non-privileged ports 8080, 8443; Zabbix snmptrap images port 1162.
All Zabbix images are updated to use a non-privileged user. By default, ‘zabbix’ with UID 1997.
A known issue: Nginx based images do not run under root. Will be fixed soon.
Informational
SNMP credentials at host interface level
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:
1 SNMP interface with 1 SNMP v1 item and 1 SNMP v2 item
after the upgrade there will be 2 SNMP interfaces:
1 SNMPv1 interface with 1 SNMP v1 item
1 SNMPv2 interface with 1 SNMP v2 item
If there were 2 identical SNMPv3 items with different passwords before the upgrade:
1 SNMP interface with 1 SNMP v3 item with password="alpha" and 1 SNMP v3 item with password="beta"
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"
Changed Zabbix PHP file directory
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.
Changed acknowledgment screen URL
URL parameters of the problem update (acknowledgment) screen have changed. For example, if previously the page parameters were:
?action=acknowledge.edit&eventids[]=100
in the new version they are:
?action=popup&popup_action=acknowledge.edit&eventids[]=100
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 sensitive to proxy availability
No data triggers are now, by default, sensitive to proxy availability.
Fullscreen mode replaced by hiding menu
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.
Option for dropdown first entry removed
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.
Configuration parameters
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:
Set EnableRemoteCommands=1
Remove or comment out DenyKey=system.run[*]
In this case remote commands will be allowed without restrictions. To create restrictions, use a combination of AllowKey and DenyKey parameters.
Item key limit
The maximum allowed length of an item key has been raised from 256 to 2048 characters.
Minimum Net-SNMP version
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.
Redis plugin update
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.
Supported Elasticsearch versions changed
Elasticsearch version 7.X is now supported. Support of the older versions has been dropped.