Zabbix Documentation 3.4

2.23.04.04.2 (current)In development:4.4 (devel)Unsupported:1.82.02.43.23.4

User Tools

Site Tools


manual:installation:upgrade_notes_340

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_340 [2018/01/05 12:31]
martins-v minor grammar fix
manual:installation:upgrade_notes_340 [2019/02/12 06:39] (current)
martins-v formatting change
Line 1: Line 1:
 ==== 10 Upgrade notes for 3.4.0 ==== ==== 10 Upgrade notes for 3.4.0 ====
  
-These notes are for upgrading from Zabbix 3.2.x to Zabbix 3.4.0.+These notes are for upgrading from Zabbix 3.2.x to Zabbix 3.4.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 3.4.0 from versions before Zabbix 3.2.0. See the [[:​manual/​installation/​upgrade|upgrade procedure]] section for all relevant information about upgrading from previous Zabbix versions. It is possible to upgrade to Zabbix 3.4.0 from versions before Zabbix 3.2.0. See the [[:​manual/​installation/​upgrade|upgrade procedure]] section for all relevant information about upgrading from previous Zabbix versions.
 +
 +==== Critical ====
  
 === Dropping SQLite support for server/​frontend === === Dropping SQLite support for server/​frontend ===
Line 18: Line 23:
  
 ===  Additional dependencies === ===  Additional dependencies ===
