Пытался я завести в заббиксе (правда агент у меня на линуксе, а не на винде) связку system.run + python скрипт с Selenium WebDriver (firefox geckodriver в моём случае), и тоже получал ошибку ZBX_TCP_READ() timed out. Причём у меня при выполнении python-скрипта через терминал за пользователя root скрипт выполнялся успешно.
Оказалось, что дело вовсе не в настройках таймаута заббикса, а в реальном таймауте выполнения скрипта.
Для диагностики я попробовал запустить мой скрипт через терминал после переключения на юзера заббикса. Переключил пользователя командой
sudo -u zabbix /bin/bash
либо
su zabbix -c /bin/bash (если бы первая не сработала).
Выполнил скрипт и увидел, что за пользователя zabbix скрипт действительно выполняется очень долго, но не бесконечно - в конце концов он завершался ошибкой selenium.common.exceptions.TimeoutException: Message: Failed to read marionette port.
Погуглил я эту ошибку и нашёл решение:
Выполняем cat /etc/passwd
Находим строку с упоминанием заббикса вида zabbix:x:997:994:Zabbix Monitoring System:/var/lib/zabbix:/sbin/nologin
Из неё берём путь домашней директории заббикса (в данном случае /var/lib/zabbix), пытаемся перейти в неё и видим, что такой директории нет. Надо создать её и директории веб-драйвера Firefox:
mkdir /var/lib/zabbix
mkdir /var/lib/zabbix/.mozilla
mkdir /var/lib/zabbix/.cache
chown -R zabbix:zabbix /var/lib/zabbix
Вот и всё, с этого момента скрипт за юзера zabbix выполняется в терминале быстро и без ошибки, и элемент в заббиксе больше не выдаёт ошибку про таймаут.