Выполнение внешних скриптов

tars

New member
Сообщения
18
#1
День добрый!
Может кто-нибудь сталкивался с проблемой выполнения на АРМ с AL SE 1.6 с невыполнением внешних скриптов?
Суть проблемы:
Сервер с ALD. На нем развернут Zabbix Server.
При появлении триггера должно выполнится действие, а именно пользовательский скрипт на стороне АРМ.
Журнал заббикса рапортует о том, что скрипт выполнен. По факту нет.
Не выполняется та часть скрипта, которая не запускает исполняемый файл в системе.
Бит исполнения разрешен.
Какие есть варианты?
 
Последнее редактирование:

Montfer

New member
Сообщения
2 364
#4
еще идея: выполнить скрипт локально от имени пользователя, от которого запускает забикс, и посмотреть, что напишет в консоли
 

tars

New member
Сообщения
18
#5
еще идея: выполнить скрипт локально от имени пользователя, от которого запускает забикс, и посмотреть, что напишет в консоли
да, эта мысль тоже было опробована. Локальный запуск скрипта дает нужный результат, а вот запуск заббиксом увы. Так и не показывает уведомление.
Техподдержка предложила явным образом задать номер дисплея для вывода уведомления через export DISPLAY. Тоже результата нет.
Причем скрипт должен показывать уведомление на той же станции, где и развернута система мониторинга.
Думаю как обыграть ситуацию через UserParameter.
 

oko

New member
Сообщения
1 257
#6
to tars
Вы скрипт исполняете, созданный через сам Zabbix, или просто дергаете файл, размещенный в каком-то каталоге на удаленном АРМ через zabbix-agent?
Если второе, то модуль экстрасенсорики подсказывает, что у Zabbix-пользователя, из-под которого работает agent, может все-таки не хватать прав на доступ к оному файлу. Попробуйте интереса ради выполнить его в консоли превентивно: su -c '/путь-к-скрипту.sh' уч.запись-zabbix. Или внутри скрипта дергать нужный бинарь от имени другой уч.записи через su --...
Если дело в правах, то кроме chmod имеет смысл поиграть с getfacl и setfacl...
 

tars

New member
Сообщения
18
#7
to tars
Вы скрипт исполняете, созданный через сам Zabbix, или просто дергаете файл, размещенный в каком-то каталоге на удаленном АРМ через zabbix-agent?
Если второе, то модуль экстрасенсорики подсказывает, что у Zabbix-пользователя, из-под которого работает agent, может все-таки не хватать прав на доступ к оному файлу. Попробуйте интереса ради выполнить его в консоли превентивно: su -c '/путь-к-скрипту.sh' уч.запись-zabbix. Или внутри скрипта дергать нужный бинарь от имени другой уч.записи через su --...
Если дело в правах, то кроме chmod имеет смысл поиграть с getfacl и setfacl...
Спасибо за вариант, но...
...ACL в первую очередь был опробован. Результат тот же.
Скрипт написал сам, и подсунул в соответствующую директорию заббикса, указанную в качестве хранения пользовательских скриптов оповещения.
Скрипт прекрасно работал из терминала под пользователем заббикса.

Все оказалось интереснее. Я к сожалению еще молодой пользователь линукса. Изнутри его познаю в процессе необходимости.
В процессе недельных мытарств выяснилось, что к X-серверу был закрыт доступ.
Т.е. скрипт выполнялся, даже Display явным образом был определен, но из-за отсутствия доступа к Х-серверу уведомления не появлялись.
Надо разрешить подключаться к Xorg суперпользователю.
Для этого необходимо выполнить команду
Bash:
xhost +SI:localuser:root
Правда доступ предоставляется на текущую сессию, поэтому я его прям в скрипте нотификаций прописал.
Уведомления посыпались :geek:
Всем спасибо за помощь!