5 What's new in Zabbix 6.0.0

Zabbix 6.0.0 is not released yet.

High availability cluster for Zabbix server

The new version comes with a native high availability solution for Zabbix server.

The solution consists of multiple zabbix_server instances or nodes, where only one node can be active (working) at a time, while other nodes are on standby, ready to take over in case the current node is stopped or fails.

See also: High availability cluster.


Several updates have been made in the new version to the high-level overview of the monitored infrastructure offered by the services functionality.

Tag-based mapping of services to problems

The availability of services in previous Zabbix versions depended on triggers and their states. In the new version that is replaced by a tag-based mapping to problems for the respective service.

The configuring and viewing of services is now merged in MonitoringServices, and a separate section for service configuration no longer exists in ConfigurationServices.

In service configuration, hard and soft dependencies no longer exist. Instead, a service can have multiple parent services.

Status ​calculation ​and propagation rules

There are new status calculation rules and flexible ​additional rules for calculating the status of a parent service based on the statuses and weight of direct children. It is now also possible to set flexible rules for propagating a service status to parent services.

Permissions to services

Flexible permissions to services have been implemented on user role level. Read-write or read-only access can be granted to all, none or selected services (based on name or tags).

Root cause analysis

A new Root cause column lists the underlying problems that directly or indirectly affect the service status.

If you click on the problem name you can see more details about it in MonitoringProblems.

Alerting on service status change

It is now possible to receive automated alerts about service status changes, similar to the alerts about trigger status changes.

A new service action type has been added to the Actions menu. Service actions may include steps for problem, recovery, and update operations related to services. It is possible to configure two types of actions: sending a message to the specified recipients and executing a remote command on Zabbix server. Similarly to trigger actions, service actions support problem escalation scenarios.

New message templates Service, Service recovery, and Service update have been added to media types and should be defined to enable correct sending of notifications for service actions.

Service cloning

Services now can be cloned. The Clone button has been added to the configuration form of a service. When a service is cloned, its parent links are preserved, while the child links are not.

Simple macros replaced by expression macros

A new expression syntax for triggers and calculated items was introduced in Zabbix 5.4. However, the old syntax still remained in use in simple macros. In the new version, the functionality of simple macros has been transferred to expression macros and the new expression syntax is used. See the comparison below for details of the change:

In Zabbix 6.0Before Zabbix 6.0

Example of an expression macro in the new version.

Example of a simple macro in previous versions.

The existing simple macros will be converted to expression macros during the upgrade. The scope of expression macros covers the same that was offered by simple macros. Thus, expression macros can be used in:

  • problem notifications and commands
  • problem update notifications and commands
  • map element labels
  • map link labels
  • map shape labels
  • graph names

Positional macros no longer supported

The support for positional macros in item name ($1, $2…$9), deprecated since Zabbix 4.0, has been fully removed.

New functions

Functions for Prometheus histograms

It has been possible to collect Prometheus metrics in Zabbix for a while now, but some of the metrics are difficult to work with. Specifically, the metrics of histogram type can be presented in Zabbix as multiple items with the same key names, but different parameters. However, even though such items are logically related and represent the same data, it has been difficult to analyze the collected data without specialized functions. To cover this functionality gap in the new version, rate() and histogram_quantile() functions, producing the same result as their PromQL counterparts, have been added.

Other new additions to complement this functionality are the bucket_rate_foreach() and the bucket_percentile() functions. For more information see:

Monotonic change

It is now possible to check for monotonic increase or decrease in item values using the new monoinc() or monodec() history functions.

Change count

A new history function changecount() has been added allowing to count the number of changes between adjacent values. The function supports three different modes for counting all changes, only decreases, or only increases. As an example, it can be used to track changes in the number of users or the number of system uptime decreases.

Entity count

New functions have been added to simplify the counting of specific hosts, items, or values, returned by foreach functions.

Aggregate functions:

  • count - total number of values in an array returned by a foreach function (returns an integer);
  • item_count - total number of currently enabled items that match filter criteria (returns an integer).

Foreach function:

  • exists_foreach - number of currently enabled items that match filter criteria (returns an array).


Automated type selection

Item configuration form now automatically suggests the matching type of information, if selected item key returns data only of the specific type (for example, log[] item requires Type of information: Log). Type of information parameter is now located under the Key parameter on the primary Item tab and is duplicated on the Preprocessing tab if at least one preprocessing step is specified. If Zabbix detects a possible mismatch of the selected type of information and key, a warning icon will be displayed next to the Type of information field.

New and updated items

Several new items have been added to Zabbix agent/agent 2:

  • agent.hostmetadata - return host metadata
  • kernel.openfiles - return the number of open file descriptors
  • net.tcp.socket.count[] - return the number of TCP sockets that match parameters
  • net.udp.socket.count[] - return the number of UDP sockets that match parameters
  • vfs.dir.get[] - return list of directory files as JSON
  • vfs.file.get[] - return information about a file as JSON
  • vfs.file.owner[] - return the ownership of a file
  • vfs.file.permissions[] - return a 4-digit string containing octal number with Unix permissions


  • vfs.file.cksum[] now supports a second mode parameter (crc32, md5, sha256)
  • vfs.file.size[] now supports a second mode parameter (bytes or lines)
  • vfs.fs.discovery and vfs.fs.get now return an {#FSLABEL} macro on Windows (with volume names)

For more details see agent items.

User parameter reload without agent restart

User parameters now can be reloaded from the configuration file without restarting the agent. To do so, run the new userparameter_reload runtime control option, e. g.:

zabbix_agentd -R userparameter_reload


zabbix_agent2 -R userparameter_reload

UserParameter is the only agent configuration option that will be reloaded with this command.

Zabbix agent 2 plugins

Each Zabbix agent 2 plugin now has a separate configuration file. By default, these files are located in the ./zabbix_agent2.d/plugins.d/ directory. The path is specified in the Include parameter of the agent 2 configuration file and can be relative to the zabbix_agent2.conf or file location.

Password requirements

Custom password complexity requirements can now be provided for Zabbix internal authentication method. To prevent Zabbix users from setting weak passwords, it is possible to enforce the following restrictions:

  • Set the minimum password length.
  • Require a password to contain a combination of uppercase and lowercase letters, digits, and/or special characters.
  • Prohibit usage of most common and easily guessable passwords.


To create the optimal user experience and ensure the best Zabbix performance in various production environments, the support of some older database releases has been dropped. This primarily applies to the database versions that are nearing their end of service life point and versions with unfixed issues that may interfere with normal performance.

Starting from Zabbix 6.0, the following database versions are officially supported:

  • MySQL/Percona 8.0.X
  • MariaDB 10.5.X - 10.6.X
  • PostgreSQL 13.X
  • Oracle 19c - 21c
  • TimescaleDB 2.0.1-2.3
  • SQLite 3.3.5-3.34.X

By default, Zabbix server and proxy will not start if an unsupported database version is detected. It is now possible, though not recommended, to turn off DB version check by modifying AllowUnsupportedDBVersions configuration parameter for the server or proxy.

utf8mb4 support for MySQL

utf8mb4 encoding with utf8mb4_bin collation is now supported for Zabbix installations with the MySQL/MariaDB database.

Previously only utf8 encoding was supported, which with MySQL stands for utf8mb3 encoding and thus supports only a subset of proper UTF-8 characters. In the new version utf8mb4 support has been added with support for the full UTF-8 character set. Old installations using utf8mb3 are kept intact and may continue using that encoding.

Zabbix get and Zabbix sender timeout

Zabbix get and Zabbix sender utilities now support a -t <seconds> or --timeout <seconds> timeout parameter. The valid range is:

  • 1-30 seconds for Zabbix get (default: 30 seconds)
  • 1-300 seconds for Zabbix sender (default: 60 seconds)

Web monitoring

The ability to handle compressed content has been added to Zabbix web monitoring. All encoding formats supported by libcurl are supported.

Prometheus queries

Zabbix Prometheus preprocessing query language now supports two additional label matching operators:

  • != – select labels that are not equal to the provided string;
  • !~ – select labels that do not regex-match the provided string.

JavaScript methods

HTTP methods PATCH, HEAD, OPTIONS, TRACE, CONNECT have been added to the JavaScript engine. Also, the engine now allows sending custom HTTP method requests with the new JS method HttpRequest.customRequest.

See also: Additional JavaScript objects.

Audit log


The audit log now contains records about all configuration changes for all Zabbix objects, including changes that occurred as a result of executing an LLD rule, a network discovery action, an autoregistration action, or a script execution. Previously, configuration changes initiated from Zabbix server, for example, as a result of executing a discovery rule, were not recorded. Now such object modifications will be stored as audit records attributed to the user System.

Record filter

A functionality for filtering records by the frontend operation that caused these entries has been added. If several log records have been created as a result of a single operation, for example, linking/unlinking a template, such records will have the same Recordset ID.

Audit settings

New section Audit log has been added to the Administration→General menu allowing to enable or disable audit logging. Housekeeping settings for audit, previously located under the Housekeeper section, have also been moved to the new Audit log section.

Webhook integrations

A new integration is available allowing to use the webhook media type for creating Github issues from Zabbix notifications.


New official templates are available for monitoring:


  • MikroTik CCR1009-7G-1C-1S+ SNMP - monitoring of MikroTik CCR1009-7G-1C-1S+ ethernet routers via SNMP;
  • MikroTik CCR1009-7G-1C-1S+PC SNMP - monitoring of MikroTik CCR1009-7G-1C-1S+PC ethernet routers via SNMP;
  • MikroTik CCR1009-7G-1C-PC SNMP - monitoring of MikroTik CCR1009-7G-1C-PC ethernet routers via SNMP;
  • MikroTik CCR1016-12G SNMP - monitoring of MikroTik CCR1016-12G ethernet routers via SNMP;
  • MikroTik CCR1016-12S-1S+ SNMP - monitoring of MikroTik CCR1016-12S-1S+ ethernet routers via SNMP;
  • MikroTik CCR1036-12G-4S-EM SNMP - monitoring of MikroTik CCR1036-12G-4S-EM ethernet routers via SNMP;
  • MikroTik CCR1036-12G-4S SNMP - monitoring of MikroTik CCR1036-12G-4S ethernet routers via SNMP;
  • MikroTik CCR1036-8G-2S+ SNMP - monitoring of MikroTik CCR1036-8G-2S+ ethernet routers via SNMP;
  • MikroTik CCR1036-8G-2S+EM SNMP - monitoring of MikroTik CCR1036-8G-2S+EM ethernet routers via SNMP;
  • MikroTik CCR1072-1G-8S+ SNMP - monitoring of MikroTik CCR1072-1G-8S+ ethernet routers via SNMP;
  • MikroTik CCR2004-16G-2S+ SNMP - monitoring of MikroTik CCR2004-16G-2S+ ethernet routers via SNMP;
  • MikroTik CCR2004-1G-12S+2XS SNMP - monitoring of MikroTik CCR2004-1G-12S+2XS ethernet routers via SNMP;
  • MikroTik CRS106-1C-5S SNMP - monitoring of MikroTik CRS106-1C-5S switches via SNMP;
  • MikroTik CRS109-8G-1S-2HnD-IN SNMP - monitoring of MikroTik CRS109-8G-1S-2HnD-IN switches via SNMP;
  • MikroTik CRS112-8G-4S-IN SNMP - monitoring of MikroTik CRS112-8G-4S-IN switches via SNMP;
  • MikroTik CRS112-8P-4S-IN SNMP - monitoring of MikroTik CRS112-8P-4S-IN switches via SNMP;
  • MikroTik CRS125-24G-1S-2HnD-IN SNMP - monitoring of MikroTik CRS125-24G-1S-2HnD-IN switches via SNMP;
  • MikroTik CRS212-1G-10S-1S+IN SNMP - monitoring of MikroTik CRS212-1G-10S-1S+IN switches via SNMP;
  • MikroTik CRS305-1G-4S+IN SNMP - monitoring of MikroTik CRS305-1G-4S+IN switches via SNMP;
  • MikroTik CRS309-1G-8S+IN SNMP - monitoring of MikroTik CRS309-1G-8S+IN switches via SNMP;
  • MikroTik CRS312-4C+8XG-RM SNMP - monitoring of MikroTik CRS312-4C+8XG-RM switches via SNMP;
  • MikroTik CRS317-1G-16S+RM SNMP - monitoring of MikroTik CRS317-1G-16S+RM switches via SNMP;
  • MikroTik CRS326-24G-2S+IN SNMP - monitoring of MikroTik CRS326-24G-2S+IN switches via SNMP;
  • MikroTik CRS326-24G-2S+RM SNMP - monitoring of MikroTik CRS326-24G-2S+RM switches via SNMP;
  • MikroTik CRS326-24S+2Q+RM SNMP - monitoring of MikroTik CRS326-24S+2Q+RM switches via SNMP;
  • MikroTik CRS328-24P-4S+RM SNMP - monitoring of MikroTik CRS328-24P-4S+RM switches via SNMP;
  • MikroTik CRS328-4C-20S-4S+RM SNMP - monitoring of MikroTik CRS328-4C-20S-4S+RM switches via SNMP;
  • MikroTik CRS354-48G-4S+2Q+RM SNMP - monitoring of MikroTik CRS354-48G-4S+2Q+RM switches via SNMP;
  • MikroTik CRS354-48P-4S+2Q+RM SNMP - monitoring of MikroTik CRS354-48P-4S+2Q+RM switches via SNMP;
  • MikroTik CSS326-24G-2S+RM SNMP - monitoring of MikroTik CSS326-24G-2S+RM switches via SNMP;
  • MikroTik CSS610-8G-2S+IN SNMP - monitoring of MikroTik CSS610-8G-2S+IN switches via SNMP;
  • MikroTik FiberBox SNMP - monitoring of MikroTik FiberBox switches via SNMP;
  • MikroTik hEX lite SNMP - monitoring of MikroTik hEX lite ethernet routers via SNMP;
  • MikroTik hEX PoE lite SNMP - monitoring of MikroTik hEX PoE lite ethernet routers via SNMP;
  • MikroTik hEX PoE SNMP - monitoring of MikroTik hEX PoE ethernet routers via SNMP;
  • MikroTik hEX S SNMP - monitoring of MikroTik hEX S ethernet routers via SNMP;
  • MikroTik hEX SNMP - monitoring of MikroTik hEX ethernet routers via SNMP;
  • MikroTik netPower 15FR SNMP - monitoring of MikroTik netPower 15FR switches via SNMP;
  • MikroTik netPower 16P SNMP - monitoring of MikroTik netPower 16P switches via SNMP;
  • MikroTik netPower Lite 7R SNMP - monitoring of MikroTik netPower Lite 7R switches via SNMP;
  • MikroTik PowerBox Pro SNMP - monitoring of MikroTik PowerBox Pro ethernet routers via SNMP;
  • MikroTik PowerBox SNMP - monitoring of MikroTik PowerBox ethernet routers via SNMP;
  • MikroTik RB1100AHx4 Dude Edition SNMP - monitoring of MikroTik RB1100AHx4 Dude Edition ethernet routers via SNMP;
  • MikroTik RB1100AHx4 SNMP - monitoring of MikroTik RB1100AHx4 ethernet routers via SNMP;
  • MikroTik RB2011iL-IN SNMP - monitoring of MikroTik RB2011iL-IN ethernet routers via SNMP;
  • MikroTik RB2011iL-RM SNMP - monitoring of MikroTik RB2011iL-RM ethernet routers via SNMP;
  • MikroTik RB2011iLS-IN SNMP - monitoring of MikroTik RB2011iLS-IN ethernet routers via SNMP;
  • MikroTik RB2011UiAS-IN SNMP - monitoring of MikroTik RB2011UiAS-IN ethernet routers via SNMP;
  • MikroTik RB2011UiAS-RM SNMP - monitoring of MikroTik RB2011UiAS-RM ethernet routers via SNMP;
  • MikroTik RB260GS SNMP - monitoring of MikroTik RB260GS switches via SNMP;
  • MikroTik RB3011UiAS-RM SNMP - monitoring of MikroTik RB3011UiAS-RM ethernet routers via SNMP;
  • MikroTik RB4011iGS+RM SNMP - monitoring of MikroTik RB4011iGS+RM ethernet routers via SNMP;
  • MikroTik RB5009UG+S+IN SNMP - monitoring of MikroTik RB5009UG+S+IN ethernet routers via SNMP;
  • Mikrotik SNMP - a generic template for monitoring MikroTik devices.

You can get these templates:

  • In ConfigurationTemplates in new installations;
  • When upgrading from previous versions, the latest templates can be downloaded from the Zabbix Git repository and manually imported into Zabbix in the ConfigurationTemplates section. If a template with the same name already exists, check the Delete missing option before importing to achieve a clean import. This way the items that have been excluded from the updated template will be removed (note, that history of the deleted items will be lost).

Template linking more visible

To make template linking more visible, it is now placed in the first tab of the host/template form.

A separate tab for template linking is removed frOm host/template configuration and mass update forms.

Macros for expression debugging

New macros are now supported to simplify the process of debugging trigger expressions:

  • {TRIGGER.EXPRESSION.EXPLAIN}, {TRIGGER.EXPRESSION.RECOVERY.EXPLAIN} - resolve to a partially evaluated trigger or recovery expression, where only item-based functions are applied;
  • {FUNCTION.VALUE<1-9>}, {FUNCTION.RECOVERY.VALUE<1-9>} - resolve to the results of the Nth item-based function at the time of the event.

For more details, see Supported macros.


Geomap widget

A new geomap widget for the dashboards has been introduced providing a way to display hosts on the geographical maps. For more information see dashboard widgets and geographical maps.

Creating hosts from Monitoring

It is now also possible to create new hosts from MonitoringHosts.

The Create host button is available for Admin and Super Admin users.

Host editing as popup

The form for host creation and editing is now opened in a modal (popup) window, in ConfigurationHosts, MonitoringHosts and in any page, where there is a host menu or other direct link to the host configuration.

Direct links to the host edit page still work and are opening the host edit page in full page.

Monitoring → Overview removed

The Overview section in the Monitoring menu has been removed completely. The same functionality can be still accessed by using the Data overview and Trigger overview dashboard widgets.


  • The default language of Zabbix web interface has been changed from British to American English. Support of British English has been dropped.
  • The Share link in the main menu has been replaced by an Integrations link, leading to the Integrations page on the Zabbix website.
  • If Zabbix web interface is opened in one of the languages available on the Zabbix website, clicking the Integrations link will open the Integrations page in the appropriate language. For all other languages, including English, the Integrations page will be opened in English.

Breaking changes

Audit log

Audit log functionality has been reworked significantly. The updated Audit log contains records of all configuration changes of Zabbix objects and has an improved filter, which allows to view records grouped by frontend operation. Logging can be switched on or off in the Administration→General menu section. In order to implement these changes, the previously existing database structure had to be reworked. During an upgrade DB tables auditlog and auditlog_details will be replaced by the new table auditlog with a different format. Existing audit log records will be deleted.

Supported DB versions check

Zabbix server and proxy will now check the database version before launch and will not start if the version is out of the supported range. It is possible to turn off this check by modifying AllowUnsupportedDBVersions configuration parameter, but this approach is not recommended. The list of officially supported database versions has been updated to exclude databases that are nearing their end of service life point and versions with unfixed issues that may interfere with normal performance.

Zabbix agent 2 plugins

Each Zabbix agent 2 plugin now has a separate configuration file. By default, these files are located in the ./zabbix_agent2.d/plugins.d/ directory. The path is specified in the Include parameter of the agent 2 configuration file and can be relative to the zabbix_agent2.conf or file location.