If the value is low (e.g., 1024), increase it by editing /etc/security/limits.conf :
Caution: Do not set this number astronomically high, as it can consume all available system memory and CPU, thereby making the problem worse. Monitor your system load average after making adjustments. Step 5: Network and Timeout Considerations
Example (on Ubuntu-based systems):
: If the preprocessing service stops responding or crashes, other processes trying to send data to it will report a "Broken pipe". : Check your zabbix_server.log for earlier errors like [111] Connection refused cannot connect to preprocessing service zabbix cannot write to ipc socket broken pipe upd
: Ensure your database (MySQL/MariaDB/PostgreSQL) has enough max_connections to handle all Zabbix child processes. Script Execution Errors : If you are using external scripts or UserParameters
Check your zabbix_server.log for earlier messages like cannot connect to preprocessing service or Connection refused .
Using encrypted TLS connections with misconfigured certificates or network-side NAT/load balancers can lead to unexpected connection closures that manifest as broken pipes. If the value is low (e
Check database performance, slow queries, and disk I/O bottlenecks.
# Reduce preprocessing workers (default is often 3-5) StartPreprocessors=2
: If the history cache fills up, Zabbix processes may hang or crash, leading to broken pipes when other processes try to communicate with them. HistoryCacheSize zabbix_server.conf and increase it if your logs show "History cache is full". Permission Issues : Check your zabbix_server
If a process crashed due to a bug, Zabbix will write a detailed crash dump log right before the broken pipe error. 3. Tune Zabbix Cache Configurations
To resolve the "cannot write to IPC socket: broken pipe" error, follow these step-by-step troubleshooting guides: