Предупреждение: Код возврата 127 для проверки обслуживания вышел за пределы.Убедитесь, что плагин, который вы пытаетесь запустить, действительно существует - PullRequest
0 голосов
/ 21 сентября 2018

Я пытаюсь использовать плагин phanton-js для Nagios: https://github.com/hggh/phantomjs-nagios

, но, несмотря на то, что я дважды проверил настройки, я получаю "Код возврата 127 вышел за пределы: Плагинможет отсутствовать "

Файл плагина существует в папке плагинов:

# stat /usr/lib64/nagios/plugins/check_http_load_time.rb
  File: `/usr/lib64/nagios/plugins/check_http_load_time.rb'
  Size: 9108            Blocks: 24         IO Block: 4096   regular file
Device: fc01h/64513d    Inode: 275201      Links: 1
Access: (0755/-rwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)

Я могу выполнить его, когда su'd пользователю nagios локально:

-bash-4.1$ whoami
nagios
-bash-4.1$ /usr/lib64/nagios/plugins/phantomjs-nagios/check_http_load_time.rb -u https://google.com -w 2 -c 3
OK: https://google.com load time: 0.43

Вот как это определено в файле checkcommands.cfg:

define command {
        command_name    check_web_page_load_time
        command_line    $USER1$/check_http_load_time.rb -u $ARG1$ -w $ARG2$ -c $ARG3$
        }

, и это определение службы

define service {
  use                   generic-service
  host_name             test_host
  service_description   https://google.com web load time
  check_command         check_web_page_load_time!https://google.com!2!3
  contact_groups        support-emails
}

Я перезапустил nagios и подтвердил, что проверка конфигурации прошла.

Я что-то упускаю из виду?

edit:

Файл плагина находится в 2 папках:

/usr/lib64/nagios/plugins/check_http_load_time.rb

и

/usr/lib64/nagios/plugins/phantomjs-nagios/check_http_load_time.rb

оба файла идентичны, оба могут быть успешно выполнены пользователем nagios, и ни одно местоположение не работает с определением команды.Я попытался вызвать его с полным путем и с переменной $ USR1 $, которая указывает на стандартное местоположение, где расположены все остальные плагины

/usr/lib64/nagios/plugins/

1 Ответ

0 голосов
/ 24 сентября 2018

удалось со временем решить это.Сообщение об ошибке не очень помогло, так как проблема была с переменными окружения пользователя nagios.Оригинальный скрипт имел следующий шебанг:

#!/usr/bin/env ruby

После изменения его на фактическое местоположение двоичного файла ruby ​​скрипт работает:

#!/usr/local/rvm/rubies/ruby-2.5.1/bin/ruby

Все еще удивляюсь, что он работал, когда супользователь Nagios.

...