Broken pipe often appears with active checks if the server restarts while agent is sending. Solution: implement retry logic on agent (built-in) and align timeouts.
If using TCP sockets (e.g., ListenIP=0.0.0.0 and Server=IP):
# zabbix_server.conf
StartAgents=0
ListenPort=10051
But for IPC socket (local Unix socket), this is irrelevant – ensure agent and server run on same machine if using /var/run/zabbix/zabbix_agentd.sock.
I’m encountering an intermittent error in my Zabbix setup when monitoring certain UDP-based items:
cannot write to IPC socket: broken pipe
This happens specifically for UDP checks (e.g., SNMP traps, custom UDP data collection). TCP items seem unaffected.
If many trapper items send data simultaneously, the receiving process might close the pipe prematurely.
On server:
StartTrappers=10 # increase from default 5
Restart server.