[ZBX-26588] Zabbix 7.0.14 preprocessing manager overload Created: 2025 Jun 19 Updated: 2025 Jul 31 Resolved: 2025 Jun 27 |
|
| Status: | Closed |
| Project: | ZABBIX BUGS AND ISSUES |
| Component/s: | Proxy (P), Server (S) |
| Affects Version/s: | 7.0.14 |
| Fix Version/s: | 7.0.15, 7.2.9 |
| Type: | Problem report | Priority: | Major |
| Reporter: | Raimond Kollman | Assignee: | Andris Zeila |
| Resolution: | Fixed | Votes: | 18 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | 5h | ||
| Original Estimate: | Not Specified | ||
| Environment: |
Zabbix 7.0.14 server and 2 proxies (7.0.14) mixed on Ubuntu 24.04.2 and Debian 12. |
||
| Attachments: |
|
||||||||||||||||
| Issue Links: |
|
||||||||||||||||
| Team: | |||||||||||||||||
| Sprint: | S25-W24/25 | ||||||||||||||||
| Story Points: | 0.25 | ||||||||||||||||
| Description |
|
Since the upgrade from Zabbix 7.0.13 to 7.0.14 I experience high CPU load on Ubuntu based Zabbix nodes (both server and proxy). One of my proxies is based on Debian 12 and uses the exact same configuration as the Ubuntu proxy, but the Debian based proxy isn't experiencing high CPU loads. The preprocessing manager both on proxy and server are the ones generating this cpu load. I'll attach some screenshots of the Zabbix server and health dashboard for this: Zabbix-server on Ubuntu 24.0.4.2: Zabbix proxy on Ubuntu 24.04.2: Zabbix proxy on Debian 12: |
| Comments |
| Comment by Raimond Kollman [ 2025 Jun 19 ] |
|
The affected version is Zabbix 7.0.14, I can't add this anymore to this issue |
| Comment by Alexander Vladishev [ 2025 Jun 19 ] |
|
You mentioned that the system is experiencing high CPU usage. Which Zabbix process is utilizing the CPU? Is there anything in the log file related to this process? Try increasing the debug level for this process using the runtime command "zabbix_<server/proxy -R log_level_increase=<process name>". |
| Comment by Raimond Kollman [ 2025 Jun 19 ] |
|
The logfile wasn't saying anything, but it is the preprocessing manager.
I just now increased the debugging for it on the proxy |
| Comment by Raimond Kollman [ 2025 Jun 19 ] |
|
The most recent zabbix_proxy.log is attached. As it produces about 1 GB of logfile per 10 minutes, I have to stop the debug log before it fills up the filesystem. |
| Comment by Jarbas Peixoto Junior [ 2025 Jun 20 ] |
|
I also had high CPU usage issues after upgrading from version 7.0.13 to 7.0.14. The problematic process is: preprocessing manager. My Zabbix is on OCI with AlmaLinux 9 (updated) with ARM64 architecture. My workaround was to add the following to the crontab: ## Problem after version 7.0.14 |
| Comment by Raimond Kollman [ 2025 Jun 20 ] |
|
Ok, that's a workaround, but at my installation after 2 minutes the cpu load already gets too high. I just now downgraded the proxies to 7.0.13 and the CPU load dropped from 100% to 1%... So there is an issue in the preprocessing manager. I even got it on the Debian host later this night, so it's not specific for Ubuntu. |
| Comment by Aigars Kadikis [ 2025 Jun 20 ] |
|
raimond.kollman jarbelix , in a moment when "preprocessing manager" is high, increase log level: zabbix_server -R log_level_increase="preprocessing manager" zabbix_server -R log_level_increase="preprocessing manager" Due to extensive logging, this will now result in even higher CPU and disk usage. It should now run on "level 5": grep "log level" /var/log/zabbix/zabbix_server.log Keep it running for 3 minutes, then decrease: zabbix_server -R log_level_decrease="preprocessing manager" zabbix_server -R log_level_decrease="preprocessing manager" Ensure it's level 3: grep "log level" /var/log/zabbix/zabbix_server.log Extract the most recent lines, compress the log:
tail -9999999 /var/log/zabbix/zabbix_server.log | xz > /tmp/zabbix_server.$(hostname).$(date +%Y%m%d.%H%M).log.xz
Upload log: https://space.zabbix.com/s/4LDfo4ReGDcxdR5 jarbelix on Alma Linux 9, when downgrading: dnf downgrade zabbix-server-mysql-7.0.13 # or dnf downgrade zabbix-server-pgsql-7.0.13 Are you confident that big CPU usage goes away? |
| Comment by Raimond Kollman [ 2025 Jun 20 ] |
|
zabbix_server.zabbix.20250620.0809.log.xz zabbix_proxy.zbx-proxy2.20250620.0809.log.xz
Hereby the logfiles, for server and proxy. I had the 7.0.14 proxy saved somewhere so started it a few minutes to deliver the logfile |
| Comment by Alexander Vladishev [ 2025 Jun 20 ] |
|
rkollman, thank you! We're working on this issue. |
| Comment by Andris Zeila [ 2025 Jun 20 ] |
|
Added revert patch revert.diff |
| Comment by Vladislavs Sokurenko [ 2025 Jun 20 ] |
|
Is it possible to test if revert.diff |
| Comment by sTicKs23 [ 2025 Jun 20 ] |
|
Hello, I'm experiencing the same issue since the upgrade to 7.0.14 with the preprocess manager consuming +200% of CPU and having an idle time of 0.004s during 5 sec for a Zabbix server instance monitoring 15 hosts. (Using a LAMP server on a RedHat 7.9 x86_64) After downgrading 7.0.9 everything went to normal. [I have an other instance (7.0.9) monitoring 3000+ hosts with very similar configs, both using MySQL as db and that one works just fine]. Let me know if you require anything from me. |
| Comment by Vladislavs Sokurenko [ 2025 Jun 20 ] |
|
Reproduced with following host zbx_export_hosts_preprocessing_manager_overload.yaml ./sbin/zabbix_server -R log_level_increase="preprocessing manager" ./bin/zabbix_sender -s "Zabbix server" -z 127.0.0.1 -p 10051 -k trap -o 0; sleep 1; ./bin/zabbix_sender -s "Zabbix server" -z 127.0.0.1 -p 10051 -k trap -o 1 Notice lots of log entries: 0250620:110527.021 End of zbx_ipc_service_recv():2 782466:20250620:110527.021 In zbx_pp_manager_process_finished() 782466:20250620:110527.021 End of zbx_pp_manager_process_finished() values_num:0 782466:20250620:110527.021 In zbx_ipc_service_recv() timeout:0.000 782466:20250620:110527.021 End of zbx_ipc_service_recv():2 782466:20250620:110527.021 In zbx_pp_manager_process_finished() 782466:20250620:110527.021 End of zbx_pp_manager_process_finished() values_num:0 782466:20250620:110527.021 In zbx_ipc_service_recv() timeout:0.000 782466:20250620:110527.021 End of zbx_ipc_service_recv():2 782466:20250620:110527.021 In zbx_pp_manager_process_finished() 782466:20250620:110527.021 End of zbx_pp_manager_process_finished() values_num:0 782466:20250620:110527.021 In zbx_ipc_service_recv() timeout:0.000 782466:20250620:110527.021 End of zbx_ipc_service_recv():2 782466:20250620:110527.021 In zbx_pp_manager_process_finished() 782466:20250620:110527.021 End of zbx_pp_manager_process_finished() values_num:0 782466:20250620:110527.021 In zbx_ipc_service_recv() timeout:0.000 782466:20250620:110527.021 End of zbx_ipc_service_recv():2 782466:20250620:110527.021 In zbx_pp_manager_process_finished() 782466:20250620:110527.021 End of zbx_pp_manager_process_finished() values_num:0 782466:20250620:110527.021 In zbx_ipc_service_recv() timeout:0.000 782466:20250620:110527.021 End of zbx_ipc_service_recv():2 782466:20250620:110527.021 In zbx_pp_manager_process_finished() 782466:20250620:110527.021 End of zbx_pp_manager_process_finished() values_num:0 782466:20250620:110527.021 In zbx_ipc_service_recv() timeout:0.000 782466:20250620:110527.021 End of zbx_ipc_service_recv():2 782466:20250620:110527.021 In zbx_pp_manager_process_finished() 782466:20250620:110527.021 End of zbx_pp_manager_process_finished() values_num:0 782466:20250620:110527.021 In zbx_ipc_service_recv() timeout:0.000 782466:20250620:110527.021 End of zbx_ipc_service_recv():2 782466:20250620:110527.021 In zbx_pp_manager_process_finished() 782466:20250620:110527.021 End of zbx_pp_manager_process_finished() values_num:0 782466:20250620:110527.021 In zbx_ipc_service_recv() timeout:0.000 782466:20250620:110527.021 End of zbx_ipc_service_recv():2 782466:20250620:110527.021 In zbx_pp_manager_process_finished() |
| Comment by Vladislavs Sokurenko [ 2025 Jun 20 ] |
|
The only workaround is to set StartPreprocessors=1 but it might not be enough to have such low count of workers. |
| Comment by Andris Zeila [ 2025 Jun 20 ] |
|
Released
|
| Comment by Jarbas Peixoto Junior [ 2025 Jun 20 ] |
|
Thanks to vso, I added the option StartPreprocessors=1 in /etc/zabbix/zabbix_server.conf and it apparently solved it. PS: I removed my previous crontab workaround 😁 |
| Comment by Arturs Dancis [ 2025 Jun 20 ] |
|
Documentation updated (preprocessing manager performance issue in Zabbix 7.0.14 and 7.2.8): |
| Comment by Jüri Palis [ 2025 Jun 21 ] |
|
This issue is not resolved. It reappears after updating to version 7.2.9. The PP process starts to consume more and more CPU time until the system load goes beyond normal—far beyond (10+). The only way to fix this is to set StartPreprocessors=1 or downgrade to version 7.2.7. |
| Comment by Jarbas Peixoto Junior [ 2025 Jun 22 ] |
|
It happened again, even after the 7.0.15 update. Note that in zabbix.conf the StartPreprocessors parameter was commented out. I have now changed it to StartPreprocessors=1 and restarted zabbix-server. I will wait and see how it works. |
| Comment by Vladislavs Sokurenko [ 2025 Jun 22 ] |
|
Could you please be so kind and double check the log so it says 7.0.15 |
| Comment by Jüri Palis [ 2025 Jun 22 ] |
|
I'm running 7.2.x this is a fragment from the log file 2545301:20250621:133319.313 Starting Zabbix Server. Zabbix 7.2.9 (revision 7cf2aafa415). 2545301:20250621:135404.993 Zabbix Server stopped. Zabbix 7.2.9 (revision 7cf2aafa415). |
| Comment by sTicKs23 [ 2025 Jun 22 ] |
|
Hi, I'm currently on 7.0.15 and something seems not to be working as before. the 75% precent alert is gone now, but Preprocessing queue is getting higher and higher. |
| Comment by Jüri Palis [ 2025 Jun 22 ] |
|
|
| Comment by Vladislavs Sokurenko [ 2025 Jun 22 ] |
|
Please check diaginfo=preprocessing if possible to find out which item might be causing issues for queue, unfortunately it’s possible that |
| Comment by Raimond Kollman [ 2025 Jun 24 ] |
|
Yesterday I upgraded the Zabbix server from 7.0.14 to 7.0.15 and after a few minutes the high CPU problem was back. Tried several things (and ofcourse restarted the Zabbix-server.service) and in the end just rebooted the Zabbix server. That fixed the problem..... The logging (also journal-logging of Linux itself) didn't mention problems, but it seems that the reboot gave a real fresh start of the internal queue.
So maybe this can be an advice to users who keep experiencing problems even after upgrading to 7.0.15 (when they first ran 7.0.14 with problems)... |
| Comment by Matthias D [ 2025 Jun 24 ] |
|
Reboot is not working for me. I am running a dockerized environment, with 8 proxies (7.0.15) . Even if i shutdown the proxy containers and start them again, the high cpu usage of the preproccesing manager is still there and the queue on the proxies is growing.
|
| Comment by Matthias D [ 2025 Jun 24 ] |
|
I ran the diaginfo=preprocessing on one of my proxies: root@9a264d58ea96:/var/lib/zabbix# zabbix_proxy -R diaginfo=preprocessing |
| Comment by Raimond Kollman [ 2025 Jun 25 ] |
|
I'm sorry to say that 7.0.15 still has the issue. It's taking longer to fill up the CPU, but the problem is still there: // //
// zabbix_server -V Copyright (C) 2025 Zabbix SIA This product includes software developed by the OpenSSL Project Compiled with OpenSSL 3.0.13 30 Jan 2024 // |
| Comment by Vladislavs Sokurenko [ 2025 Jun 25 ] |
|
Could you please be so kind and share what is preprocessing for following items ? Top.peak: itemid:181033 tasks:841 itemid:180998 tasks:841 itemid:181034 tasks:840 itemid:180999 tasks:840 |
| Comment by Raimond Kollman [ 2025 Jun 25 ] |
|
Yes, ofcourse hereby the output:
|
| Comment by Tim Clarke [ 2025 Jun 25 ] |
|
We've not experienced the issue up until today on our Debian 12 6.1.0-37-amd64 install when we moved the zabbix-server-pgsql package up to 7.2.9. At this point the "preprocessing manager" process pegged at ~98%. We only solved the issue by back revving packages to 7.2.7: zabbix-server-pgsql zabbix-agent2-plugin-postgresql zabbix-agent2 zabbix-apache-conf zabbix-frontend-php zabbix-get zabbix-sql-scripts. We have no proxy in place. |
| Comment by Vladislavs Sokurenko [ 2025 Jun 26 ] |
|
Fixed under |