NRPE работает из командной строки; «Неверные аргументы командной строки» от Nagios

NRPE работает из командной строки; «Неверные аргументы командной строки» от Nagios

Я пытаюсь настроить NRPE с помощью простого примера в качестве первого шага к его развертыванию. Для простоты я запускаю локально и NRPE, и Nagios. NRPE и Nagios, похоже, работают, но использование check_nrpe из Nagios загадочным образом завершается неудачей. Редактировать: я использую версию 4.1.1 Nagios и 2.15 NRPE.

Я думаю, что NRPE работает, потому что я могу запустить check_nrpe вручную:

/s/l/n/nagios_instance ❯❯❯ libexec/check_nrpe -H 127.0.0.1 -p 5667 -c check_total_procs      ⏎ 
PROCS CRITICAL: 536 processes | procs=536;150;200;0;

Я думаю, что Nagios работает (и предоставляет правильные аргументы), потому что я написал эту простую проверку на Python, файл с именем check_hello_world.py, который находится в каталоге libexec:

#!/usr/bin/env python

import sys
print str(sys.argv)
raise SystemExit, 2

Соответствующие строки моей конфигурации nagios выглядят так:

define host {
    use                             linux-server
    host_name                       yourhost
    alias                           My first Apache server
    address                         127.0.0.1
}

define command {
    command_name check_procs_nrpe
    command_line $USER1$/check_hello_world.py –H "$HOSTADDRESS$" -p 5667 -c "check_total_procs"
    #command_line $USER1$/check_nrpe –H "$HOSTADDRESS$" -p 5667 -c "check_total_procs"
}


define service {
    use                             generic-service
    host_name                       yourhost
    service_description             Check using the hello world plugin
    check_command                   check_procs_nrpe
    }

Как вы видите, я определяю команду check_procs_nrpe с помощью одной из двух команд, либо простого скрипта python, либо команды nrpe для проверки процедур, которые работали из командной строки. Когда я использую скрипт python, в течение пары минут я получаю письмо с текстом:

Additional Info:

[/spare/local/nagios/nagios_instance/libexec/check_hello_world.py, –H, 127.0.0.1, -p, 5667, -c, check_total_procs]

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

Additional Info:

Incorrect command line arguments supplied

Я действительно не знаю, куда идти дальше. У меня нет root на этом ящике, и поэтому я не могу легко перенастроить rsyslog, чтобы попытаться получить информацию о журнале. С удовольствием предоставлю дополнительную информацию по запросу. Есть идеи?

решение1

В заключение, проблема оказалась в том, что тире в '-H' на самом деле не было тире. Это было короткое тире. Вы можете довольно ясно увидеть его в тексте выше, если посмотрите. К сожалению, Source Code Pro (шрифт, который я использую в своем терминале, а следовательно, и в vim) на самом деле не различает тире и короткое тире. Я снова открыл вопрос по этому поводу, в то же время я ищу новый шрифт (и добавляю дифференциацию тире в свой список критериев).

Связанный контент