While Zabbix uses TCP for agent-to-server communication, it often utilizes Unix Domain Sockets (UDS) or UDP sockets for internal IPC. This is designed for speed; internal processes running on the same machine do not require the overhead of TCP handshakes. The "pipe" in this context is a data channel connecting a sender process (producing data) and a receiver process (consuming data). The "broken pipe" error is the computing equivalent of a phone line going dead while one person is still speaking. It indicates that the sending process attempted to write data to a socket, but the receiving end had already closed the connection or was unable to accept the data.
sudo systemctl daemon-reload sudo systemctl restart zabbix-server
: Look for failed to open log file: [24] Too many open files .
In most Linux distributions, the default limit is 1024, which is often too low for busy Zabbix instances.