What's new in Zabbix 5.0

In mid-May, Zabbix 5.0 was released, and we organized a series of online meetups in various languages to demonstrate all the changes and innovations to the community. We invite you to check out the presentation by Zabbix's CEO and founder, Alexey Vladyshev, who detailed what’s new in Zabbix 5.0.

What's new in Zabbix 5.0

Zabbix 4.2 and Zabbix 4.4

Let's start with the changes introduced in Zabbix 4.0, related to the use of LTS versions.
The Zabbix 4.2 version, released in April 2019, introduced the following features:

  • High-frequency monitoring through throttling, which provides scalability and increases NVPS, allowing for faster problem detection and alerting without putting a heavy load on Zabbix.
  • Data collection using the HTTP agent.
  • Support for data collection from Prometheus Pro.
  • Preprocessing supports validation and JavaScript, allowing for the transformation of any collected data.
  • Proxy-side preprocessing, which provides more efficient scaling via proxies.
  • Enhanced tag management — meta-information at the event and issue level, which is easy to work with because tags are supported at both the template and network node levels.

Last September, Zabbix 4.4 was released, offering the following features:

  • A new Zabbix agent.
  • Support for Webhook for alerts and notifications, enabling integration with external systems.
  • Support for TimescaleDB.
  • The built-in knowledge base for metrics and triggers has become visible to Zabbix users. For example, users can use the descriptions of data items and triggers in Monitoring > Latest data.
  • A new standard for templates.

Zabbix 5.0

Today, we will discuss the LTS release of Zabbix 5.0, which will be supported for 5 years. Support for version 4.4 will end in one month. The LTS release of Zabbix 3.0 will be supported for another 3.5 years.

Zabbix provides monitoring for many things, the list of which can be refined on the page http://www.zabbix.com/integrations, which features templates for monitoring and plugins, including for the new agent.

What's new in Zabbix 5.0
Available templates for monitoring and integration

Additionally, there are integration capabilities with various systems, including ticket systems, ITSM solutions, and messaging systems via Webhook.

What's new in Zabbix 5.0
Integration Capabilities

Zabbix 5.0 has expanded built-in support for integration with various ticketing systems, as well as alerting systems:

What's new in Zabbix 5.0
Integration with Various Systems

The list of built-in templates for monitoring applications and devices has been expanded:

What's new in Zabbix 5.0
Built-in Templates for Monitoring Applications and Devices

All updates are available for download at Git repository.

Any user or developer can participate in Zabbix with ready-made works — templates or plugins, by following a simple procedure:

  1. Signing the Zabbix Contributory Agreement (ZCA) at https://www.zabbix.com/developers.
  2. Submitting a Pull Request at https://git.zabbix.com.
  3. Reviewing the application by the development team. If the plugin or template meets Zabbix standards, it is included in the product, and the work of such a developer will be officially supported by the Zabbix team.

Zabbix is open-source software, available for viewing, studying, and modifying. Users are given the opportunity to freely use the product, participate in refining the program, or use the code for their new software. On the other hand, the Zabbix team strives to make Zabbix easy to install on various platforms.

Zabbix developers offer packages for almost all of the most popular distributions and various virtualization platforms. Additionally, Zabbix can be installed in the public cloud with just one click. Zabbix is also available on Red Hat Openshift or OpenStack platforms.

What's new in Zabbix 5.0
Zabbix Packages for Distributions and Platforms

Support for Zabbix Agent 2 for Windows and Linux

The new Zabbix Agent 2 is one of the best solutions on the market.

  • It offers a plugin-based architecture and supports scripts for data collection that can run for hours.
  • It supports parallel active checks and persistent connections to external systems, which is useful, for example, for effective database monitoring.
  • It supports traps and events, which is important for monitoring, for example, MQTT devices.
  • The new version of the agent is easy to install (since the new agent supports all previous functionalities).

Additionally, Zabbix 5.0 introduces support for persistent data storage for the new agent. Previously unsent information was only stored in the agent's memory, but this new version allows for the configuration of data storage on disk.

What's new in Zabbix 5.0
Persistent Data Storage

This is important when monitoring critical systems and unreliable communications, as a large amount of vital data is preserved before being sent to the Zabbix server. This option is also beneficial for satellite connections that may be unavailable for long periods.
IMPORTANT! Zabbix 5.0 retains support for Zabbix Agent 1.

