2007/05/11

NRPE - мониторинг удаленных (недоступных извне) серверов средствами Nagios

NRPE - модуль для системы мониторинга Nagios, позволяющий запускать plugin'ы на удаленных серверах. Основная задача данного модуля - получить информацию о локальных данных удаленных серверов (check_load, check_users). Но с таким же успехом его можно использовать для мониторинга недоступных серверов, например, находящихся в локальной сети и не имеющих внешних адресов. Для этого достаточно установить на промежуточном сервере (195.43.68.11), имеющим доступ к локальной сети (192.168.1.0), nrpe-службу и на сервере мониторинга (195.43.68.2) установить nrpe-plugin.
Все описанные ниже действия были проделанны на серверах с Linux Debian 4.0 (Etch).

1. На стороне remote-сервера установить nrpe-сервис и базовый набор nagios-plugin'ов
# apt-get install nagios-nrpe-server nagios-plugins-basic
...
Setting up nagios-nrpe-server (2.5.1-3) ...
Starting nagios-nrpe: nagios-nrpe.

# netstat -an | grep 5666
tcp 0 0 0.0.0.0:5666 0.0.0.0:* LISTEN
2. Изменить конфигурационный файл /etc/nagios/nrpe.cfg и перезапустить сервис с новыми параметрами
allowed_hosts=127.0.0.1,195.43.68.2
# разрешить использование аргументов при выхове plugin'ов
dont_blame_nrpe=1
# пример описания plugin'а
command[check_ftp]=/usr/lib/nagios/plugins/check_ftp -H $ARG1$

# /etc/init.d/nagios-nrpe-server restart
Stopping nagios-nrpe: nagios-nrpe.
Starting nagios-nrpe: nagios-nrpe.

3. На стороне мониторинг-сервера установить nrpe-plugin, протестировать его функциональность и добавить описания требуемых для мониторинга локальных сервисов. В приведенном ниже примере используется plugin check_ftp, для проверки работоспособности ftp-сервиса на локальном сервере 192.168.1.111.
# apt-get install nagios-nrpe-plugin
...
Setting up nagios-nrpe-plugin (2.5.1-3) ...

# /usr/lib/nagios/plugins/check_nrpe -H
195.43.68.11
NRPE v2.5.1
# /usr/lib/nagios/plugins/check_nrpe -H 195.43.68.11 -c check_users
USERS OK - 1 users currently logged in |users=1;5;10;0
# /usr/lib/nagios/plugins/check_nrpe -H 195.43.68.11 -c check_load
OK - load average: 0.21, 0.16, 0.11|load1=0.210;15.000;30.000;0; load5=0.160;10.000;25.000;0; load15=0.110;5.000;20.000;0;
# /usr/lib/nagios/plugins/check_nrpe -H 195.43.68.11 -c check_total_procs
PROCS OK: 60 processes
# /usr/lib/nagios/plugins/check_nrpe -H 195.43.68.11 -c check_zombie_procs
PROCS OK: 0 processes with STATE = Z
# /usr/lib/nagios/plugins/check_nrpe -H 195.43.64.11 -c check_ftp -a 192.168.1.111
FTP OK - 0.024 second response time on port 21 [220 saule FTP server ready.]|time=0.024221s;0.000000;0.000000;0.000000;10.000000
Пример описания данного сервиса в конфигурации Nagios:
define service{
use generic-service
host_name remote
service_description NRPE_FTP
check_command check_nrpe!check_ftp!192.168.1.111
Ссылки:
  1. NRPE Documentation

6 comments:

aspel said...

Спасибо, стать помогла.

Константин said...

Хорошая статья
Здесь можно почитать про мониторинг оракла http://berghowto.info/viewtopic.php?f=67&t=82

Anonymous said...

Вредная статья. Зачем dont_blame_nrpe=1?

Roman Sozinov said...

to anonymous:
rtfm :)
"This option determines whether or not the NRPE daemon will allow clients to specify arguments to commands that are executed"

LinJan said...

Благодарю сердечно.

Константин said...

Есть немного интересной информации о нагиосе тут
http://berghowto.info/viewforum.php?f=67