LINUX.ORG.RU
ФорумAdmin

Проблема с check_oracle_health

 ,


0

1

Доброго времени суток! Столкнулся с ошибкой, которую никак не могу решить.

Есть у нагиоса плагин для оракла. Поставил библиотеки, собрал, тестирую - все ок:

[nagios@xyz libexec]$ ./check_oracle_health --connect myserver --user nagios --password XXX --mode connection-time

OK - 0.09 seconds to connect as NAGIOS | connection_time=0.0881;1;5

Добавляю в commands.cfg:

define command{ command_name check_oracle_health

command_line $USER1$/check_oracle_health --connect «$ARG1$» --user nagios --password XXX --mode «$ARG12» }

И добавляю в хост:

define service {

use generic-service,srv-pnp

host_name myserver

service_description Usage tablespace Users

check_command check_oracle_health_free!myserver!connection-time

И в вебе наблюдаю ошибку: CRITICAL - cannot connect to myserver. install_driver(Oracle) failed: Can't locate loadable object for module DBD::Oracle in @INC (@INC contains: /usr/local/nagios/libexec /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at (eval 14) line 3.

Ось - CentOS Linux release 7.3.1611

Nagios - 4.3.1

Check_oracle_health - 3.0.2.1

Версия оракловых библиотек - 12.2 (x84)

[nagios@xyz objects]$ locate Oracle.so

/home/nagios/perl5/lib/perl5/x86_64-linux-thread-multi/auto/DBD/Oracle/Oracle.so

[nagios@xyz ~]$ perl -e 'use DBD::Oracle; print DBD::Oracle::VERSION,«\n»;'

1.74

В чем может быть проблема?


Подозреваю разницу в переменных окружения при запуске check_oracle_health из bash и из-под nagios, может каких переменных не хватает типа ORACLE_HOME или чего-нибудь подобного.

tekuchev ()
Ответ на: комментарий от tekuchev

Нагиос работает с правами nagios. В переменных окружения я задал оракловые переменные и ld_library_path на библиотеки ораклового клиента. Для рута так же они определены. Пробовал добавлять эти значения и в стартовый скрипт нагиоса, но не помогло. Похоже на какой-то баг, который я никак не могу отловить.

Mr13 ()

поиграйся с опцииями
enable_embedded_perl=
use_embedded_perl_implicitly=
в главном конфиге нагиоса.

bl ★★★ ()
Последнее исправление: bl (всего исправлений: 1 )
Ответ на: комментарий от Mr13

баг, который я никак не могу отловить

Can't locate loadable object for module DBD::Oracle in @INC

locate Oracle.so

а что, у вас .so лежит там где perl(@INС) ожидает?

hizel ★★★★★ ()
Ответ на: комментарий от hizel

Инсталлировал библиотеку - perl -e'use CPAN; install «DBD::ORACLE»' Как ее разместить там, где ее ищет нагиос?

Mr13 ()
Ответ на: комментарий от hizel

Сейчас у меня их несколько:

[nagios@xyz var]$ locate Oracle.so

/home/nagios/.cpan/sources/authors/id/P/PY/PYTHIAN/DBD-Oracle-1.74/blib/arch/auto/DBD/Oracle/Oracle.so

/home/nagios/perl5/lib/perl5/x86_64-linux-thread-multi/auto/DBD/Oracle/Oracle.so

/usr/local/lib64/perl5/lib/perl5/x86_64-linux-thread-multi/auto/DBD/Oracle/Oracle.so

Mr13 ()
Ответ на: комментарий от hizel

Нагиос взлетел. Проблема была именно в путях к библиотеке Oracle.so

Mr13 ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.