Changes in Security System in Zabbix 5.0

1. The new version supports an HTTP proxy for webhooks, allowing connections from the Zabbix server to external alerting systems in a more secure and manageable manner.

If integration of the Zabbix server within a local network with an external system is necessary, for example, JIRA in the cloud, a connection can be maintained through an HTTP proxy, which enhances manageability and reliability of the connection.

2. For both the old and new agents, it's possible to choose which specific checks should be available on a particular agent. For instance, you can limit the number of checks by effectively creating whitelists and blacklists, determining supported keys.

  • Whitelist for MySQL related checks
    AllowKey=mysql[*] 
    DenyKey=*
  • Blacklist to deny all shell scripts
    DenyKey=system.run[*]
  • Blacklist to deny access to /etc/password
    DenyKey=vfs.file.contents[/etc/passwd,*]

3. It's possible to choose encryption algorithms for all Zabbix components to avoid using unsafe ciphers for TLS connections. This is crucial for monitoring environments that adhere to certain security standards.

What's new in Zabbix 5.0
Choosing encryption algorithms for TLS connections

4. Zabbix 5.0 has introduced support for encrypted connections to databases. Currently, only encrypted connections to PostgreSQL and MySQL are available.

What's new in Zabbix 5.0
Encrypted connections to databases

5. Zabbix 5.0 has transitioned from MD5 to SHA256 for storing user password hashes in the database since this is the most secure algorithm available at present.

6. Zabbix 5.0 supports secret user macros for storing any sensitive information, such as passwords and API tokens, that are not accessible to end users.

What's new in Zabbix 5.0
Secret macros

7. All Zabbix connections to external systems and internal connections to agents are secure. Encryption is supported using TLS certificates or pre-shared key encryption for connections to agents and proxies, or via HTTPS. Agent-side security can be enhanced using whitelists and blacklists. The interface operates over HTTPS.

What's new in Zabbix 5.0
Secure connections

8. SAML support for single sign-on with a trusted identity provider, ensuring that user credentials do not leave the firewall boundaries.

What's new in Zabbix 5.0
SAML authentication

SAML support allows integrating Zabbix with various on-premises and cloud-based identity providers, such as Microsoft ADFS, OpenAM, SecurAuth, Okta, Auth0, as well as Azure, AWS, or Google Cloud Platform.

Usability of Zabbix 5.0

1. User interface optimized for widescreens. We moved the menu from the top, where there is always a space issue, to the left side of the screen. The menu remains available in full, minimal, and hidden modes.

What's new in Zabbix 5.0
Interface optimized for widescreen

2. Copying widgets from panels allows for very quick creation of new PANELS. To do this, you need to select the desired widget in the PANEL, press Copy

What's new in Zabbix 5.0
Copying a widget

and paste the widget into the desired panel.

What's new in Zabbix 5.0
Pasting the copied widget

3. Exporting graphs. To copy a graph and send it, for example, via email, you can obtain the graph in PNG format by selecting the desired widget and clicking Download image.

What's new in Zabbix 5.0
Exporting graphs

4. Filtering by tags: Problem by severity and Problem hosts. It has become possible, for example, to gather data on all issues related to a single network node within one data center.

What's new in Zabbix 5.0
Filtering by tags

5. Support for modules to extend the Zabbix interface. To install an independent module, it needs to be copied to a specific directory. Modules allow for expanding existing interface functionality, creating new pages, and changing menu structure, for example, by adding items.

Any user can write and integrate a module. To do this, the module is copied to the modules folder, after which it becomes visible in the interface, where it can be enabled and disabled.

What's new in Zabbix 5.0
Adding a new module

6. Ease of navigation through resources related to network nodes. In Monitoring > Hosts A list of devices monitored by Zabbix is displayed: network nodes, services, network devices, etc. Additionally, quick navigation to screens, graphs, and issues for specific devices is available.

We removed the tabs Monitoring > Graphs and Monitoring > Webs, and all navigation is done through Monitoring > Hosts. The displayed information can be filtered, including by tags, allowing the display of disabled devices

What's new in Zabbix 5.0
Navigation through resources related to network nodes

For example, you can select devices related to end-user services by choosing ‘Service’, as well as by specifying the severity level of these issues.

What's new in Zabbix 5.0
Filtering capabilities

