A case-sensitive MySQL database is required for proper server work. It is 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.
User group access property "API access" has been removed. Starting with Zabbix 2.0, all users have full access to the API.
Variables TRIGGER_FALSE_PERIOD and TRIGGER_BLINK_PERIOD in include/defines.inc.php have been removed. These settings may now be configured in Administration → General → Trigger displaying options.
Graph item type Aggregated has been removed. If such items are present, upgrade procedure will convert them to normal items.
Sorting by 'State' column in Configuration → Maintenance has been removed. Sorting by 'IP range' and 'Delay' columns in Configuration → Discovery have been removed.
After upgrading, sorting in all locations (tables) will be reset to defaults.
Multiple element selecting in maps while holding down Shift was removed. On Mac OSX multiple elements can now be selected by holding down Command.
Dropdown choice in Administration → General is not remembered anymore.
Database upgrade to 2.0 for MySQL will run UPDATE statement that fixes web monitoring item units for all items including the ones with correct unit. This should be harmless and only result in some additional UPDATEs.
For better performance, especially with large databases on MySQL, increasing innodb_buffer_pool_size before upgrading is highly suggested. Also, disable binlog, if it is not needed, or increase binlog_cache_size.
During database upgrade with MySQL ERROR 1436 (HY000): Thread stack overrun - increase thread_stack in my.cnf. 256K should be enough.
Upgrading to 2.0.0 may increase Zabbix server configuration cache usage, because it now additionally caches general configuration and trigger information.
/etc/zabbix → /usr/local/etc (depends on compile-time installation variable sysconfdir)
/etc/zabbix/externalscripts → /usr/local/share/zabbix/externalscripts (depends on compile-time installation variable datadir)
/home/zabbix/bin → /usr/local/share/zabbix/alertscripts (depends on compile-time installation variable datadir)
/etc/zabbix/zabbix_server → /usr/local/etc/zabbix_server.conf.d
/etc/zabbix/zabbix_proxy → /usr/local/etc/zabbix_proxy.conf.d
/etc/zabbix/zabbix_agent → /usr/local/etc/zabbix_agent.conf.d
/etc/zabbix/zabbix_agentd → /usr/local/etc/zabbix_agentd.conf.d
Schema file sqlite.sql has been renamed to sqlite3.sql.
Image file images_pgsql.sql has been renamed to images_postgresql.sql.
Database creation files have been moved in database directory. It contains one directory per supported database type.
Option --with-pgsql for configure script has been changed to --with-postgresql.
Directory misc/conf was moved to be just conf in the top level source directory.
net.tcp.dns and net.tcp.dns.query have been renamed to net.dns and net.dns.record, respectively. Old syntax still supported as an alias.
All items that return text (character, log, text types of information), including user parameters and external checks, now can return whitespace only as well, setting the return value to an empty string.
Internal item zabbix[log] has been removed.
External check parameter handling was changed. Previously, only one parameter was accepted. Starting with Zabbix 2.0, key syntax conforms to other types of items and multiple comma-separated parameters may be passed.
Multi-line values can now be stored for the output of external checks.
Hardcoded first parameter {HOST.CONN} for external checks has been removed and now external check parameters may be fully customised. Upgrade process adds this macro as a first parameter to all existing external checks.
After upgrading, it is recommended to manually review all external checks that have more than one parameter in the key for any possible conversion errors to correct.
The format of simple checks has been changed. The possibility of using IP addresses in simple checks has been added. Database upgrade process converts all existing simple check keys to the new syntax.
A status item has been removed. Instead of it a new internal item - zabbix[host,agent,available] has been added. The database upgrade process doesn't convert all existing 'status' keys and associated triggers to the new syntax, so they have to be converted manually.
Older Zabbix proxies (1.6 and 1.8) cannot be used with Zabbix 2.0 server; similarly, a Zabbix 2.0 proxy cannot be used with Zabbix 1.8 or older server. All proxies must be upgraded at the same time as the server.
Zabbix 1.8 proxies may continue collecting data while the server database is upgraded. In this case proxy database must be converted before the new server is started up. Proxy will send all collected and converted values to the server once both server and proxy are upgraded and started up.
Server parameter has been changed. Entries in it will never be used for active checks, only for passive. Only entries from ServerActive will be used for active checks.
Parameter ServerPort has been removed. If it will be still specified in the configuration file, agent will not start up.
Parameters DisableActive and DisablePassive have been removed. Instead, not specifying ServerActive will not do any active item processing, and specifying StartAgents=0 will disable processing of incoming connections for passive items.
If these parameters will be still specified in the configuration file, agent will not start up.
See also: Version compatibility.
If a host was assigned to be monitored by a proxy before upgrading to 2.0 and it had a web scenario assigned to it, this web scenario would be performed from the Zabbix server. After upgrade such a web scenario may stop working. After upgrading to 2.0 the proxy that this host is assigned to should be compiled with web monitoring support and be able to access websites, used in the scenario.
{IPADDRESS} macro deprecated, use {HOST.IP}
"Host profiles" were renamed to "host inventory". New host inventory macros {INVENTORY.*} were introduced. {PROFILE.*} macros are still supported but it's highly recommended to change those to {INVENTORY.*} . See this page for details.