

Next, we are going to look into the preprocessing methods added in Zabbix 4.2, such as JavaScript support. For division, use decimal numbers with zero before the dot, as in the example.ĭelta calculations can be used to count simple changes, such as the difference between the current and the previous values, and change per second. It means data can be multiplied by an X amount, for example, to transform bytes to bits. Numeric data can be transformed with custom multipliers. The same can be done with JsonPath in Zabbix 4.4. XML XPath can be used for aggregations or calculations of XML data.

Zabbix is also able to preprocess XML and JSON Structured data. If needed, we can, for example, trim a value and store it as a regular number. Text preprocessing – a value is retrieved using a regular expression, and then it’s transformed from text, and stored as a number. Let’s have a look at the preprocessing methods, starting with the simpler ones. WMI, JMX, and ODBC data collection to JSON arrays enabling preprocessing via JSONPath.Zabbix 4.4, which is completely fresh at this point, improved on preprocessing functionality even more and introduced: preprocessing support by the Zabbix proxy - to offload the performance overhead from the Zabbix server to the Zabbix proxy, thus adding a lot more flexibility when it comes to scaling your zabbix instance up even further.custom error handling - for additional human readability,.throttling - to discard unnecessary data,.validation rules - to validate the data that you currently have,.JavaScript and Prometheus exporter support,.This version added even more new ways to preprocess the data: Over time Zabbix preprocessing evolved even further and extended the functionality in Zabbix 4.2. The preprocessing tab as you all currently know it was added in Zabbix 3.4. It also introduced a variety of new approaches to transform the data before storing it in the database: But over time the Zabbix preprocessing functionality has evolved. If you required more elaborate data transformations, you had to transform the data with other tools, for example – write your own scripts in Python, PHP, etc. delta calculations (simple changes/speed per second).numeral system transformations (boolean, hex, etc.), and.Let’s take a look at where we began and where we are now.īefore Zabbix 3.4, the legacy preprocessing functionality was limited to: And that’s what Zabbix provides, from preprocessing simple text to integration with Prometheus exporters in Zabbix 4.2 and CSV to JSON transformation in Zabbix 4.4, etc. Why do we need preprocessing? Let’s say we’re retrieving a lot of data in freeform, which is not fit for calculations, aggregations, or optimal data storage.įor us to be able to aggregate this data and to optimize the data storage, it first must be preprocessed. Preprocessing under the hood ( 1:17:44) Introduction The many ways of preprocessing ( 1:04:34) What are the different ways you can use Zabbix preprocessing and why you should consider implementing it in your environment? Let’s take a brief look at how Zabbix preprocessing has evolved and the technical nuances of transforming and storing your preprocessed data.
