Zabbix utilizes a multi-process architecture. A master process forks into multiple specialized worker processes, such as: (ICMP, HTTP, Agent, IPMI) Trappers History Synchers Preprocessing Managers and Workers
signal, as some processes try to sync data while others have already exited.
If iowait is >10% or your disks are saturated, Zabbix processes might be blocking on disk writes. zabbix cannot write to ipc socket broken pipe upd
Zabbix Server Unstable After Platform Migration/Upgrade to 6.0
In one documented example, raising these limits to 32,000 successfully resolved the crashing problem. For larger environments, 65,536 or higher is often used. Zabbix utilizes a multi-process architecture
When pollers fetch monitoring metrics, they send raw data to the over an internal Inter-Process Communication (IPC) socket. If the Preprocessing Manager crashes or exits due to unhandled exceptions, resource exhaustion, or a lack of available system descriptors, the socket channel is instantly severed. Any poller attempting to write to that socket immediately throws a Broken pipe (SIGPIPE) error and stops functioning. Dominant Causes and Troubleshooting Procedures
StartDiscoverers=10
. When Zabbix cannot open new file descriptors, internal communication fails. Resource Exhaustion: High memory usage or a full History Cache can cause internal services to hang or restart unexpectedly Service Crashes: preprocessing manager availability manager
StartTrappers=10 # increase from default 5 Zabbix Server Unstable After Platform Migration/Upgrade to 6
#!/usr/bin/env python3 import sys try: import requests resp = requests.get('http://localhost/metric', timeout=2) print(resp.text) except Exception as e: print(f"ZBX_NOTSUPPORTED: e") sys.exit(1)
If this error appeared immediately after a yum update , apt upgrade , or manual binary replacement: