This is the documentation page for an unsupported version of Zabbix.
Is this not what you were looking for? Switch to the current version or choose one from the drop-down menu.

9 Upgrade notes for 4.2.0

These notes are for upgrading from Zabbix 4.0.x to Zabbix 4.2.0. All notes are grouped into:

  • Critical - the most critical information related to the upgrade process and the changes in Zabbix functionality
  • Informational - all remaining information describing the changes in Zabbix functionality

It is possible to upgrade to Zabbix 4.2.0 from versions before Zabbix 4.0.0. See the upgrade procedure section for all relevant information about upgrading from previous Zabbix versions.


Preprocessing support on Zabbix proxy

For hosts monitored by proxies, all item (including low-level discovery rules, dependent items) value preprocessing will now be done on the proxy.

Given new preprocessing options such as Javascript, extensive validation and throttling options, preprocessing may become a server bottleneck thus preprocessing by proxies offers the necessary scalability. Note that since this is not a configurable setting the affected proxies will require more resources after the upgrade, especially if heavier preprocessing is involved.

Because of this change, keeping proxies running during the server upgrade process will bring no 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.

It is also no longer possible to use the officially unsupported possibility to start the upgraded server and have older, yet unupgraded proxies report data to a newer server. This approach now is officially disabled when upgrading to 4.2 (or later) from any version before 4.2, as the server will ignore data from unupgraded proxies.

Low-level discovery rules

In order to support discovery item value preprocessing and custom paths to low-level discovery (LLD) macro values in a JSON document, the format of the JSON returned by low-level discovery rules has been changed: it is no longer expected that the JSON will contain the "data" object. Instead, low-level discovery will now accept a normal JSON containing an array.

While the "data" element has been removed from all native items related to discovery, for backward compatibility Zabbix will still accept the JSON notation with a "data" element, though its use is discouraged. If the JSON contains an object with only one "data" array element, then it will automatically extract the content of the element using JSONPath $.data.

As a result of the changes above, newer agents no longer will be able to work with an older Zabbix server.

Requirement changes

PHP GD library minimum version has been upped from 2.0 to 2.0.28 to support animated GIFs in maps.


Low-level discovery processing

Processing low-level discovery has been split from data gathering processes into its own processing. Due to this, depending on how heavy low-level discovery is in your environment, you may:

  • Need to increase the default number of the new LLD processors (StartLLDProcessors server parameter, 2 by default)
  • Consider decreasing the number of pollers, trappers and proxypollers (if they were heavily loaded with LLD processing before)

The new zabbix[lld_queue] internal item can be used to monitor if the default number of StartLLDProcessors is enough.

Deprecated API features removed

Several API features that have been deprecated since Zabbix 3.4, are now completely removed:

  • ​httptest.create,​ ​httptest.update methods:​ support of string format for '​headers'​ and '​variables'​ fields in both web scenario and web scenario step objects has been dropped;
  • ​map.create,​ ​map.update methods:​ support of '​elementid' in map element object has been dropped.

As the global search page has been moved to MVC, its URL has changed from https://localhost/zabbix/search.php?search=Zabbix to https://localhost/zabbix/zabbix.php?action=search&search=Zabbix.

Host sorting in host group map element

Host sorting if the 'Host group' map option is selected, is now done non-casesensitively.

Zabbix sender messages

Zabbix sender response messages have been changed from:

info from server: "processed: 100; failed: 0; total: 100; seconds spent: 0.013683"
       sent:100; skipped: 0; total: 100


Response from "": "processed: 100; failed: 0; total: 100; seconds spent: 0.000247"
       sent: 100; skipped: 0; total: 100

or, when sent to multiple servers:

Response from "": "processed: 100; failed: 0; total: 100; seconds spent: 0.000247"
       Response from "": "processed: 100; failed: 0; total: 100; seconds spent: 0.000391"
       Response from "localhost:10053": "processed: 100; failed: 0; total: 100; seconds spent: 0.000086"
       sent: 100; skipped: 0; total: 100

See also