Zabbix 3.0 Alpha 6 Released

Zabbix Team is pleased to announce the availability of Zabbix 3.0.0alpha5, sixth alpha release of Zabbix 3.0.
Zabbix is an enterprise-class open source distributed monitoring solution. Zabbix is released under the GPL, thus it is free of charge for both commercial and non-commercial use. A complete text of the license is available

What's expected in 3.0.0

Redesign of Zabbix front-end
Zabbix WEB interface has been improved for much better usability and user experience along with other enhancements.

Encryption and authentication
Introduced out of the box support of encryption and authentication for server, proxy and agent communications. Both certificate based and PSK encryption are supported with easy upgrade path from non encrypted setups. No need to use third party tools or VPN solutions anymore.

Forecasting and trend prediction
New set of trigger functions enables support of forecasting and trend prediction. It is possible to predict item value in the future. Also Zabbix may tell when item value reaches certain threshold.

Ready for business checks
Items can be scheduled to be executed at a specific time. Zabbix provides rich scheduling options defined on per individual item level.

Defining dependencies between trigger prototypes
Ability to define dependencies has now been implemented for trigger prototypes. A trigger prototype may depend on another trigger prototype from the same low-level discovery (LLD) rule or on a regular trigger.

The processing of trigger prototypes has been optimized by reducing the number of database queries. As a result, the process of creating triggers takes only half of the time as before.

Linking to applications based on discovery values
To help with logical grouping of items created from item prototypes by low-level discovery (LLD), it is now possible to assign the discovered items to applications that are based on the values of LLD macros.

In addition to the options for linking to regular applications, a new option for creating application prototypes has been added to item prototype definition. Discovered items are linked to the applications created based on application prototypes.

Multiple OID support in SNMP discovery
SNMP discovery was improved to support discovery of multiple OIDs. For more information, see low level discovery documentation.

Ability to graph log items
Log items (log, logrt, and eventlog) and item prototypes can now be saved with any type of information (not only “Log”), in line with the possibilities offered by the optional output parameter. It means that log items could also be saved with type of information set to integer (“Numeric (unsigned)”), and thus be graphed.

Added support of context for user macros
User macros got extra flexibility by introducing optional context.

Resolution of user macros made transparent
To make the resolution of macros transparent, there is now a new option in host and template configuration forms with macro resolution details.

SMTP authentication options
Configuring e-mail as a media type for sending notifications has been extended with new SMTP authentication options. It is also possible now to specify the server port other than the hardcoded 25 before.

Multiple escalator support
Multiple escalator processes supported for better scalability of event processing.

VMware monitoring improvements
A new simple check to monitor VMware virtual machine CPU ready state was added. For more information see VMware monitoring item keys.

Dropping IE8 support
Support for Microsoft Internet Explorer 8 will not be provided anymore.

Filtering options
Continuing with the work of improving filtering options across several frontend sections, a new filter has been added to the Triggers top 100 report. While previously it was only possible to filter here by some predefined time period, now you may filter by host group, host, trigger severity, predefined time period and custom time period.

Mass editing buttons instead of dropdown
Options for mass-editing of entities in lists are now displayed as buttons. The previous option of a dropdown selection and then having to click on Go has been removed. It is expected that reinstating buttons for these operations will make it much quicker and easier to use these options.

User agent options in web monitoring
In web scenario definition it is now possible to select a 'Zabbix' user agent. That may be useful for filtering out requests coming from Zabbix in web server access log files. The 'Zabbix' agent now is the default choice for the frontend and API, unless specified otherwise.

Improved server and proxy performance
Reduced the number of poller configuration cache locks by 1/3 resulting in vivible peroformance improvement for heavy duty Zabbix servers and proxies.

XML import/export
Import/export support processing of value maps. Also added support of the Clock screen element with a “Host time” option for import and export.

Zabbix API improvements
Added support of value maps to Zabbix API.

Miscellaneous front-end improvements
Added paging, mass operations and column 'Used in items' to the list of value maps.

Switching inventory mode in the host mass update form will no longer refresh the whole form.

Aggregate items do not require the fourth parameter (timeperiod) if the third parameter (itemfunc) is set to 'last'.

Translation of the byte unit prefixes - K for kilobytes, M for megabytes, etc. - has been removed because the “bytes” unit was not translated.

Spaces can now be used in IP ranges in network discovery and actions conditions (e.g., “,”).

Implemented trigger description and URL popups in the dashboard's "Last 20 issues" and screen element's "Host group issues" and "Host issues".

Minimum period for time navigator set to 5 minutes, also added more pre-defined time periods for fast selection.

Forced housekeeper execution
An additional runtime control option (housekeeper_execute) has been added to Zabbix server and Zabbix proxy to support manual housekeeping procedure execution. In this case the period of outdated history deleted in one housekeeping cycle will be 4 times the period since the last housekeeping cycle, but not less than 4 hours and not greater than 4 days.

The automatic housekeeping procedures can now be disabled by setting the configuration file HousekeepingFrequency parameter to zero.

Default configuration file improvements
Default configuration files have been changed to improve security and usability.

Performance improvements
The process of trigger expression evaluation has been improved dramatically by using a hashing mechanism. Also configuration cache locking during that process has been reduced multiple times.