7. New preprocessing operation — ‘Replace‘ allows performing several useful tasks that previously could only be done using regular expressions, which are quite complex for many users.
Replace allows actually replacing one string or character with others, enabling simple conversion of data obtained in text format to a numerical representation.

What's new in Zabbix 5.0
The Replace operator

8. The JSONPath operator, which allows extracting attribute names in a convenient form

What's new in Zabbix 5.0
Operator for JSONPath

9. Display of Zabbix email messages. In previous versions, all email messages from Zabbix in the folder Incoming were displayed in a list. Starting with Zabbix 5.0, messages will be grouped by issues.

What's new in Zabbix 5.0
Grouping of Zabbix email messages

10. Support for custom macros for IPMI for username and password. If secret macros are used for username and password, access to their value will be restricted.

What's new in Zabbix 5.0
Support for custom macros

11. Bulk modification of custom macros for network nodes. In the new version, you can open the template list, select the list of network nodes, and add macros or change the values of existing macros,

What's new in Zabbix 5.0
Adding and modifying custom macros

and also remove certain or all macros from the selected templates for network nodes.

What's new in Zabbix 5.0
Removing individual or all user macros

12. Message format control at the notification method level. In Media types a new tab appeared Media templates with message templates.

What's new in Zabbix 5.0
Notification method templates

Different message types can have different templates defined.

What's new in Zabbix 5.0
Defining a template for message types

In previous versions, it was necessary to manage these messages at the action level, defining the messages and the subject by default.

What's new in Zabbix 5.0
Managing templates at the action level

In the new version, everything can be defined at the global level, while at the message level — overwrite global settings.

What's new in Zabbix 5.0
Managing templates at the global level

For most users, it is sufficient to define template formats at the notification method level. Moreover, after importing a new notification method, all corresponding template formats are already part of it.

13. Broader application of JavaScript. JavaScript is used for preprocessing scripts, Webhook, etc. It is not easy to work with JavaScript in the command line.
In Zabbix 5.0 a new utility is used — zabbix_js, which runs JavaScript that accepts data, processes it, and generates output values.

What's new in Zabbix 5.0
The zabbix_js utility

What's new in Zabbix 5.0
Examples of using the zabbix_js utility

14. Support for text operations with trigger expressions allows checking the versions of installed components, comparing values with some constants, where the constant can be a user macro,

{host:zabbix.version.last()}="5.0.0"
{host:zabbix.version.last()}="{$ZABBIX.VERSION}

comparing the latest value with the previous one, for example, when it comes to text data,

{host:text.last()} {host.text.prev()}

or

