Хочу использовать мониторинг через пользовательские параметры . Суть в том чтобы подключиться к MSSQL серверу и сделать запрос , получить ответ ( число) и вывести данные в график, сделать триггер.
К SQL я подключаюсь, настроил связку FreeTDS+ODBC
сделал скрипт get_mssql.sh
#!/bin/sh
DAT=`date -v-7d +"%Y-%m-%d"`
isql server user password <<EOF
select ss.StepTime1, ss.delay1 ...............длинный запрос.......... as ss order by ss.StepTime1
EOF
сделал в конфигурационном файле агента пользовательский параметр
UserParameter=mssql,/usr/local/etc/zabbix4/zabbix/externalscripts/get_mssql.sh | sed -e 's/|//g' -e '1,13d' | sed -e :a -e '$d;N;2,4ba' -e 'P;D' | sed -n '$p' | awk '{print $3}'
Если запускать руками скрипт то он работает, если запустить руками вот эту длинную строку выше, то в результате получим нужное число, т.е. все ок
Элемент данных в самом заббиксе не поддерживается
Value "/usr/local/etc/zabbix4/zabbix/externalscripts/get_mssql.sh: isql: not found" of type "string" is not suitable for value type "Numeric (unsigned)
Сначала думал что проблема в value type "Numeric (unsigned) , но нет , там на выходе целое число , без плавающих точек
Проблема похоже вот тут isql: not found
Если сделать так:
root@aegor:/usr/local/etc/zabbix4 # zabbix_get -s 10.10.3.101 -p 10050 -k "mssql"
/usr/local/etc/zabbix4/zabbix/externalscripts/get_mssql.sh: isql: not found
root@aegor:/usr/local/etc/zabbix4 #
Я догадываюсь что проблема в правах, заббикс стартует от пользователя zabbix , а эти команды стартуют от root
Я дал этому пользователю заббикс все права на этот скрипт get_mssql.sh но что то не помогает
Как решить проблему?
К SQL я подключаюсь, настроил связку FreeTDS+ODBC
сделал скрипт get_mssql.sh
#!/bin/sh
DAT=`date -v-7d +"%Y-%m-%d"`
isql server user password <<EOF
select ss.StepTime1, ss.delay1 ...............длинный запрос.......... as ss order by ss.StepTime1
EOF
сделал в конфигурационном файле агента пользовательский параметр
UserParameter=mssql,/usr/local/etc/zabbix4/zabbix/externalscripts/get_mssql.sh | sed -e 's/|//g' -e '1,13d' | sed -e :a -e '$d;N;2,4ba' -e 'P;D' | sed -n '$p' | awk '{print $3}'
Если запускать руками скрипт то он работает, если запустить руками вот эту длинную строку выше, то в результате получим нужное число, т.е. все ок
Элемент данных в самом заббиксе не поддерживается
Value "/usr/local/etc/zabbix4/zabbix/externalscripts/get_mssql.sh: isql: not found" of type "string" is not suitable for value type "Numeric (unsigned)
Сначала думал что проблема в value type "Numeric (unsigned) , но нет , там на выходе целое число , без плавающих точек
Проблема похоже вот тут isql: not found
Если сделать так:
root@aegor:/usr/local/etc/zabbix4 # zabbix_get -s 10.10.3.101 -p 10050 -k "mssql"
/usr/local/etc/zabbix4/zabbix/externalscripts/get_mssql.sh: isql: not found
root@aegor:/usr/local/etc/zabbix4 #
Я догадываюсь что проблема в правах, заббикс стартует от пользователя zabbix , а эти команды стартуют от root
Я дал этому пользователю заббикс все права на этот скрипт get_mssql.sh но что то не помогает
Как решить проблему?
Comment