Как добавить удаленный 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, чтобы увидеть больше таких ценных статей.