{host:text.last(#1)} {host.text.prev(#2)}

or comparing text values of different metrics.

{hostA:textA.last()}={hostB:textB.last()}

15. Automation and discovery.

  • New JMX checks are available for obtaining and discovering the list of JMX counters, which is very useful, for example, for monitoring Java applications, as well as for automating the creation of monitoring items, metrics, triggers, and graphs.
    jmx.get[]

    and

    jmx.discovery[]

    What's new in Zabbix 5.0
    JMX checks

  • The new version introduced a key for monitoring Windows performance counters, which is supported by both old and new agents in Russian and English, allowing for the detection of the number of processors, file systems, services, etc.

    What's new in Zabbix 5.0
    Monitoring Windows performance counters using the key perf_counter

  • ODBC monitoring has become much simpler. Previously, all parameters for ODBC monitoring had to be described in an external file /etc/odbc.ini, which was inaccessible from the Zabbix interface. In the new version, almost all parameters can be part of the metric key.

    What's new in Zabbix 5.0
    Metric key with parameter descriptions

    In the new version, you can specify the server name and port at the metric level, and the username and password for access using secret macros for security.

    What's new in Zabbix 5.0
    Using secret macros

  • When using the IPMI protocol for equipment monitoring, the ability to create simpler templates for automation using ipmi.get.

    What's new in Zabbix 5.0
    ipmi.get

16. Testing data items from the interface. Zabbix 5.0 introduced the ability to test certain data items and, more importantly, data item templates from the interface.

What's new in Zabbix 5.0
Testing data items

Any problems that arise are displayed in the interface.

What's new in Zabbix 5.0
Displaying problems in the interface

A similar algorithm is used for data item templates. Additionally, if any data item is not supported, to find out the cause of the failure, you simply need to click Test.

17. Testing notification methods, which was introduced in Zabbix 4.4, is preserved, which is important when integrating Zabbix with other systems, such as ticketing systems.

What's new in Zabbix 5.0
Testing notification methods

18. Support for custom macros for data item prototypes. To determine the values of custom macros, you can use LLD macros.

What's new in Zabbix 5.0
Using LLD macros to determine custom macro values

19. Support for Float64 data, which is primarily required for monitoring very large values, is needed in Zabbix to support data received from Prometheus agents.
When installing Zabbix 5.0, automatic data migration to the standard Float64 does not occur. Users can still use the old data types. Migration scripts for Float64 are run manually and change the data types in historical tables. Automatic replacement is not used as it takes a very long time.

20. Improved Scalability of Zabbix 5.0: interface optimization and elimination of bottlenecks

  • Dropdown lists have been removed, for example, for selecting network nodes, as this feature does not scale.
  • There are now 'built-in' limits for table sizes Overview.
  • New capabilities have appeared in Monitoring > Hosts > Graphs.
  • The paging function has been added (Monitoring > Hosts > Web) where it was previously unavailable.

21. Enhanced Compression
Compression in Zabbix is based on the extension for PostgreSQL — TimescaleDB (starting from Zabbix 4.4). TimescaleDB provides automatic database partitioning and improves its performance since the performance of TimescaleDB is largely independent of the database size.

In Zabbix 5.0 in Administration > General > Housekeeping you can configure, for example, data compression older than 7 days. This significantly reduces the required disk space (by almost ten times, according to user reports), improving disk space savings and boosting performance.

What's new in Zabbix 5.0
Compression with TimescaleDB

22. SNMP Configuration at the Interface Level. In Zabbix 5.0, only one type of data item is used instead of three — SNMP agent. All SNMP attributes have been moved to the network node interface level, simplifying templates, switching between SNMP versions, etc.

What's new in Zabbix 5.0
SNMP Configuration at the Interface Level

23. Dependency of Monitoring Network Node Availability on Proxy Availability allows displaying proxy availability issues as a priority in case of network node unavailability when monitoring using a trigger with the function nodata:

{HostA:item.nodata(1m)}=1

What's new in Zabbix 5.0
Network node availability is determined by proxy availability

Function nodata by default takes proxy availability into account. For a stricter check that does not consider proxy availability, a second parameter is used — type manipulations,:

{HostA:item.nodata(1m,strict)}=1

24. Management of Low-Level Discovery Rules. Zabbix 5.0 introduced an LLD filter that allows for viewing unsupported discovery rules.

What's new in Zabbix 5.0
LLD filter

25. The ability to unacknowledge an issue) allows for correcting mistakes and is useful when creating workflows dependent on issue acknowledgment.

What's new in Zabbix 5.0
Unacknowledging an issue

26. Changes to low-level discovery rules —the ability to add exceptions when discovering objects as a result of monitoring file systems, which enables the creation or non-creation of specific objects, triggers, items, etc., during low-level discovery, changing the severity of issues, adding tags for specific objects, excluding objects such as temporary file systems from the search, changing the data update interval, etc.

What's new in Zabbix 5.0
Excluding temporary file systems from low-level discovery

For example, it is possible to change the priority level of triggers for discovered Oracle file systems while maintaining the priority level of triggers for other file systems unchanged.

What's new in Zabbix 5.0
Changing the priority level of triggers for individual file systems

27. New macros in Zabbix 5.0 improve monitoring quality.

What's new in Zabbix 5.0
New macros in Zabbix 5.0

28. Other innovations in Zabbix 5.0:

What's new in Zabbix 5.0
Improvements in Zabbix 5.0

29. Discontinuation of support
What's new in Zabbix 5.0
Unsupported functionality

Conclusion

Upgrading to Zabbix 5.0 is very simple! Install and run the new server binary and frontend files, and the server will automatically update your database.
Information about the Zabbix upgrade procedure is available at:
https://www.zabbix.com/documentation/current/manual/installation/upgrade_notes_500

IMPORTANT!

  1. Updating historical data to Float64 format is not mandatory.
  2. TimescaleDB data is read-only.
  3. Minimum required version is PHP 7.2.
  4. DB2 is not supported as a backend for the Zabbix server.

(!) You can watch the video and slides from the presentations by Alexey Vladyshev and other speakers from the Zabbix Meetup Online (Russian). here.

Source: habr.com

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster