Zabbix Team announced the release of Zabbix 4.2. The latest release of Zabbix is packed with modern monitoring system for: data collection and processing, distributed monitoring, real-time problem and anomaly detection, alerting and escalations, visualization and more.
Let us check out what Zabbix 4.2 has actually brought to the table. Here is a list of the most important functionality included into the new release.
Official support of new platforms
In addition to existing official packages and appliances, Zabbix 4.2 will now cater to the following platforms:
- Zabbix package for RaspberryPi
- Zabbix package for SUSE Enterprise Linux Server
- Zabbix agent for Mac OS/X
- Zabbix agent for MSI for Windows
- Zabbix Docker images
Built-in support of Prometheus data collection
Zabbix is able to collect data in many different ways (push/pull) from various data sources including JMX, SNMP, WMI, HTTP/HTTPS, RestAPI, XML Soap, SSH, Telnet, agents, scripts and other data sources, with Prometheus being the latest addition to the bunch.
Now the 4.2 release will offer an integration with the exporters using native support of PromQL language. Moreover, the use of dependent metrics will give the Zabbix team ability to collect massive amounts of Prometheus metrics in a highly efficient way: this way they get all the data using a single HTTP call and then just reuse it for corresponding dependent metrics.
Zabbix can also transform Prometheus data into JSON format, which can be used directly for low-level discovery.
Efficient high-frequency monitoring
We all want to discover problems as fast as possible. Now with 4.2 we can collect data with high frequency, instantly discover problems without keeping excessive amount of history data in the Zabbix database.
Validation of collected data and error handling
No one wants to collect incorrect data. With Zabbix 4.2 we can address that via built-in preprocessing rules that validate data by matching or not matching regular expression, using JSONPath or XMLPath.
Now it is also possible to extract error messages from collected data. This can be especially handy if we get an error from external APIs.
This will enable all sorts of data transformation, aggregation, filtering, arithmetical and logical operations and much more.
Test preprocessing rules from UI
As preprocessing becomes much more powerful, it is important to have a tool to verify complex scenarios. Zabbix 4.2 will allow to test preprocessing rules straight from the Web UI!
Processing millions of metrics per second!
Prior to 4.2, all preprocessing was handled solely by the Zabbix server. A combination of proxy-based preprocessing with throttling gives us the ability to perform high-frequency monitoring collecting millions of values per second without overloading the Zabbix Server. Proxies will perform massive preprocessing of collected data while the Server will only receive a small fraction of it.
Easy low level discovery
Low-level discovery (LLD) is a very effective tool for automatic discovery of all sorts of resources (filesystems, processes, applications, services, etc) and automatic creation of metrics, triggers and graphs related to them. It tremendously helps to save time and effort allowing to use just a single template for monitoring devices with different resources.
Zabbix 4.2 supports processing based on arbitrary JSON input, which in turn allows us to communicate directly with external APIs, and use received data for automatic creation of hosts, metrics and triggers.
Support of TimescaleDB
TimescaleDB promises better performance due to more efficient algorithms and performance oriented data structures. Another significant advantage of TimescaleDB is automatic table partitioning, which improves performance and (combined with Zabbix) delivers fully automatic management of historical data.
However, Zabbix team hasn’t performed any serious benchmarking yet. So it is hard to comment on real life experience of running TimescaleDB in production. At this moment TimescaleDB is an actively developed and rather young project.
Simplified tag management
Prior to Zabbix 4.2 we could only set tags for individual triggers. Now tag management is much more efficient thanks to template and host tags support. All detected problems get tag information not only from the trigger, but also from the host and corresponding templates.
More flexible auto-registration
Zabbix 4.2 auto-registration options gives the ability to filter host names based on a regular expression. It’s really useful if we want to create different auto-registration scenarios for various sets of hosts. Matching by regular expression is especially beneficial in case we have complex naming conventions for our devices.
Control host names for auto-discovery
Another improvement is related to naming hosts during auto-discovery. Zabbix 4.2 allows to assign received metric data to a host name and visible name. It is an extremely useful feature that enables great level of automation for network discovery, especially if we use Zabbix or SNMP agents.
Test media type from Web UI
Zabbix 4.2 allows us to send a test message or check that our chosen alerting method works as expected straight from the Zabbix frontend. This is quite useful for checking the scripts we are using for integration with external alerting and helpdesk systems etc.
Remote monitoring of Zabbix components
Zabbix 4.2 introduces remote monitoring of internal performance and availability metrics of the Zabbix Server and Proxy. Not only that, it also allows to discover Zabbix related issues and alert us even if the components are overloaded or, for example, have a large amount of data stored in local buffer (in case of proxies).
Nicely formatted email messages
Zabbix 4.2 comes with support of HTML format in email messages. It means that we are not limited to plain text anymore, the messages can use all power of HTML and CSS for much nicer and easy to read alert messages.
Accessing remote services from network maps
A new set of macros is now supported in network maps for creation of user-defined URLs pointing to external systems. It allows to open external tickets in helpdesk or configuration management systems, or do any other actions using just one or two mouse-clicks.
LLD rule as a dependant metric
This functionality allows to use received values of a master metric for data collection and LLD rules simultaneously. In case of data collection from Prometheus exporters, Zabbix will only execute HTTP query once and the result of the query will be used immediately for all dependent metrics (LLD rules and metric values).
Animations for maps
Zabbix 4.2 comes with support of animated GIFs making problems on maps more noticeable.
Extracting data from HTTP headers
Web-monitoring brings the ability to extract data from HTTP headers. With this we can now create multi-step scenarios for Web-monitoring and for external APIs using the authentication token received in one of the steps.
Zabbix Sender pushes data to all IP addresses
Zabbix Sender will now send metric data to all IP addresses defined in the “ServerActive” parameter of the Zabbix Agent configuration file.
Filter for configuration of triggers
Configuration of triggers page got a nice extended filter for quick and easy selection of triggers by a specified criteria.
Showing exact time in graph tooltip
It is a minor yet very useful improvement. Zabbix will show you timestamp in graph tooltip.
- Non-destructive resizing and reordering of dashboard widgets
- Mass-update for item prototypes
- Support of IPv6 for DNS related checks (“net.dns” and “new.dns.record”)
- “skip” parameter for VMWare event log check “vmware.eventlog”
- Extended preprocessing error messages to include intermediate step results
Expanded information and the complete list of Zabbix 4.2 developments, improvements and new functionality is available in Zabbix Manual.