In Linux and Unix-like systems, IPC often relies on or shared memory to pass data efficiently. When the Zabbix Poller attempts to push collected metrics down the pipeline to the History Syncer or to the Proxy cache via these sockets, it expects a receiver on the other end. If that receiver process has crashed, become unresponsive, or taken too long to process data, the writing end of the socket is left transmitting into a void. The operating system kills the connection, resulting in the famous "broken pipe" (often signaled by the OS SIGPIPE signal). Diagnosing the Root Causes
: Run tail -n 100 /var/log/zabbix/zabbix_server.log to check for "connection refused" or "cannot connect to preprocessing service" errors. zabbix cannot write to ipc socket broken pipe upd
If your logs also show "Too many open files," you must increase the limit for the Zabbix user Check current limits: su - zabbix -c 'ulimit -n' Increase the limit in /etc/security/limits.conf zabbix soft nofile 10000 zabbix hard nofile 10000 Use code with caution. Copied to clipboard In Linux and Unix-like systems, IPC often relies
Example:
(most modern Linux systems):
Ensure the Zabbix process is completely dead before starting. The operating system kills the connection, resulting in
Increase your internal cache sizes in your zabbix_server.conf file: