Поиск по сайту:

Как добавить удаленный Linux на сервер Nagios с помощью плагина NRPE


В первой части серии статей о Nagios мы подробно объяснили, как установить и настроить последнюю версию Nagios Core и Nagios Plugins в дистрибутивах на основе RHEL, таких как как CentOS Stream, Rocky Linux, AlmaLinux и Fedora.

В этой статье мы покажем вам, как добавить Удаленный Linux компьютер и его службы к хосту Nagios Core Monitoring с помощью NRPE (Удаленный исполнитель плагинов Nagios).

Мы надеемся, что у вас уже установлен и работает правильно Nagios Core. Если нет, воспользуйтесь следующим руководством по установке, чтобы установить его в систему.

Если вы планируете добавить удаленный хост Windows на сервер мониторинга Nagios, воспользуйтесь следующим руководством:

После установки вы можете продолжить установку агента NRPE на свой хост Remote Linux. Прежде чем двигаться дальше, позвольте нам дать вам краткое описание NRPE.

Что такое НРПЭ?

Плагин NRPE (Nagios Remote Plugin Executor) позволяет отслеживать любые удаленные службы Linux/Unix, сетевые устройства. или такие ресурсы, как Загрузка ЦП, Обмен, Использование памяти, Пользователи в сети и т. д. в локальном или удаленном Linux машины.

В конце концов, эти локальные ресурсы в основном не доступны внешним машинам, поэтому на удаленных машинах необходимо установить и настроить агент NRPE.

Примечание. Для дополнения NRPE необходимо, чтобы на удаленном компьютере с Linux были установлены подключаемые модули Nagios. Без них демон NRPE не будет работать и ничего не будет отслеживать.

Установка плагина NRPE на сервере Nagios и удаленном хосте Linux

Чтобы использовать NRPE, вам потребуется выполнить некоторые дополнительные задачи как на сервере мониторинга Nagios, так и на удаленном хосте Linux, на котором установлен NRPE. на. Мы рассмотрим обе части установки отдельно.

Установка плагинов Nagios и NRPE на удаленном хосте Linux

Используйте приведенные ниже инструкции для установки подключаемых модулей Nagios и демона NRPE на удаленном хосте Linux.

Шаг 1. Установите необходимые зависимости

Нам необходимо установить необходимые библиотеки, такие как gcc, glibc, glibc-common и GD, а также их библиотеки разработки, используя менеджер пакетов yum.

yum install -y gcc glibc glibc-common gd gd-devel make net-snmp openssl-devel tar wget
Шаг 2. Создайте пользователя Nagios

Создайте новую учетную запись пользователя nagios и установите пароль.

useradd nagios
passwd nagios
Шаг 3. Установите плагины Nagios

Создайте каталог для установки плагина nagios и всех его будущих загрузок.

mkdir /root/nagios
cd /root/nagios

Теперь загрузите последний пакет плагинов Nagios с помощью команды wget.

wget https://nagios-plugins.org/download/nagios-plugins-2.3.3.tar.gz
Шаг 4. Извлеките плагины Nagios

Запустите следующую команду tar, чтобы извлечь архив исходного кода.

tar -xvf nagios-plugins-2.3.3.tar.gz

После извлечения в этом каталоге появится одна новая папка.

ls -l

total 2724
drwxr-xr-x. 15 root root    4096 Mar 11  2020 nagios-plugins-2.3.3
-rw-r--r--.  1 root root 2782610 Mar 11  2020 nagios-plugins-2.3.3.tar.gz
Шаг 5. Скомпилируйте и установите плагины Nagios

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

cd nagios-plugins-2.3.3
./configure 
make
make install

Установите права доступа к каталогу плагина с помощью команды chown.

chown nagios.nagios /usr/local/nagios
chown -R nagios.nagios /usr/local/nagios/libexec
Шаг 6. Установка плагина NRPE

Чтобы установить плагин nrpe, сначала загрузите последнюю версию плагина NRPE или используйте следующую команду wget.

cd /root/nagios
wget https://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-4.0.2/nrpe-4.0.2.tar.gz

Распакуйте архив с исходным кодом NRPE.

tar xzf nrpe-4.0.2.tar.gz
cd nrpe-4.0.2

Скомпилируйте и установите дополнение NRPE.

./configure
make all

Примечание. Если при выполнении команды «сделать все» вы получаете следующую ошибку:

In file included from ../include/common.h:34,
                 from ./nrpe.c:38:
/usr/include/openssl/err.h:413:15: note: declared here
  413 | unsigned long ERR_get_error_line_data(const char **file, int *line,
      |               ^~~~~~~~~~~~~~~~~~~~~~~
/usr/bin/ld: /tmp/ccWQBjHb.o: in function `init_ssl':
/root/nagios/nrpe-4.0.2/src/./nrpe.c:474: undefined reference to `get_dh2048'
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:48: nrpe] Error 1

