The "Zabbix cannot write to IPC socket broken pipe upd" error is a clear symptom of internal communication failure under load. It is not a bug in your items or templates but a reflection of resource exhaustion, misconfiguration, or backpressure.
By systematically increasing cache sizes, tuning process counts, fixing database performance, and ensuring proper OS limits, you can eliminate this error entirely. Remember: Zabbix is a distributed system even on a single server—treat its internal processes with the same respect you give external servers.
If after all these steps the error still appears, check the official Zabbix bug tracker for your specific version and consider enabling debug logging (DebugLevel=4 temporarily) to capture the exact process IDs involved.
Final checklist:
✔ HistoryCacheSize ≥ 64M
✔ StartHistorySyncers ≥ 5
✔ Timeout ≥ 15 seconds
✔ Database not saturated
✔ No stale IPC objects
✔ Zabbix version ≥ 5.0 LTS
Implement these changes, and your Zabbix monitoring will return to a stable, reliable state—without a single broken pipe in sight. zabbix cannot write to ipc socket broken pipe upd
The error message cannot write to IPC socket: Broken pipe in Zabbix usually indicates that
one internal Zabbix process (like the main server) tried to communicate with another service (like the preprocessing service ) that had already closed the connection or crashed Most Common Causes & Solutions Operating System File Limits
: This is the most frequent cause. Zabbix processes may hit the maximum number of open files allowed by the OS. : Increase the for the Zabbix user. You can do this by adding LimitNOFILE=10000 (or higher) to your Zabbix systemd unit file or modifying /etc/security/limits.conf Preprocessing Service Failure
: 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 The "Zabbix cannot write to IPC socket broken
. Restarting the Zabbix server service often temporarily resolves this, but you may need to increase the StartPreprocessors zabbix_server.conf if the workload is too high. Database Connectivity Issues
: Sudden drops in database connections can lead to cascading failures in internal IPC (Inter-Process Communication).
: 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
, the script might be terminating prematurely before Zabbix can read the output. : Verify that scripts use full paths (e.g., /usr/bin/openssl ) and handle timeouts correctly. Troubleshooting Steps Check Logs : Look for Too many open files zabbix_server.log . This confirms a resource limit issue. Verify Limits cat /proc/
with the actual Zabbix Server process ID) to see the current effective limit. Monitor Resources Zabbix documentation on Internal Checks to monitor "busy" percentages for various processes (e.g., zabbix[process,preprocessing manager,avg,busy] Are you seeing this error specifically after an upgrade heavy monitoring load cannot write to IPC socket: Broken pipe - ZABBIX Forums 24 Jan 2023 —
This error (cannot write to IPC socket: broken pipe) in Zabbix usually points to a communication breakdown between the Zabbix server (or proxy) and the Zabbix agent, or between Zabbix processes themselves. Here’s a solid, step-by-step guide to diagnose and fix it.
# Watch for error recurrence
tail -f /var/log/zabbix/zabbix_server.log | grep -i "broken pipe"
Wait 10–15 minutes (depending on your check intervals). If gone – fixed.
Do not change configuration blindly. Follow this diagnostic workflow: