Thread-based preprocessing workers
The item value preprocessing has been rewritten to use thread-based preprocessing workers for enhanced parallelism and reduced overhead. This development should help avoid situations when the prolonged preprocessing of one item holds up others.
This change adds a new [required library](https://www.zabbix.com/documentation/current/en/manual/installation/requirements#serverproxy) for Zabbix server/proxy - libevent_pthreads.
See also: [Preprocessing details](https://www.zabbix.com/documentation/current/en/manual/config/items/preprocessing/preprocessing_details#item-value-preprocessing)
🤔
docker run --rm -ti zabbix/zabbix-proxy-sqlite3:alpine-6.4.8 bash
apk info
Changed the zabbix-proxy deployment to use the ubuntu-6.4.8 image instead. No more problem.
Not 100% sure if I am correct or some strange voodoo here but wanted to report this non the less.
Here the Graph of the Zabbix proxy: Utilization of preprocessing worker internal processes, in %:
Had a problem with my Kubernetes zabbix-proxy-sqlite:alpine-6.4.8
The preprocess workers would cap at ~100% utilization no matter what. After a lot of debugging and reading up, came across the changelog of 6.4 https://www.zabbix.com/documentation/current/en/manual/introduction/whatsnew640
In particular the following statement:
🤔
Changed the zabbix-proxy deployment to use the
ubuntu-6.4.8
image instead. No more problem. Not 100% sure if I am correct or some strange voodoo here but wanted to report this non the less.Here the Graph of the
Zabbix proxy: Utilization of preprocessing worker internal processes, in %
:adad
Adding the Kubernetes Cluster State Template
kubectl -n monitoring rollout restart deployment zabbix-proxy
kubectl -n monitoring rollout restart deployment zabbix-proxy
Delete Host with template Cluster State
Add template again after some tinkering
Delete template again
Add template again after more debugging
kubectl -n monitoring rollout restart deployment zabbix-proxy
and later delete host with template againMore debugging add host with template again
Switch to ubuntu-6.4.8 image
zabbix-proxy-sqlite:alpine-6.4.8 Dockerfile - no
pthreads
: https://github.com/zabbix/zabbix-docker/blob/9eae850a3fe555d531de065f5ec4cf8d0af6b8f9/Dockerfiles/proxy-sqlite3/alpine/Dockerfile#L35-L52zabbix-proxy-sqlite:ubuntu-6.4.8 Dockerfile:
https://github.com/zabbix/zabbix-docker/blob/9eae850a3fe555d531de065f5ec4cf8d0af6b8f9/Dockerfiles/proxy-sqlite3/ubuntu/Dockerfile#L46