Затем вам необходимо отключить SSL для конфигурации nrpe с помощью флага ./configure --disable-ssl, как показано.

./configure --disable-ssl
make all

Затем установите демон плагина NRPE и примеры файлов конфигурации.

make install-plugin
make install-daemon
make install-config

Установите демон NRPE в systemd в качестве службы.

make install-init
Шаг 7. Настройка плагина NRPE

Теперь откройте файл /usr/local/nagios/etc/nrpe.cfg и добавьте локальный хост и IP-адрес Nagios. Сервер мониторинга.

allowed_hosts=127.0.0.1,192.168.102

Затем включите и перезапустите службу nrpe.

systemctl enable nrpe
systemctl restart nrpe
Шаг 8. Откройте порт NRPE в брандмауэре.

Убедитесь, что Брандмауэр на локальном компьютере разрешает доступ к демону NRPE с удаленных серверов. Для этого выполните следующую команду iptables.

firewall-cmd --zone=public --add-port=5666/tcp
firewall-cmd --zone=public --add-port=5666/tcp --permanent
Шаг 8. Проверьте демон NRPE локально

Выполните следующую команду netstat, чтобы убедиться, что демон NRPE работает правильно в systemd.


# netstat -at | grep nrpe
OR
netstat -na | grep "5666"


tcp        0      0 0.0.0.0:nrpe            0.0.0.0:*               LISTEN     
tcp6       0      0 [::]:nrpe               [::]:*                  LISTEN 

Если вы получили вывод, аналогичный приведенному выше, значит, он работает правильно. Если нет, обязательно проверьте следующие вещи.

  • Обязательно убедитесь, что запись nrpe правильно добавлена в файл /etc/services.
  • allowed_hosts содержит запись для «nagios_ip_address» в файле /usr/local/nagios/etc/nrpe.cfg.
  • Проверьте наличие ошибок в файлах системного журнала для nrpe и устраните их.

Затем убедитесь, что демон NRPE работает правильно, выполнив команду «check_nrpe», которая была установлена ранее в целях тестирования.

/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1

На экране вы увидите следующую строку, показывающую, какая версия NRPE установлена:

NRPE v4.0.2
Шаг 9. Настройте команды NRPE

Установленный файл конфигурации NRPE по умолчанию содержит несколько определений команд, которые будут использоваться для мониторинга этого компьютера. Пример файла конфигурации находится по адресу.

vi /usr/local/nagios/etc/nrpe.cfg

Ниже приведены определения команд по умолчанию, расположенные в нижней части файла конфигурации. На данный момент мы предполагаем, что вы используете эти команды. Вы можете проверить их, используя следующие команды.

/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 -c check_users

USERS OK - 1 users currently logged in |users=1;5;10;0
/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 -c check_load

OK - load average: 3.90, 4.37, 3.94|load1=3.900;15.000;30.000;0; load5=4.370;10.000;25.000;0; load15=3.940;5.000;20.000;0;
/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 -c check_hda1

DISK OK - free space: /boot 154 MB (84% inode=99%);| /boot=29MB;154;173;0;193
/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 -c check_total_procs

PROCS CRITICAL: 297 processes
/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 -c check_zombie_procs

PROCS OK: 0 processes with STATE = Z

Вы можете редактировать и добавлять новые определения команд, редактируя файл конфигурации NRPE. Наконец, вы успешно установили и настроили агент NRPE на удаленном хосте Linux.

Теперь пришло время установить компонент NRPE и добавить некоторые службы на ваш сервер мониторинга Nagios

Установка NRPE на сервере мониторинга Nagios

Теперь войдите на свой сервер мониторинга Nagios. Здесь вам нужно будет сделать следующие вещи:

  • Установите плагин check_nrpe.
  • Создайте определение команды Nagios с помощью плагина check_nrpe.
  • Создайте хост Nagios и добавьте определения служб для мониторинга удаленного хоста Linux.
Шаг 1. Установите плагин NRPE в Nagios

Перейдите в каталог загрузки nagios и загрузите последнюю версию плагина NRPE или используйте следующую команду wget.

cd /root/nagios
wget https://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-4.0.2/nrpe-4.0.2.tar.gz

Распакуйте архив с исходным кодом NRPE.

tar xzf nrpe-4.0.2.tar.gz
cd nrpe-4.0.2

Скомпилируйте и установите дополнение NRPE.

./configure
make all
make install-plugin
make install-daemon
make install-init
Шаг 2. Удаленная проверка демона NRPE

Убедитесь, что плагин check_nrpe может взаимодействовать с демоном NRPE на удаленном хосте Linux. Добавьте IP-адрес в приведенную ниже команду с IP-адресом вашего Удаленного Linux хоста.

