Назад | Перейти на главную страницу

Nagios NRPE не допускает аргументов

Я пытаюсь использовать плагин Nagios NRPE для связи со своими серверами. У меня есть определение команды в /etc/nagios/nrpe_local.cfg использовать это:

command[check_service]=/usr/lib/nagios/plugins/check_service -s $ARG1$

Когда я вручную запускаю команду в своем терминале, она преуспевает:

# /usr/lib/nagios/plugins/check_service -s bind9
OK: Service bind9 is running!

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

# /usr/lib/nagios/plugins/check_nrpe -H 10.32.10.3 -c check_service -a bind9
NRPE: Command 'check_service!bind9' not defined

Другой check_nrpe команды работают, поэтому я не думаю, что проблема в серверном commands.cfg, но в любом случае вот определение:

define command {
    command_name        check_nrpe
    command_line        /usr/lib/nagios/plugins/check_nrpe -H $HOSTADDRESS$ -t 30 -c $ARG1$
}

На сервере проверка будет выглядеть так:

define service {
    use                 local-service
    host_name           dc1,dc2
    service_description BIND Service
    check_command       check_nrpe!check_service!bind9
}

В веб-интерфейсе возвращается КРИТИЧНО: Сервис не работает!, что на самом деле не так.

Как я могу получить check_nrpe разрешить один лишний аргумент? Я пробовал включить dont_blame_nrpe, но и это не позволило ему уйти.

редактировать - При включенной отладке и повторном запуске проверки в моем системном журнале появляется следующее:

Dec 19 09:01:56 dc1 nrpe[5586]: CONN_CHECK_PEER: checking if host is allowed: 10.32.10.12 port 33962
Dec 19 09:01:56 dc1 nrpe[5586]: Connection from 10.32.10.12 port 33962
Dec 19 09:01:56 dc1 nrpe[5586]: is_an_allowed_host (AF_INET): is host >10.32.10.12< an allowed host >10.32.10.12<
Dec 19 09:01:56 dc1 nrpe[5586]: is_an_allowed_host (AF_INET): is host >10.32.10.12< an allowed host >10.32.10.12<
Dec 19 09:01:56 dc1 nrpe[5586]: is_an_allowed_host (AF_INET): host is in allowed host list!
Dec 19 09:01:56 dc1 nrpe[5586]: Host address is in allowed_hosts
Dec 19 09:01:56 dc1 nrpe[5586]: Host 10.32.10.12 is asking for command 'check_service' to be run...
Dec 19 09:01:56 dc1 nrpe[5586]: Running command: /usr/lib/nagios/plugins/check_service -s
Dec 19 09:01:56 dc1 nrpe[5587]: WARNING: my_system() seteuid(0): Operation not permitted
Dec 19 09:01:56 dc1 nrpe[5586]: Command completed with return code 2 and output: CRITICAL: Service  is not running!
Dec 19 09:01:56 dc1 nrpe[5586]: Return Code: 2, Output: CRITICAL: Service  is not running!
Dec 19 09:01:56 dc1 nrpe[5586]: Connection from 10.32.10.12 closed.

Я подтвердил, что Группа в /etc/systemd/system/multi-user.target.wants/nagios-nrpe-server.service соответствует nrpe_group параметр в /etc/nagios/nrpe.cfg. Такой же пользователь существует в /etc/group и /etc/passwd.

Проблема в том, что пакет Debian не устанавливает --enable-command-args при строительстве nagios-nrpe-server пакет, который требуется для использования dont_blame_nrpe.

  1. Убедитесь, что вы перезапустили демон nrpe после включения dont_blame_nrpe
  2. Изменить debug в nrpe.cfg на 1 и перезапустите демон. После этого вы должны получить полезную отладочную информацию в журналах.