zabbix_agent + socat colgando con close_wait

zabbix_agent + socat colgando con close_wait

Tengo la siguiente configuración: dispositivos remotos que ejecutan zabbix_agentd activo (versión 2.0) usando socat para hacer un túnel a través de un proxy HTTPS.

Del lado del servidor: Apache con un servicio proxy que permite CONECTARSE a localhost:10051 (zabbix_proxy). La conexión está cifrada con SSL y requiere un certificado de cliente válido.

En el lado del cliente: línea de comando de Socat beta8:

socat -d -d -ly "TCP-LISTEN:10051,bind=127.0.0.1,reuseaddr,fork" "PROXY:127.0.0.1:10051,connect-timeout=30 | OPENSSL:<server_domain_name>:443,connect-timeout=30,cafile=<CA_CERT_FILE>,certificate=<CLIENT_CERT_FILE>"

zabbix_agentd está configurado para funcionar solo en modo activo y conectarse a localhost:10051

Problema: en algunas máquinas (una pequeña minoría), algunas de las conexiones no se cierran correctamente y el proceso secundario socat se bloquea con el socket TCP en estado CLOSE_WAIT. El socket en cuestión tiene el punto final local 127.0.0.1:10051, por lo que parece que zabbix_agentd es el culpable de no cerrar el socket correctamente. Los procesos socat suspendidos consumen muchos ciclos de CPU y eventualmente bloquean el sistema. La única forma de eliminarlos es con una señal SIGKILL.

¿Alguna recomendación para solucionar este problema, además de eliminar periódicamente los procesos bloqueados?

Gracias.

información relacionada