Сделал Global-скрипт для переключения IP-адреса между серверами. Скрипт работает на zabbix-сервере.
При выполнении скрипта из веб интерфейса (щелчек на хосте в списке проблем и выбор скрипта) скрипт выполняется и IP-адрес переключается, т.е. скрипт прописан правильно и из окружения zabbix-сервера работает.
При выполнении триггера из Actions при срабатывании триггера - скрипт вроде как запускается на выполнение, но не выполняется.
Время выполнения скрипта - около 40 секунд. В зависимости от обстоятельств может получаться дольше (в пределах минуты).
Судя по логам скрипт отваливается практически сразу:
15724:20140501:013453.209 End substitute_simple_macros() data:'/usr/bin/sudo /opt/private/tools/failover-ip-fix 1.2.3.4'
15724:20140501:013453.209 In zbx_execute_script()
15724:20140501:013453.209 In zbx_popen() command:'/usr/bin/sudo /opt/private/tools/failover-ip-fix 1.2.3.4'
15724:20140501:013453.209 End of zbx_popen():6
15724:20140501:013453.209 In zbx_waitpid()
15731:20140501:013453.209 zbx_popen(): executing script
15724:20140501:013453.219 zbx_waitpid() exited, status:141
15724:20140501:013453.219 End of zbx_waitpid():15731
15724:20140501:013453.219 End of zbx_execute_script():SUCCEED
15724:20140501:013453.219 End of zbx_execute_script():SUCCEED
Я подозреваю только прибивание скрипта по таймауту. Но запрос в API провайдера отправляется (просто не успеваю дождаться ответа) и по идее переключение должно происходить.
В настройке единственный параметр таймайта внешних скриптов поставил в максимальное значение - 30.
Как еще можно заставить скрипт работать?
При выполнении скрипта из веб интерфейса (щелчек на хосте в списке проблем и выбор скрипта) скрипт выполняется и IP-адрес переключается, т.е. скрипт прописан правильно и из окружения zabbix-сервера работает.
При выполнении триггера из Actions при срабатывании триггера - скрипт вроде как запускается на выполнение, но не выполняется.
Время выполнения скрипта - около 40 секунд. В зависимости от обстоятельств может получаться дольше (в пределах минуты).
Судя по логам скрипт отваливается практически сразу:
15724:20140501:013453.209 End substitute_simple_macros() data:'/usr/bin/sudo /opt/private/tools/failover-ip-fix 1.2.3.4'
15724:20140501:013453.209 In zbx_execute_script()
15724:20140501:013453.209 In zbx_popen() command:'/usr/bin/sudo /opt/private/tools/failover-ip-fix 1.2.3.4'
15724:20140501:013453.209 End of zbx_popen():6
15724:20140501:013453.209 In zbx_waitpid()
15731:20140501:013453.209 zbx_popen(): executing script
15724:20140501:013453.219 zbx_waitpid() exited, status:141
15724:20140501:013453.219 End of zbx_waitpid():15731
15724:20140501:013453.219 End of zbx_execute_script():SUCCEED
15724:20140501:013453.219 End of zbx_execute_script():SUCCEED
Я подозреваю только прибивание скрипта по таймауту. Но запрос в API провайдера отправляется (просто не успеваю дождаться ответа) и по идее переключение должно происходить.
В настройке единственный параметр таймайта внешних скриптов поставил в максимальное значение - 30.
Как еще можно заставить скрипт работать?
Comment