/usr/local/nagios/libexec/check_nrpe -H <remote_linux_ip_address>

Вы получите строку, показывающую, какая версия NRPE установлена на удаленном хосте, например:

NRPE v4.0.2

Если вы получили сообщение об ошибке тайм-аута плагина, проверьте следующее.

  • Убедитесь, что ваш брандмауэр не блокирует связь между удаленным хостом и хостом мониторинга.
  • Убедитесь, что демон NRPE правильно установлен в systemd.
  • Убедитесь, что правила брандмауэра удаленного хоста Linux блокируют сервер мониторинга от связи с демоном NRPE.

Добавление удаленного хоста Linux на сервер мониторинга Nagios

Чтобы добавить удаленный хост, вам необходимо создать два новых файла «hosts.cfg» и «services.cfg» в папке «/usr/local/nagios/». и т. д./».

Шаг 1. Создание файла хоста и служб Nagios
cd /usr/local/nagios/etc/
touch hosts.cfg
touch services.cfg

Теперь добавьте эти два файла в основной файл конфигурации Nagios. Откройте файл nagios.cfg в любом редакторе.

vi /usr/local/nagios/etc/nagios.cfg

Теперь добавьте два вновь созданных файла, как показано ниже.

You can specify individual object config files as shown below:
cfg_file=/usr/local/nagios/etc/hosts.cfg
cfg_file=/usr/local/nagios/etc/services.cfg
Шаг 2. Настройка хоста Nagios и файла служб

Теперь откройте файл hosts.cfg и добавьте имя шаблона хоста по умолчанию и определите удаленные хосты, как показано ниже. Обязательно замените имя_хоста, псевдоним и адрес на данные удаленного хост-сервера.

vi /usr/local/nagios/etc/hosts.cfg
## Default Linux Host Template ##
define host{
name                            linux-box               ; Name of this template
use                             generic-host            ; Inherit default values
check_period                    24x7        
check_interval                  5       
retry_interval                  1       
max_check_attempts              10      
check_command                   check-host-alive
notification_period             24x7    
notification_interval           30      
notification_options            d,r     
contact_groups                  admins  
register                        0                       ; DONT REGISTER THIS - ITS A TEMPLATE
}

## Default
define host{
use                             linux-box               ; Inherit default values from a template
host_name                       tecmint		        ; The name we're giving to this server
alias                           CentOS 6                ; A longer name for the server
address                         5.175.142.66            ; IP address of Remote Linux host
}

Затем откройте файл services.cfg и добавьте следующие службы, которые нужно отслеживать.

vi /usr/local/nagios/etc/services.cfg
define service{
        use                     generic-service
        host_name               tecmint
        service_description     CPU Load
        check_command           check_nrpe!check_load
        }

define service{
        use                     generic-service
        host_name               tecmint
        service_description     Total Processes
        check_command           check_nrpe!check_total_procs
        }

define service{
        use                     generic-service
        host_name               tecmint
        service_description     Current Users
        check_command           check_nrpe!check_users
        }

define service{
        use                     generic-service
        host_name               tecmint
        service_description     SSH Monitoring
        check_command           check_nrpe!check_ssh
        }

define service{
        use                     generic-service
        host_name               tecmint
        service_description     FTP Monitoring
        check_command           check_nrpe!check_ftp
        }
Шаг 3. Настройка определения команды NRPE

Теперь определение команды NRPE необходимо создать в файле commands.cfg.

vi /usr/local/nagios/etc/objects/commands.cfg

Добавьте следующее определение команды NRPE в конец файла.

###############################################################################
NRPE CHECK COMMAND
#
Command to use NRPE to check remote host systems
###############################################################################

define command{
        command_name check_nrpe
        command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
        }

Наконец, проверьте файлы конфигурации Nagios на наличие ошибок.

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Total Warnings: 0
Total Errors:   0

Наконец, перезапустите Nagios, чтобы применить последние изменения конфигурации:

systemctl restart nagios
Шаг 4. Мониторинг удаленного Linux в Nagios

Теперь перейдите в Веб-интерфейс Nagios Monitoring по адресу «http://IP-адрес вашего сервера/nagios» или «http://FQDN/nagios». » и укажите имя пользователя «nagiosadmin» и пароль. Убедитесь, что Удаленный хост Linux добавлен и отслеживается.

Заключение

Вот и все! а сейчас в моей следующей статье я покажу вам, как добавить хост Windows к серверу мониторинга Nagios. Если у вас возникли трудности при добавлении удаленного хоста в Nagios.

Пожалуйста, оставляйте свои вопросы или проблемы в разделе комментариев, а до тех пор следите за обновлениями на linux-console.net, чтобы увидеть больше таких ценных статей.