Здравствуйте.
Возможно кто-то уже решал подобную проблему..
Есть долго работающий скрипт powershell, который иногда не укладывается даже в 30 секунд. Вызывается он пассивной проверкой агента через UserParameter. В нашем случае проверка "заббикс-траппер" менее удобна.
Для версии агента 1.8.5 решил проблему таким образом:
1. Переделал скрипт на powershell, чтобы он записывал результат в определенный промежуточный файл.
2. Написал скрипт на VBS, выдающий содержимое промежуточного файла,
а затем вызывающий скрипт на powershell
3. В конфиге агента в UserParameter заменил вызов скрипта 1 на скрипт 2
В скрипте VBS вызов скрипта powershell делаю так:
Set Shell = CreateObject( "WScript.Shell" )
Set resExec = Shell.Exec ("powershell -File " & execFile)
Теперь проблемы
При запуске через cmd все по плану - vbs запускает powershell, выводит результат, закрывается, а powershell работает дальше, сколько ему надо.
Если версия агента 1.8.5, тоже все работает.
А вот начиная с версии > 1.8.8 ( промежуточные не тестировал ) powershell принудительно закрывается вместе с vbs.
Причем это ТОЛЬКО, если запускать vbs скрипт через zabbix_agent; локально, через cmd - все работает как задумано.
Может, подкинете идейку-другую
Повторю, делать задание в планировщике, и элемент типа zabbix траппер не хотелось бы, потому что это несколько усложнит настройку мониторинга. Сейчас все просто - развернул агента, натянул на хост шаблон - готово. И это хорошо
Возможно кто-то уже решал подобную проблему..
Есть долго работающий скрипт powershell, который иногда не укладывается даже в 30 секунд. Вызывается он пассивной проверкой агента через UserParameter. В нашем случае проверка "заббикс-траппер" менее удобна.
Для версии агента 1.8.5 решил проблему таким образом:
1. Переделал скрипт на powershell, чтобы он записывал результат в определенный промежуточный файл.
2. Написал скрипт на VBS, выдающий содержимое промежуточного файла,
а затем вызывающий скрипт на powershell
3. В конфиге агента в UserParameter заменил вызов скрипта 1 на скрипт 2
В скрипте VBS вызов скрипта powershell делаю так:
Set Shell = CreateObject( "WScript.Shell" )
Set resExec = Shell.Exec ("powershell -File " & execFile)
Теперь проблемы

При запуске через cmd все по плану - vbs запускает powershell, выводит результат, закрывается, а powershell работает дальше, сколько ему надо.
Если версия агента 1.8.5, тоже все работает.
А вот начиная с версии > 1.8.8 ( промежуточные не тестировал ) powershell принудительно закрывается вместе с vbs.
Причем это ТОЛЬКО, если запускать vbs скрипт через zabbix_agent; локально, через cmd - все работает как задумано.
Может, подкинете идейку-другую

Повторю, делать задание в планировщике, и элемент типа zabbix траппер не хотелось бы, потому что это несколько усложнит настройку мониторинга. Сейчас все просто - развернул агента, натянул на хост шаблон - готово. И это хорошо
Comment