10 Upgrade notes for 6.4.0
These notes are for upgrading from Zabbix 6.2.x to Zabbix 6.4.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 6.4.0 from versions before Zabbix 6.2.0. See the upgrade procedure section for all relevant information about upgrading from previous Zabbix versions.
See also upgrade instructions for servers in a high-availability (HA) cluster.
Critical
To complete successful Zabbix server upgrade on MySQL and MariaDB, you may require to set GLOBAL log_bin_trust_function_creators = 1
in MySQL if binary logging is enabled, there are no superuser privileges and log_bin_trust_function_creators = 1
is not set in MySQL configuration file.
To set the variable using the MySQL console, run:
mysql> SET GLOBAL log_bin_trust_function_creators = 1;
Once the upgrade has been successfully completed, log_bin_trust_function_creators
can be disabled:
mysql> SET GLOBAL log_bin_trust_function_creators = 0;
MySQL version
MySQL versions below 8.0.30 are no longer supported. The minimum required MySQL version has been raised from 8.0.0 to 8.0.30.
libssh version
The minimum required libssh version has been raised from 0.6.0 to 0.9.0.
SLES versions
For SUSE Linux Enterprise Server (SLES) 15 the minimum supported service pack version is now SP4.
SLES 12 with SP4 and newer are also still supported, but due to the older libssh library, support for the SSH checks for this OS version has been discontinued.
Optimized proxy configuration update
Incremental update of the proxy configuration has been introduced in the new version.
As a result the ConfigFrequency parameter for active proxies is now deprecated; instead the ProxyConfigFrequency parameter must be used on both server (for passive proxies) and proxy (for active proxies). Note that if both ProxyConfigFrequency and ConfigFrequency are used, the proxy will log an error and terminate.
The default value of ProxyConfigFrequency has been lowered from 3600 to 10 seconds. Also, the default value of CacheUpdateFrequency on the server has been lowered from 60 to 10 seconds.
The server now uses the configuration cache to track proxy configuration changes using revision numbers, so the amount of cached data will increase and it might be necessary to increase the configuration cache size.
Note that the server configuration must be synced before any changes are synced to proxy. So if a user makes some changes and wants them to be synced to the proxy - the server configuration cache must be reloaded first.
Informational
Automated database upgrade on proxies with SQLite
Upon the first launch after an upgrade, Zabbix proxy with SQLite3 now automatically dumps the existing older version of the database file and creates a new one for the current version. History data that has been stored in the SQLite database file is not preserved. Previously, the SQLite database file had to be recreated manually.
If Zabbix proxy version is older than the database file version, the proxy will log an error and terminate.
CSRF tokens
For enhanced security against CSRF (Cross Site Request Forgery) attacks, Zabbix frontend now uses randomly generated CSRF tokens instead of static session-based tokens. If your installation uses an IDS/IPS that checks for specific token names, it may be necessary to update its configuration to recognize the new token name, _csrf_token
, in order to avoid false positive detections.
Thread-based preprocessing workers
As the item value preprocessing has been rewritten to use thead-based preprocessing workers, a new library is now required for Zabbix server/proxy - libevent_pthreads
.
Non-mandatory fields in user configuration
The user group and user role fields are no longer mandatory in user configuration. However, if an internal Zabbix user is created without a user role, the user will not be able to log into Zabbix, using internal authentication.
Instant refresh of active checks
Previously, Zabbix agent (in active mode) received from Zabbix server or Zabbix proxy a full copy of the configuration once every two minutes (default). By introducing incremental configuration sync, full configuration is no longer sent when there are no changes to host or global regular expressions, thus the default sync interval has been reduced to 5 seconds.
‘RefreshActiveChecks’ parameter supported in Zabbix agent configuration file default value is changed to 5 seconds (previously 120). This can make connections more frequent and increase network usage especially if encryption is used.
JSON protocol for active agent checks has been updated to include config_revision
and session
ID. For more information, see Passive and active agent checks.
User macros also affect the incremental configuration sync. It is advisable to use host macros instead of global macros because adding, updating or deleting global macros forces incremental configuration update for all hosts.
Heartbeats support is deprecated
Starting from Zabbix 6.4 heartbeat sender is removed from the proxy, and therefore, Zabbix proxy item zabbix [process,heartbeat sender] is not supported and is removed from templates. HeartbeatFrequency parameter has been deprecated.
Autoregistration heartbeat for Zabbix server
The active agent autoregistration heartbeat for Zabbix server has been set to 120 seconds (the same as for Zabbix proxy). So in case a discovered host is deleted, the autoregistration will be rerun in 120 seconds.
Old numeric (float) value type is deprecated
Since Zabbix 5.0, numeric (float) data type has been switched to the new format to support precision of approximately 15 digits and extended value range from approximately -1.79E+308 to 1.79E+308. Now the old numeric type, which has been disabled, but remained supported, is deprecated and will be removed in an upcoming version.
If your installation is not upgraded to the numeric values of extended range, System information in the frontend will display a warning: “Database history tables upgraded: No. Support for the old numeric type is deprecated. Please upgrade to numeric values of extended range”. In this case, see instructions for enabling the extended range of numeric values.
Template versioning
To improve management and upgrade of templates, template versioning has been introduced.
In Data collection → Templates you can now see the template vendor and version, as well as filter templates by vendor and/or version.
Importing updated templates
Please note that templates must be upgraded manually if you are upgrading from previous versions. This can be done by importing the updated templates. You can find the updated templates in the zabbix/templates directory of the downloaded latest Zabbix version. While in Data collection → Templates you can import them from this directory.
It is also possible to download templates from Zabbix git repository directly.
Exporting templates
When exporting templates, note that the element tag date
is removed from the export result.
Updating custom template vendor and version
For existing custom templates, template vendor and version can also be modified through the Template API.