Ad Widget

Collapse

powershell + UserParameter = батхерд

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Kocunop
    Junior Member
    • Oct 2019
    • 11

    #1

    powershell + UserParameter = батхерд

    Доброго дня!

    Столкнулся со следующей проблемой:

    Добавил UserParameter, в нем запускается powershell скрипт, который делает простой запрос через psql.

    вывод скрипта: 2017-12-15 11:10:00 (строка) - все хорошо

    Проверяю работу через агента все хорошо:
    zabbix_agentd.exe -c conf\zabbix_agentd.win.conf -t TEST
    TEST [t|2017-12-15 11:10:00]
    Тоже вся хорошо.

    При запуске с машины с zabbix:
    zabbix_get -s 192.168.1.1 -k TEST
    ZBX_NOTSUPPORTED: Timeout while executing a shell script.

    Сам PS скрипт:
    $r = [string] (& "C:\Program Files\PostgreSQL\9.6\bin\psql.exe" -U username -d db_name -t -c "select param from schema.table_name where key = '123' limit 1;" 2>&1)
    Write-Host $r

    Если в скрипте оставить только
    Write-Host 'test string'
    ответ долетает до zabbix.

    ИМХО проблема в запуске внешней тулзы (psql), соседние ps скрипты работают без проблем (читается время изменения файликов)

    DebugLevel=5 в агенте не дает ни какой информации, видно, что прилетел запрос на нужный ключ данных ключ.
    Увеличение таймаута до 30 сек - без эффекта.

    запуск psql через iex - без изменений

    Переписал скрипт на batch
    echo off
    for /f "delims=" %%i in ('"C:\Program Files\PostgreSQL\9.6\bin\psql.exe" -U username -d db_name -t -c "select param from schema.table_name where key = '123' limit 1;"') do (set var=%%i)
    echo %var%
    ровнотот-же результат, агент получает строку, zabbix ругается.


    Нужны идеи, в какую сторону двигаться.







  • Kocunop
    Junior Member
    • Oct 2019
    • 11

    #2
    Решил проблему переписав выборку на питон

    Можно закрывать
    Last edited by Kocunop; 14-10-2019, 12:01.

    Comment

    Working...