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

NRPE: «CHECK_NRPE: Ошибка при получении данных от демона». ошибка в графическом интерфейсе, но проверка работает с терминала, в чем может быть причина?

Я слежу за несколькими серверами Linux с помощью NRPE, и большинство проверок работают. Собственно, единственная проверка, которая не работает, - это check_disk. Запуск пульта check_disk из серверного терминала Nagios:

[root@nagios]# /usr/lib64/nagios/plugins/check_nrpe -H 10.200.X.X -c check_disk -a '-w 20% -c 10% /'
DISK OK - free space: / 271971 MB (97% inode=99%);| /=8321MB;236233;265762;0;295292

Запуск местного check_disk с терминала отслеживаемого сервера:

[root@Monitored ~]# /usr/lib64/nagios/plugins/check_nrpe -H 127.0.0.1 -c check_disk -a '-w 20% -c 10% /'
DISK OK - free space: / 271971 MB (97% inode=99%);| /=8321MB;236233;265762;0;295292

это check_disk команда возвращает ошибку "CHECK_NRPE: Error receiving data from daemon" на каждом сервере, который он проверяет, что наводит меня на мысль, что проблема связана с тем, как написаны служба или команда, поэтому вот они: Команда из /etc/nagios/nrpe.cfg файл:

[root@Monitored ~]# grep disk /etc/nagios/nrpe.cfg 
command[check_local_disk]=sudo /usr/lib64/nagios/plugins/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$

Команда из /etc/nagios/commands.cfg файл:

# 'check_local_disk' command definition
define command{
        command_name    check_local_disk
        command_line    $USER1$/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$
        }

Сервис от services.cfg файл:

define service{
   servicegroups        Basic Functionality
   hostgroup_name       db_hosts,vm_hosts,linux_hosts
   host_name            localhost
   service_description  Check free disk space /
   check_command        check_nrpe!check_local_disk!20%!10%!/
   use                  generic-service
}

Вот определение команды check_nrpe:

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

Вот информация о NRPE от /var/log/messages на наблюдаемом сервере:

Jun 10 12:57:01 virt2 nrpe[755]: INFO: SSL/TLS initialized. All network traffic will be encrypted.
Jun 10 12:57:01 virt2 nrpe[756]: Starting up daemon
Jun 10 12:57:01 virt2 nrpe[756]: Server listening on 0.0.0.0 port 5666.
Jun 10 12:57:01 virt2 nrpe[756]: Server listening on :: port 5666.
Jun 10 12:57:01 virt2 nrpe[756]: Warning: Daemon is configured to accept command arguments from clients!
Jun 10 12:57:01 virt2 nrpe[756]: Listening for connections on port 0
Jun 10 12:57:01 virt2 nrpe[756]: Allowing connections from: 127.0.0.1,10.200.X.X

Вы знаете, как решить эту проблему? заранее спасибо

Данные, которые вы нам показываете, противоречивы.

На nagios, вы показываете, что вызываете проверку на сервере monitored используя check_nrpe следующим образом:

[корень @ nagios] # / usr / lib64 / nagios / plugins / check_nrpe -H 10.200.X.X -c check_disk -a '-w 20% -c 10% /'

но когда ты показываешь нам monitoredс nrpe.cfg файл, проверка определена под другим именем:

команда [check_local_disk] = sudo / usr / lib64 / nagios / plugins / check_disk -w $ ARG1 $ -c $ ARG2 $ -p $ ARG3 $

(Прошу прощения за отсутствие форматирования, но мне нужна была возможность выделять больше, чем моноширинный шрифт). Мне кажется, что порядок параметров тоже неправильный, но я не эксперт по конфигурациям nrpe, которые позволяют передавать аргументы.

Во всяком случае, -c foo аргумент check_nrpe должен соответствовать command[foo] в nrpe.cfg, а это не так. Это может означать только то, что либо то, что вы нам показали, не так, или вы доказываете, что можете вызывать check_nrpe против неправильного сервера.

редактировать: Я думаю, я уже довольно ясно пытался решить эту проблему. Вы говорите, что графический интерфейс неправильно выполняет проверку. ХОРОШО. Итак, вы правы, что обычный следующий шаг - запустить его из командной строки, но очень важно выполнить ту же проверку для одного и того же клиента. Вы показали нам клиента nrpe.cfg, так предполагая, что клиент действительно 10.200.X.X, с сервера покажите нам результаты

[root@nagios]# /usr/lib64/nagios/plugins/check_nrpe -H 10.200.X.X -c check_local_disk -a '-w 20% -c 10% /'

Было бы полезно увидеть check_nrpe запись с сервера commands.cfg файл, просто чтобы убедиться, что все в порядке. Теперь мы будем пытаться делать то, что делает сервер, поэтому, если приведенная выше команда не сработает, мы можем отладить и исправить сбой. Если это удастся, нам придется углубиться немного глубже.