Zabbix Documentation 4.0

3.04.04.4 (current)| In development:5.0 (devel)| Unsupported:1.82.02.22.43.23.44.2Guidelines

User Tools

Site Tools


manual:installation:upgrade_notes_400

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
manual:installation:upgrade_notes_400 [2018/09/25 08:08]
martins-v some rewording
manual:installation:upgrade_notes_400 [2019/07/19 08:13] (current)
martins-v some rewording
Line 1: Line 1:
 ==== 9 Upgrade notes for 4.0.0 ==== ==== 9 Upgrade notes for 4.0.0 ====
- 
-<note important>​Zabbix 4.0.0 is not released yet.</​note>​ 
  
 These notes are for upgrading from Zabbix 3.4.x to Zabbix 4.0.0. All notes are grouped into: These notes are for upgrading from Zabbix 3.4.x to Zabbix 4.0.0. All notes are grouped into:
Line 16: Line 14:
   * libpthread - the POSIX Threads library is now mandatory when compiling Zabbix server and Zabbix proxy. It is required for process-shared mutexes and read-write locks. If mutexes are available, but cannot be process shared then Zabbix will fall back to using semaphores as before the upgrade.   * libpthread - the POSIX Threads library is now mandatory when compiling Zabbix server and Zabbix proxy. It is required for process-shared mutexes and read-write locks. If mutexes are available, but cannot be process shared then Zabbix will fall back to using semaphores as before the upgrade.
   * zlib - the compression library is now mandatory when compiling Zabbix server and Zabbix proxy.   * zlib - the compression library is now mandatory when compiling Zabbix server and Zabbix proxy.
 +
 +=== Compression for server-proxy communication ===
 +
 +Communication between Zabbix server and Zabbix proxies is now using compression to reduce network load and increase performance on low bandwidth network links.
 +
 +Note that the [[:​manual/​appendix/​protocols/​header_datalen|header]] of Zabbix requests/​responses has been changed as part of this development.
 +
 +<note warning>​If you are using network security devices like [[https://​en.wikipedia.org/​wiki/​Intrusion_detection_system|IDS/​IPS]] or [[https://​en.wikipedia.org/​wiki/​Next-generation_firewall|NGFW]] in your network and you are using Zabbix proxies, please make sure your application definitions are up to date for the new Zabbix proxy protocol prior to upgrading to 4.0.x as there have been reports on these devices dropping the traffic when encountering the compression in the network stream. Please contact your security vendor for more information on how to obtain updated definitions or possible workarounds if you run into this problem.</​note>​
  
 === Server parameter for passive proxies mandatory === === Server parameter for passive proxies mandatory ===
Line 26: Line 32:
  
 As a consequence,​ Zabbix agents that are older than version 1.4 are no longer supported. Also, messages from self-written senders will be rejected if the header is absent. Whereas previously Zabbix trappers would accept messages without headers as well as messages with headers, now they will only accept messages with protocol header. As a consequence,​ Zabbix agents that are older than version 1.4 are no longer supported. Also, messages from self-written senders will be rejected if the header is absent. Whereas previously Zabbix trappers would accept messages without headers as well as messages with headers, now they will only accept messages with protocol header.
 +
 +Requests from an older Zabbix get version to the new agent will fail. Note that in this case the following error message is displayed:
 +
 +  Check access restrictions in Zabbix agent configuration
  
 === Loadable modules === === Loadable modules ===
Line 55: Line 65:
 During the upgrade, parameter values of the **logsource** trigger [[:​manual/​appendix/​triggers/​functions|function]] will be converted to work with added support of regular expressions and global regular expressions. There can be cases when existing parameters contain an extensive amount of regular expression special characters or their length is close to the maximum allowed limit and during conversion will exceed that maximum allowed length limit which is 255 characters. In such cases no changes will be made to those parameters and details about all these cases will be added to the log file. If there are issues with trigger performance because of this, the parameters that were not changed have to be edited manually. During the upgrade, parameter values of the **logsource** trigger [[:​manual/​appendix/​triggers/​functions|function]] will be converted to work with added support of regular expressions and global regular expressions. There can be cases when existing parameters contain an extensive amount of regular expression special characters or their length is close to the maximum allowed limit and during conversion will exceed that maximum allowed length limit which is 255 characters. In such cases no changes will be made to those parameters and details about all these cases will be added to the log file. If there are issues with trigger performance because of this, the parameters that were not changed have to be edited manually.
  
 +=== HTTP authentication ===
 +
 +When default system authentication was previously set to 'HTTP authentication'​ during the upgrade it will be changed to '​Internal'​ with 'HTTP Authentication'​ enabled by default. For such configuration it is required to clear existing user default password values in the database executing the following query:
 +
 +  UPDATE users SET passwd=""​ WHERE passwd=md5('​zabbix'​)
 +
 +== API related changes ==
 +
 +HTTP basic-authentication specific code was removed from API, therefore the ''​password''​ field is now mandatory for the API ''​user.login''​ action.
 ==== Informational ==== ==== Informational ====
  
-=== Macros ​in item name deprecated ​===+=== Deprecated macros ​in item names === 
 + 
 +Using positional ($1, $2, ...$9) and user macros in [[:​manual/​config/​items/​item#​configuration|item]] and [[:​manual/​discovery/​low_level_discovery#​item_prototypes|item prototype]] names is now deprecated. As a consequence,​ positional macros have been removed from item names and item prototype names in the standard templates shipped with Zabbix 4.0. 
 + 
 +If you keep using positional macros, you will encounter the following difficulties when using the new [[:​manual/​web_interface/​frontend_sections/​monitoring/​dashboard/​widgets#​graph|graph]] widget: 
 + 
 +  * It will not be possible to add any of the items named like ''​CPU $2 time''​ individually to the graph, using its resolved name (like ''​CPU user time''​) 
 +  * It will only be possible to add all items having the name like ''​CPU $2 time''​ to the graph (e.g. ''​CPU user time'',​ ''​CPU system time'',​ ''​CPU idle time'',​ etc.) 
 + 
 +If you are using positional macros in item prototype names, it is suggested to update discovery rules manually by replacing the positional macro with the respective low-level discovery macro, for example:
  
-Using positional ($1, $2, ...$9) and user macros in [[:​manual/​config/​items/​item#​configuration|item]] and [[:manual/​discovery/​low_level_discovery#​item_prototypes|item prototype]] names is now deprecated+|Old item prototype naming:\\ {{:manual:​introduction:​item_prototype_old_naming2.png|}}  | 
 +|New item prototype ​naming:\\ {{:​manual:​introduction:​item_prototype_new_naming2.png|}} ​ |
  
-As a consequence,​ positional macros have been removed from item names in the standard templates shipped ​with Zabbix 4.0.+It will be possible to use items generated this way in the graph widget ​with no limitations.
  
 === Timestamp correction === === Timestamp correction ===
  
-Zabbix server will no longer ​correct ​timestamps in cases when Zabbix proxy time differs from Zabbix server time.+Zabbix server will no longer ​adjust value timestamps in cases when Zabbix proxy/active agent/​sender ​time differs from Zabbix server time.
  
 === Time triggers processed by history syncers === === Time triggers processed by history syncers ===
Line 105: Line 134:
   ​   ​
 == Related macro changes ==   == Related macro changes ==  
-   
-Related to this development there are several changes in macros:​  ​ 
  
-  ​* {TRIGGER.NAME} has been replaced by {EVENT.NAME} ​in all default messages.  ​ +Since problem names are no longer generated in runtime based on the current trigger name, and instead are being generated at the time of event, there are corresponding macro changes: 
-  * {TRIGGER.NAME} ​is replaced by {EVENT.NAME} ​in all trigger-based actions ​when upgrading.   + 
-  +  ​In all default messages - {TRIGGER.NAME} has been replaced by {EVENT.NAME}; 
 +  * In all trigger-based actions - {TRIGGER.NAME} ​will be replaced by {EVENT.NAME} when upgrading. 
 + 
 +See also: [[:​manual/​installation/​known_issues#​known_issues_for_400_-_401|known issues]]
 === Working with problems === === Working with problems ===
  
Line 163: Line 193:
  
 Dashboard API is also affected: some of [[manual:​api:​reference:​dashboard:​object|Dashboard widget property types]] are now renamed. ​ Dashboard API is also affected: some of [[manual:​api:​reference:​dashboard:​object|Dashboard widget property types]] are now renamed. ​
 +
 +=== Host column always displayed ===
 +
 +The host column is now always displayed even if only one host is selected in:
 +
 +  * //​Monitoring//​ -> //Latest data//
 +  * //​Monitoring//​ -> //Web//
 +  * //Reports// -> //​Availability//​
 +
 +This results in a wider page than previously with one host data. For more information,​ see the [[:​manual/​introduction/​whatsnew400#​host_column_always_displayed|What'​s new]] section.
  
 === JMX monitoring error message === === JMX monitoring error message ===
Line 177: Line 217:
 |//​Previously:// ​    ​|''​History buffer is full. Sleeping for 1 second.'' ​ | |//​Previously:// ​    ​|''​History buffer is full. Sleeping for 1 second.'' ​ |
 |//In Zabbix 4.0:// ​ |''​History cache is full. Sleeping for 1 second.'' ​ | |//In Zabbix 4.0:// ​ |''​History cache is full. Sleeping for 1 second.'' ​ |
 +
 +==== See also ====
 +
 +  * [[:​manual/​installation/​template_changes|Template changes]]