The nodata() function calculation was improved to limit the database requests to the range specified in nodata() function.

When an active proxy connects to Zabbix server information about this proxy is retrieved from server configuration cache (in earlier versions it was retrieved directly from database). This improves performance and reduces database load. On the other hand, active proxy configuration change now has not instant effect. It has to wait until server configuration cache is synchronized with database (can be enforced from commandline).

Value cache improvements
When working in low memory mode value cache will attempt to switch back to normal operational mode once per day. The current operational mode can be checked with zabbix[vcache,cache,mode] key.

Zabbix agent crash log on Windows platforms
Zabbix agent will now log crash information on Windows similar to the one generated by agents on Unix-like platforms.

TCP connection timeout on Windows platforms
The configured timeout option is now properly applied when estabilishing TCP connections on Windows platform.

This affects the following Zabbix agent keys: net.tcp.port, net.tcp.service, net.tcp.service.perf,, and

Support for IPv6 addresses in Java gateway
IPv6 addresses like 2001:db8::6c09 can now be used in JMX interfaces.

Proxy configuration size increase
Server will include “lastlogsize” and “mtime” with every item sent to proxy. Despite these fields are used only for log file monitoring they will be currently sent with all items.

Logging IP addresses of incoming/outgoing connections between Zabbix server and Zabbix proxy
The messages printed to the log files will now contain IP addresses of incoming/outgoing connections between Zabbix server and Zabbix proxy.

Setting DebugLevel=5 in daemon configuration file
It is possible now to set DebugLevel=5 in server, proxy and agent configuration files. Previously it could be done using runtime control options only.

Database recovery message on DebugLevel=2
If database query fails the following message will be printed to log file: database is down: reconnecting in 10 seconds. When database goes up database connection re-established will be printed. There were no such messages on DebugLevel=2 previously.

Macro improvements
Low-level discovery macros can be used in item prototype IPMI sensor and Units fields.

New value maps
Added an HTTP response code value map.

Improved command line help option
Added printing defaults when Zabbix programs are executed with --help option.

Item changes/improvements
A connection protocol parameter has been added to net.dns and net.dns.record agent items. The accepted values are 'udp' and 'tcp' (udp being the default).

net.dns and net.dns.record items on Windows now bypass the internal DNS resolver cache.

net.tcp.listen on Linux 2.6.14 and upward kernel systems now tries to make use of the kernel's NETLINK interface.

proc.mem item now supports a 5th parameter - 'memtype' (only on AIX, FreeBSD, Linux, Solaris).

system.cpu.util now supports types 'guest' and 'guest_nice' on Linux kernels 2.6.24 and 2.6.33 and upwards, respectively.

vfs.fs.discovery item on Windows now returns an additional {#FSDRIVETYPE} macro with possible values of “unknown”, “norootdir”, “removable”, “fixed”, “remote”, “cdrom”, “ramdisk”. Note, however, that if filtering by {#FSDRIVETYPE}, low-level discovery will ignore entities discovered by older agents which return responses without this macro.

Item db.odbc.discovery was introduced to support low-level discovery using ODBC SQL queries.

A check for valid reference has been added for global regular expressions in snmptrap, log, logrt and eventlog items. If entered reference is not valid, due to misspelling or missing referenced global regular expression, the item will become unsupported and appropriate error message will be displayed.

Log file monitoring (log, logrt and eventlog) was improved by sending actual log file meta information in specific cases and keeping it on Zabbix server side. Log file meta information includes “lastlogsize”, “mtime” and “state”. Now you can safely restart Zabbix agent or remove Zabbix proxy database while monitoring a log file without getting double alerts.

vm.memory.size[available] item on AIX now returns the sum of free and cached memory. Before Zabbix 3.0 only the free memory size was returned.

vm.memory.size[available] item on Linux now reads MemAvailable (the system's native estimate) from /proc/meminfo on Linux kernels 3.14 and above. Before Zabbix 3.0 it was always the sum of free, buffers, and cached memories.

Items proc.mem and proc.num now return 0 if the specified user does not exist. Before Zabbix 3.0 these items became not supported.

Added items net.udp.service and net.udp.service.perf with the possibility to check NTP service. Before Zabbix 3.0 checking of NTP service was done using net.tcp.service and net.tcp.service.perf items. Database upgrade patches automatically convert NTP service checks.

A new service.discovery item has been added for the low-level discovery of Windows services, while the new item will help retrieving information about a service. The item should now be used instead of the deprecated service_state item.

vfs.fs.inode item on CephFS will become not supported instead of returning invalid numbers if second parameter is other than empty or total.

New internal checks zabbix[host,,items] and zabbix[host,,items_unsupported] were added. They return the number of items (unsupported items) on the target host.

Function improvements
A percentile() trigger function has been added, which returns the P-th percentile of a series of values. It can be used in calculated items, trigger expressions and notifications.
A check for valid reference has been added for global regular expressions in logeventid(), regexp() and iregexp() trigger functions. If entered reference is not valid, due to misspelling or missing referenced global regular expression, the trigger will switch to unknown state and appropriate error message will be displayed.

Commandline utilities improvements
zabbix_get exit code now is 0 (success) or 1 (error). In earlier versions it was 0 (success or error - cannot distinguish between them) or 141 (SIGPIPE).