-  * libpcre - the PCRE library is now mandatory when compiling Zabbix server. It is required for [[https://​en.wikipedia.org/​wiki/​Perl_Compatible_Regular_Expressions|PCRE]] regular expression ​support. The naming may differ depending on the GNU/Linux distribution;​+  * libpcre - the PCRE library is now mandatory when compiling Zabbix server. It is required for [[https://​en.wikipedia.org/​wiki/​Perl_Compatible_Regular_Expressions|Perl Compatible Regular Expression]] (PCRE) ​support. The naming may differ depending on the GNU/Linux distribution, for example '​libpcre3'​ or '​libpcre1'​. Note that you need exactly PCRE (v8.x); PCRE2 (v10.x) library is not used;
   * libevent (version 1.4 or later) library is now mandatory: ​   * libevent (version 1.4 or later) library is now mandatory: ​
     * for Zabbix server always;     * for Zabbix server always;
Line 27: Line 32:
 A case-sensitive MySQL database is required for proper server work. It is [[:​manual/​appendix/​install/​db_scripts#​mysql|recommended]] to create a case-sensitive MySQL database during new installations. If you created a MySQL database with the utf8 character set previously, in order to support case sensitiveness of stored data, you need to convert the charset to utf8_bin. A case-sensitive MySQL database is required for proper server work. It is [[:​manual/​appendix/​install/​db_scripts#​mysql|recommended]] to create a case-sensitive MySQL database during new installations. If you created a MySQL database with the utf8 character set previously, in order to support case sensitiveness of stored data, you need to convert the charset to utf8_bin.
  
-=== Dashboard changes ​===+=== PCRE library for regular expressions ​===
  
-The dashboard section ​has seen a major [[:manual/introduction/whatsnew340#​new_dashboards|overhaul]] in Zabbix 3.4which brings a number ​of related changes:+Regular expression support in Zabbix ​has been switched from POSIX extended regular expressions to [[https://en.wikipedia.org/​wiki/​Perl_Compatible_Regular_Expressions|Perl Compatible Regular Expressions]] (PCRE) for enhanced regular expressions and consistency with the frontendWhile PCRE is mostly compatible with POSIXstill there are some differences such as that POSIX functions find the longest ​of the leftmost match, but PCRE stops on the first valid match. POSIX equivalence classes and collating elements are not supported. ​
  
-  * The //Last 20 issues// widget has been removed and replaced by a //​Problems//​ widget, which is similar in layout to the //​Monitoring//​ -> //​Problems//​ section. Because of this, the DEFAULT_LATEST_ISSUES_CNT frontend ​[[:manual/web_interface/​definitions|definition]] is not used any more and has been removed. +<note warning>​As some regular expressions may yield different results after the upgradebefore upgrading you must review ​the regular expressions in use in supported ​[[:manual/regular_expressions#​regular_expression_support_by_location|locations]]. Expressions where the previous syntax may lead to a different result after the upgrade must be manually converted to PCRE regular expression syntax yielding the same result as before the upgrade.\\ \\ See also: [[http://www.greenend.org.uk/rjk/tech/regexp.html|Differences between]] POSIX extended and PCRE regular expressions</​note>​
-  * //Problems// and //System Status// widgets no longer display triggers in the PROBLEM state if there is no corresponding event (i.e., the event is deleted)+
  
-=== Map permission changes ===+<note tip>GNU grep utility supports both POSIX extended regular expressions (with '​-E'​ switch) and PCRE regular expressions (with '​-P'​ switch). You can run it first with an '​-E',​ then with a '​-P'​ switch with the regular expression and analyze the test file. If both outputs are not identical to the expected, the regular expression should be modified to work correctly after upgrade.</​note>​
  
-Maps are no longer hidden ​if the user does not have read permission ​to all map elementsInsteadthe map is shownproving the user has read access ​to at least one map element. The elements that the user does not have read permission to are displayed with a grey icon and without any textual information on it (except for triggers which do have labels).+Note that if you upgrade only server and proxies, but some hosts continue ​to use older Zabbix agents (before v3.4)those older agents still "​understand"​ POSIX regular expressions only. Regular expressions used in their log[]logrt[] etc items should not be modified ​to PCRE syntax until the agents ​are upgraded.
  
-See also: [[:manual/config/​visualisation/​maps/​map#​access_based_on_permissions|Network map configuration]]+=== Command/script execution changes ===
  
-=== PCRE library ​for regular expressions ===+Due to command/​script exit code check [[manual/​introduction/​whatsnew340#​return_code_check_for_scripts_and_commands|introduction]] in Zabbix 3.4, [[manual/​config/​notifications/​media/​script|alertscripts]] can be executed multiple times if their exit code is different from 0. Previously configured items with user parameters executed by Zabbix server, external check items, and **system.run** items whose exit code is not 0 may become “Not supported” due to additional checks ​for exit code; behaviour of the items with "​nowait"​ flag is not changed though.
  
-Regular expression support in Zabbix has been switched from POSIX extended regular expressions to [[https://​en.wikipedia.org/​wiki/​Perl_Compatible_Regular_Expressions|Perl Compatible Regular Expressions]] (PCRE) for enhanced regular expressions and consistency with the frontend. While PCRE is mostly compatible with POSIX, still there are some differences such as that POSIX functions find the longest of the leftmost match, but PCRE stops on the first valid match. POSIX equivalence classes and collating elements are not supported. ​+===  Configuration parameters ===
  
-<note warning>​As some regular expressions may yield different results after the upgrade, before upgrading you must review the regular expressions in use in supported ​[[:manual/regular_expressions#​regular_expression_support_by_location|locations]]. Expressions where the previous syntax may lead to a different result after the upgrade ​must be manually converted to PCRE regular expression syntax yielding ​the same result as before ​the upgrade.\\ \\ See also: [[http://www.greenend.org.uk/rjk/tech/​regexp.html|Differences between]] POSIX extended ​and PCRE regular expressions</​note>​+The ''​SenderFrequency'' ​[[:manual/appendix/​config/​zabbix_server|configuration]] parameter has been removedIt must be removed from server configuration for 3.4 when upgrading, otherwise you will get an error and the server **will not** start. Retry frequency of failed alerts is now looked up in the [[:manual/config/notifications/media/email#​options|media type]] configuration (//Attempt interval// parameter) ​and is 10 seconds by default. The default of SenderFrequency used to be 30 seconds.
  
-<note tip>GNU grep utility supports both POSIX extended regular expressions (with '-E' switch) and PCRE regular expressions (with '​-P'​ switch). You can run it first with an '​-E',​ then with a '​-P'​ switch with the regular expression and analyze the test file. If both outputs are not identical to the expected, the regular expression should be modified to work correctly after upgrade.</​note>​+=== URL-encoding in web scenarios ===
  
-Note that if you upgrade only server and proxies, but some hosts continue to use older Zabbix ​agents (before v3.4)those older agents still "​understand"​ POSIX regular expressions only. Regular expressions used in their log[], logrt[] etc items should ​not be modified to PCRE syntax until the agents are upgraded.+While [[:​manual/​introduction/​whatsnew340#​automatic_url-encoding|automatic URL-encoding]] is supported starting with Zabbix ​3.4, values ​in existing scenarios will not be automatically converted to URL-encoding. If you want those values URL-encoded you have to edit the [[:​manual/​web_monitoring#​configuring_steps|scenarios]] manually using the new fields: 
 + 
 +  * move query variables from the URL into //Query fields// 
 +  * move post variables from //Raw data// into //Form data// 
 + 
 +If you have already manually URL-encoded values they will be left as is and will not be double URL-encoded.
  
 === Upgrading Java gateway === === Upgrading Java gateway ===
Line 64: Line 73:
 {"​request":"​java gateway jmx","​jmx_endpoint":"​service:​jmx:​rmi:///​jndi/​rmi://​127.0.0.1:​12345/​jmxrmi","​keys":​["​jmx[\"​java.lang:​type={#​FSNAME}\",​\"​HeapMemoryUsage.used\"​]"​]} {"​request":"​java gateway jmx","​jmx_endpoint":"​service:​jmx:​rmi:///​jndi/​rmi://​127.0.0.1:​12345/​jmxrmi","​keys":​["​jmx[\"​java.lang:​type={#​FSNAME}\",​\"​HeapMemoryUsage.used\"​]"​]}
 </​code>​ </​code>​
 +
 +==== Informational ====
 +
 +=== Configuration parameters ===
 +
 +A new configuration parameter ''​SocketDir''​ has been added to Zabbix server and proxy configurations. This parameter points to the directory where internal Zabbix socket files are stored (/tmp by default). Server and proxy use different socket file names so it's safe to use the same ''​SocketDir''​ for server and proxy running on the same system. However, running multiple servers or proxies in the same system will require different ''​SocketDir''​ configurations.
 +
 +=== Dashboard changes ===
 +
 +The dashboard section has seen a major [[:​manual/​introduction/​whatsnew340#​new_dashboards|overhaul]] in Zabbix 3.4, which brings a number of related changes:
 +
 +  * The //Last 20 issues// widget has been removed and replaced by a //​Problems//​ widget, which is similar in layout to the //​Monitoring//​ -> //​Problems//​ section. Because of this, the DEFAULT_LATEST_ISSUES_CNT frontend [[:​manual/​web_interface/​definitions|definition]] is not used any more and has been removed.
 +  * //​Problems//​ and //System Status// widgets no longer display triggers in the PROBLEM state if there is no corresponding event (i.e., the event is deleted)
 +
 +=== Map permission changes ===
 +
 +Maps are no longer hidden if the user does not have read permission to all map elements. Instead, the map is shown, proving the user has read access to at least one map element. The elements that the user does not have read permission to are displayed with a grey icon and without any textual information on it (except for triggers which do have labels).
 +
 +See also: [[:​manual/​config/​visualisation/​maps/​map#​access_based_on_permissions|Network map configuration]]
  
 === Using templates for network devices === === Using templates for network devices ===
Line 79: Line 107:
  
 to filter out loopbacks and null interfaces on most systems. to filter out loopbacks and null interfaces on most systems.
- 
-=== URL-encoding in web scenarios === 
- 
-While [[:​manual/​introduction/​whatsnew340#​automatic_url-encoding|automatic URL-encoding]] is supported starting with Zabbix 3.4, values in existing scenarios will not be automatically converted to URL-encoding. If you want those values URL-encoded you have to edit the [[:​manual/​web_monitoring#​configuring_steps|scenarios]] manually using the new fields: 
- 
-  * move query variables from the URL into //Query fields// 
-  * move post variables from //Raw data// into //Form data// 
- 
-If you have already manually URL-encoded values they will be left as is and will not be double URL-encoded. 
  
 === Support of macros and time suffixes in time periods === === Support of macros and time suffixes in time periods ===
Line 114: Line 133:
  
 Configuration and monitoring sections that previously were called "IT services"​ have been renamed to "​Services"​ to reflect the fact that a broader range of services can be measured, not only IT. Configuration and monitoring sections that previously were called "IT services"​ have been renamed to "​Services"​ to reflect the fact that a broader range of services can be measured, not only IT.
- 
-===  Configuration parameters === 
- 
-The ''​SenderFrequency''​ [[:​manual/​appendix/​config/​zabbix_server|configuration]] parameter has been removed. It must be removed from server configuration for 3.4 when upgrading, otherwise you will get an error and the server will not start. Retry frequency of failed alerts is now looked up in the [[:​manual/​config/​notifications/​media/​email#​options|media type]] configuration (//Attempt interval// parameter) and is 10 seconds by default. The default of SenderFrequency used to be 30 seconds. 
- 
-A new configuration parameter ''​SocketDir''​ has been added to Zabbix server and proxy configurations. This parameter points to the directory where internal Zabbix socket files are stored (/tmp by default). Server and proxy use different socket file names so it's safe to use the same ''​SocketDir''​ for server and proxy running on the same system. However, running multiple servers or proxies in the same system will require different ''​SocketDir''​ configurations. 
  
 === Item value preprocessing options === === Item value preprocessing options ===
Line 160: Line 173:
 === API changes === === API changes ===
  
-Deprecated ''​isreadable()''​ and ''​iswritable()''​ methods as well as the ''​proxy.interfaces''​ parameter have been removed. +  * Deprecated ''​isreadable()''​ and ''​iswritable()''​ methods as well as the ''​proxy.interfaces''​ parameter have been removed. 
- +  * Validation of "​period"​ field has been added disallowing a trailing semicolonAll existing trailing semicolons will be removed ​by proxy/server ​during upgrade 
-=== Command/​script execution changes === +
- +
-Due to command/​script exit code check [[manual/​introduction/​whatsnew340#​return_code_check_for_scripts_and_commands|introduction]] in Zabbix 3.4, [[manual/​config/​notifications/​media/​script|alertscripts]] can be executed multiple times if their exit code is different from 0. Previously configured items with user parameters executed ​by Zabbix ​server, external check items, and **system.run** items which exit code is not 0 may become “Not supported” due to additional checks for exit code, behavior of the items with "​nowait"​ flag is not changed though.+
  
 === Changed housekeeper defaults === === Changed housekeeper defaults ===
Line 173: Line 183:
  
 Socket-based inter-process communication has been added in Zabbix 3.4. On systems where SELinux is enabled it may be required to add SELinux rules to allow Zabbix create/use UNIX domain sockets in the ''​SocketDir''​ directory. Currently socket files are used by server (alerter, preprocessing,​ IPMI) and proxy (IPMI). Socket files are persistent, meaning are present while the process is running. Socket-based inter-process communication has been added in Zabbix 3.4. On systems where SELinux is enabled it may be required to add SELinux rules to allow Zabbix create/use UNIX domain sockets in the ''​SocketDir''​ directory. Currently socket files are used by server (alerter, preprocessing,​ IPMI) and proxy (IPMI). Socket files are persistent, meaning are present while the process is running.
 +
 +==== See also ====
 +
 +  * [[:​manual/​installation/​template_changes|Template changes]]