Мониторим unix машины с помощью NRPE | Nagios

Для мониторинга unix машин можно использовать snmp, NRPE и ssh. NRPE расшифровывается как Nagios Remote Plugin Executor. Соответвенно модули check_snmp, check_nrpe, check_by_ssh. SNMP плох тем что если в MIB дереве нет нужной ветки – получаем затруднения. Два последних – позволяют выполнять проверки по сути на стороне проверяемой машины. NRPE имеет преимущество в том что позволяет отключить ssh и увеличить производительность.


По сути дублирую инструкции из инета, но с некоторыми добавлениями, без них нередко можно получить ошибки:

CHECK_NRPE: Error - Could not complete SSL handshake.

CHECK_NRPE: Error receiving data from daemon.

Итак, я всё это делал на на CentOS.

На той машине, которую хотим мониторить, ставим openssl-devel, модуль NRPE и xinetd (последний нужен для того, чтобы NRPE слушал порт):

#yum install openssl-devel xinetd

Далее идём на страницу плагинов nagios:

http://www.nagios.org/download/addons/

Качаем NRPE:

#cd /home
#wget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.12.tar.gz

Распаковываем и запускаем configure:

#./configure

Если на машине нет компилятора (команда /.configure ругается на то что не может найти компилятор) – ставим у примеру gcc:

#yum install gcc

Если у нас много проверяемых серверов и мы не хотим использовать ssl – во время выполнения ./configure добавляем опцию –disable-ssl

Добавляем пользователя и группу:

#groupadd nagios
#useradd nagios -d /home/nagios -g nagios -m

Ставим сам модуль, плагин, демон и конфиг для xinetd:

#make all 
#make install-plugin
#make install-daemon
#make install-xinetd 
#make install-daemon-config

Задаем права:

#chown nagios:nagios -R /usr/local/nagios
#chown -R nagios:nagios /usr/local/nagios/libexec

Правим файл /etc/xinetd.d/nrpe:

only_from = 127.0.0.1 10.0.0.1 10.0.0.10

Айпишники с которых можно обращаться. Через пробел!

Далее правим /etc/services. Добавляем:

nrpe 5666/tcp # NRPE

На фаерволле открываем порт 5666.

Перезапускаем xinetd:

service xinetd restart

Смотрим всё ли ок:

#netstat -at |grep nrpe

Должны получить такое:

tcp 0 0 *:nrpe *.* LISTEN

И наконец чекаем:

#/usr/local/nagios/libexec/check_nrpe -H localhost

В ответ должны получить:

NRPE v2.12

Далее идём на машину с nagios и ставим NRPE (поскольку в дефолтную конфигурацию он не входит) всё аналогичным образом кроме добавления пользователей, задания прав и установки демона:

#./configure --with-nagios-user=nagios --with-nagios-group=nagios
#make all 
#make install-plugin

Далее чекаем удалённую машину:

#/usr/local/nagios/libexec/check_nrpe -H 10.0.0.1

Если мы работаем без ssl (а он включен по дефолту) – добавляем -n

#/usr/local/nagios/libexec/check_nrpe -H 10.0.0.1 -n