Плагин Nagios для мониторинга FreeSWITCH

Я пытаюсь настроить Nagios для мониторинга FreeSWITCH, как указано на https://github.com/kjhosein/nagios-freeswitch-plugin .

Я загрузил сценарий с git и выполнил перечисленные шаги.

На удаленном (NRPE) сервере я добавил строку ниже в файл nrpe.cfg

command[check_freeswitch_health]=/usr/lib64/nagios/plugins/check_freeswitch_health.pl $ARG1$

На сервере Nagios, добавленный в файл commands.cfg

define command {
    command_name    check_freeswitch_health
    command_line    $USER1$/check_nrpe -H $HOSTADDRESS$ -c check_freeswitch_health $ARG1$
  }

и в файл services.cfg

define service {
    host_name       freeswitch01
    service_description     FreeSWITCH - Calls Count
    check_command   check_freeswitch_health!-a '-q show-calls-count'!!!!!!!
  }

Но в веб-интерфейсе Nagios я получаю

CHECK_NRPE: Received 0 bytes from daemon. Check the remote server logs for error messages.

На удаленном сервере журналы (/ var / log / syslog), показывающие ниже ошибку

Request contained command arguments!
Client request was invalid, bailing out...

Что мне здесь не хватает? Может ли кто-нибудь помочь мне с правильными настройками?

Спасибо,

Rutu

2
задан 11 January 2016 в 09:38
1 ответ
  1. Убедитесь, что вы можете запустить этот сценарий Perl локально, как пользователь nagios / nrpe.
  2. Убедитесь, что сценарий Perl не зависит от ENV (например, $ PATH). Проверьте, выполнив env -i /usr/lib64/nagios/plugins/check_freeswitch_health.pl ...
  3. Используйте общее определение команды check_nrpe вместо написания check_ {независимо} для каждая другая команда NRPE, которую вы хотите запустить.
  4. Чтобы передать аргументы с помощью -a, вы должны включить аргументы команды в nrpe.cfg, установив dont_blame_nrpe = 1

Например, если ваш check_nrpe команда выглядит так:

define command {
    command_name    check_nrpe
    command_line    $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ -a $ARG2$
}

Тогда ваше определение службы будет:

define service {
    host_name       freeswitch01
    service_description     FreeSWITCH - Calls Count
    check_command   check_nrpe!check_freeswitch_health!-q show-calls-count
}

(Почему у вас есть !!!!!!! в конце вашей команды?)

Или, если единственный вариант, который вы когда-либо передать этому сценарию Perl является -q , вы можете поместить его в определение команды в конфигурации NRPE:

command[check_freeswitch_health]=/usr/lib64/nagios/plugins/check_freeswitch_health.pl -q $ARG1$

Тогда ваша check_command будет просто check_nrpe! check_freeswitch_health! show-calls-count

1
ответ дан 3 December 2019 в 12:42

Теги

Похожие вопросы