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

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, чтобы попытаться получить информацию журнала. Мы рады предоставить дополнительную информацию по запросу. Любые идеи?

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