-
Change Request
-
Resolution: Fixed
-
Trivial
-
None
-
None
-
Sprint 50 (Mar 2019), Sprint 51 (Apr 2019)
-
4
Introduction
Item preprocessing can be resource intensive especially if it uses complex JavaScript code or aggressive data collection with throttling and validation. Zabbix Server may quickly become a bottleneck.
Support of preprocessing by Proxies may help to deliver scalability and get rid of the bottleneck.
Zabbix Acceptance
- Proxy must support preprocessing
- Proxy preprocessing will always be enabled and cannot be disabled
- Proxy will always execute all preprocessing rules for all items and LLD rules
- Proxy will also preprocess dependent items
- If preprocessing failed, Proxy should provide detailed error message (preprocessing backtrace) as it will be implemented by Server (
ZBXNEXT-5016)
- Proxy will ignore history buffer when upgrading from earlier releases (4.0.x and earlier) to 4.2.x.
-
- Existing history buffer will never be sent to Server, it can be dropped
- Data will not be collected before first configuration sync with Server to avoid situation when both raw and pre-processed data is in history buffer
- Server will ignore history data sent from Proxies older than 4.2.0
- Internal monitoring will be extended to monitor health of preprocessing as it is already supported on Server side.
- Documentation
- It must be well described in the release notes
- Publish a blog post
Use cases
- I want to offload Zabbix Server for normal preprocessing
- I want to save network bandwidth and Zabbix Server resources if throttling and/or validation rules are used
Decisions made
- No way to disable Proxy preprocessing
- Proxies will always execute all preprocessing rules